
- IOS and Android support
- Fluid interactive animations
- Vibrant dark and light themes
- Firebase powered secure auth
- FCM powered Scheduled and custom push notifications
- interactive maps to find waste centres
- Detailed charts, videos, heatmaps, pictures to educate users
- Custom avatars and competitive leaderboards
- Custom API and caching techniques implemented for faster retrieval of data
| Android(v1.2.0) | IOS(alpha build) |
|---|---|
Frontend:
- React Native, Expo
- React Navigation, React Query, Tanstack Query
- Shopify Skia, Paper, Modal
- Lottie, Reanimated, SVG
- Maps, WebView
- Victory Native, Gesture Handler
- Firebase, Firestore
Backend:
- Firebase
Additional Libraries:
- Toast: @backpackapp-io/react-native-toast
- Collapsible View: @eliav2/react-native-collapsible-view
- Bottom Sheet: @gorhom/bottom-sheet
- Async Storage: @react-native-async-storage/async-storage
- Google Sign-In: @react-native-google-signin/google-signin
- Masked View: @react-native-masked-view/masked-view
- HTTP Requests: axios
- Color: color
- Authentication Session: expo-auth-session
- Camera: expo-camera
- Location: expo-location
- Notifications: expo-notifications
- File System: expo-asset, expo-crypto, expo-file-system
- Fonts: expo-font
- Device Info: expo-device
- Application Insights: expo-insights
- Constants: expo-constants
- Splash Screen: expo-splash-screen
- System UI: expo-system-ui
- Updates: expo-updates
- Web Browser: expo-web-browser
- Dev Client: expo-dev-client
-
Download APK from releases tab
-
Click on install anyway
-
Allow all permissions
Clone the project
git clone https://github.com/Megahedron69/EcoSorterGo to the project directory
cd my-projectInstall dependencies
npm installStart the server
npx expo startChoose android /ios/expo go from terminal
| Light Theme | Hex |
|---|---|
| Primary | |
| Secondary | |
| Tertiary | |
| Surface |
| Dark Theme | Hex |
|---|---|
| Primary | |
| Secondary | |
| Tertiary | |
| Surface |
GET https://mocki.io/v1/| Parameter | Type | Value |
|---|---|---|
instance_id |
string |
Required. e7c35e30-4554-4562-935c-628cd7e8eac6 |
To run this project, you will need to add the following environment variables to your .env file
#from firebase
EXPO_PUBLIC_apiKey
EXPO_PUBLIC_authDomain
EXPO_PUBLIC_projectId
EXPO_PUBLIC_storageBucket
EXPO_PUBLIC_messagingSenderId
EXPO_PUBLIC_appId
EXPO_PUBLIC_measurementId
#maps key from google cloud
EXPO_PUBLIC_mapi
- Repetitive IntroScreen: Everytime app opens the skip intro animation does not work
- Input field validation causes app crash: Auth input fields validation works in emulator but validation causes app crash in build
- Google auth not working
- Notification delay: App Notifications set at 2min timer get accumulated come at once
- Maps may not work due to API restrictions set by me. Contact for demo
- Scanner works at reduced FPS
- Status bar bug: Expo status bar gets bugged at some places
- Charts screen info array bugged: Radar chart works at reduced fps due to using old react native victory charts and activity rings data misplaced due to wrong method used for data retrieval from firestore
- Bugged settings form validation
- Dark mode toggle does not work but theme changes work by changing device theme
Contributions are always welcome!
Please adhere to this project's code of conduct.