Rider Tracker App is a smart and lightweight React Native application built to monitor delivery riders in real time. It ensures continuous location tracking, even in the background, while also monitoring the rider's battery level and device health—ensuring safety, reliability, and operational efficiency.
Backed by Firebase Phone Auth, Expo Location APIs, and a custom Flask backend, the app provides seamless tracking with automatic data sync every 15 seconds.
📍 Real-Time Location Tracking
Continuously tracks rider location in both foreground and background using Expo Location services. Sends updates to the backend every 15 seconds for accurate real-time mapping.
🔋 Battery Level Monitoring
Reports the rider’s current battery level with every location update. Helps backend systems pre-empt low battery or shutdown situations.
📞 Firebase Phone Authentication
Riders authenticate securely via OTP-based phone verification using Firebase. Phone numbers are sent to the backend to fetch and bind a unique riderId
.
📱 Device Info Sync
Collects and syncs key device information such as brand, model, OS version, and device ID at the start of the session—ensuring backend is aware of hardware context.
🔄 Background Task Support
Location updates continue even when the app is not in the foreground via Expo’s TaskManager
, ensuring uninterrupted tracking.
🔐 Secure Data Flow
Uses secure headers and structured API calls to transmit sensitive data like location, battery, and identity.
expo-location
, expo-task-manager
, react-native-device-info
/validate-phone
, /update-device
, /update-tracking
riderId
, phone)/validate-phone
) to get a unique riderId
.