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
Accept
Started
Arrived and Depart Origin
Loading
Loaded
Arrive and Depart Destination
Unloading
Sign Signature
Capture photo for proof
Completed
Role
Contributions
Convert design into codebase.
Responsible for the overall implementation of both FE and BE.
Worked closely with the QA team and CTO.
Responsible for maintaining the app. Bug fixing, enhancement and improvement.