Delivery management mobile application for tracking delivery progress, featuring background location tracking, offline data sync, geofencing, and proof-of-delivery workflows.
Background Location with Sync: Data is saved on the phone when there's no internet, even if the app is closed or in the background, and automatically bulk-sent to the server once connectivity is restored. Utilized @mauron85/react-native-background-geolocation for circular region monitoring and stop detection to save battery. Used for tracking driver routes, calculating distance traveled, and maintaining route history.
Push notifications implemented with firebase-admin, alerting users when job orders are created, cancelled, or rejected from the web.
JWT for authentication.
AsyncStorage to save user info and session data.
State management handled by Redux with Redux Saga.
Backend deployed on IIS7 using iisnode.
Application available on both Apple Store and Google Play.
Features
Selection of server during login
Internalization (i18n) - Indonesia and English
Dashboard - Status, ratings, total jobs.
Delivery Orders - On-going job orders
Delivery History - Timestamps, Completed, rejected, cancelled.
Signature - react-native-signature-canvas
Scan QR code - expo-barcode-scanner
Capture photo for proof of bills
View Signature
View proof of bills photos - job order transactions
Geofencing - detect if driver enter/exit the destination and origin and save the timestamp to database
When the job order is created to driver and driver accept it. They necessary need to complete the process