DMS: Driver Management System & Android Driver App
DMS, a Laravel platform and Flutter Android driver app I designed and developed to run daily logistics operations, covering drivers, fleet, payroll, attendance and communication.
This is a public overview of the system. Original screens, operational data, and live system access are not shared here.
The problem
A last-mile logistics operation runs a large driver workforce across several delivery platforms. Assignments, vehicles, attendance, performance-based pay, deductions and communication were spread across spreadsheets and messaging groups, which made payroll slow and errors hard to trace.
My role
I designed and developed DMS: the Laravel web platform, its REST API, and the Flutter Android app drivers use every day. I owned architecture, database design, backend, admin interface, mobile app, server setup and releases.
Web platform
- Drivers and HR: profiles, documents, contracts, bank accounts, accommodation and visa-transfer cases.
- Fleet: vehicle assignment history, inspections with photo evidence, maintenance work orders and vendors, leasing contracts, odometer and damage tracking.
- Payroll engine: configurable rule profiles, tiers and target scenarios per platform, payroll batches, salary slips with an audit trail, and deduction rules including accident deductions.
- Operations: daily coordinator and supervisor report imports, revenue invoice reconciliation, fuel and recharge requests with approval flows, and finance requests.
- Attendance and compliance: shifts, geofenced check-in, heartbeat monitoring, anomaly detection and uniform compliance checks.
- Franchise management for vehicles, drivers and platform IDs.
- Security: role and module permissions, plus a complete audit and access log with field-level change history and integrity checks.
Android driver app
- Secure login and driver profile, with Arabic and English interfaces.
- Shift check-in with face verification and liveness (anti-spoofing) checks, served by a dedicated Python face-verification service.
- Background location tracking through an Android foreground service, with server-side recovery rules.
- Salary slips and payroll details, orders, and fuel and recharge requests.
- In-app chat and voice calls (LiveKit, with native incoming-call screens), plus push notifications through Firebase Cloud Messaging.
- Over-the-air updates with Shorebird and crash reporting with Firebase Crashlytics.
Technology
- Laravel 11, Livewire 3, Laravel Sanctum API, MySQL, Redis
- Flutter/Dart Android app: Firebase, LiveKit, geolocation, background services
- Python FastAPI face-verification service with DeepFace, running in Docker
- PDF generation (DomPDF, mPDF, FPDI), Pest and Dusk tests, scheduled jobs on a Linux VPS
Scale
Over 180 data models and 360 database migrations, more than 110 automated test files, and around 50 scheduled and console jobs, delivered in about 900 commits over one year.