App Ojol Lokal — Food Delivery 4 Role
Platform pesan-antar makanan ala GoFood/GrabFood yang menggabungkan empat peran — Pelanggan, Driver, Merchant, dan Admin — dalam satu codebase Flutter (Android & iOS). Backend Firebase dengan 17 Cloud Functions production menangani alur order end-to-end: dari browse merchant, checkout dengan map picker, auto-broadcast ke driver terdekat, tracking real-time, sampai payout otomatis ke merchant & driver. Dilengkapi defenses skala komersial — transaction atomic, security rules berlapis, dan dispute resolution.
Kunjungi Website- Platform
- Android · iOS
- Tahun
- 2026
- Industri
- Food Delivery / On-Demand
- Peran
- Full-cycle: arsitektur, app Flutter 4 role, backend Firebase & Cloud Functions
Tampilan aplikasi
Klik gambar untuk memperbesar — geser kiri/kanan untuk berpindah.
Fitur utama
4 role dalam 1 APK
Pelanggan, Driver, Merchant, dan Admin berbagi satu aplikasi dengan routing type-safe + role guard (GoRouter).
Checkout dengan map picker
Auto-detect lokasi GPS atau pin manual di Google Maps, address book tersimpan, dan catatan untuk driver.
Tracking driver real-time
Marker live driver di peta sejak accept (ke toko) hingga sampai ke pelanggan, lengkap dengan ETA estimasi tiba.
Auto-broadcast ke driver terdekat
Order siap diambil otomatis disebar ke 8 driver terdekat via FCM; re-broadcast radius 15 km bila >2 menit belum diambil.
Background location driver
Foreground service Android + iOS background mode menjaga posisi driver tetap terlacak walau app di-background.
Pembayaran fleksibel
Saldo dompet, transfer, QRIS, dan e-wallet via Midtrans/Xendit — tinggal switch gateway lewat .env.
Payout & komisi otomatis
(Subtotal − komisi) masuk saldo merchant dan ongkir masuk saldo driver saat delivered — idempotent, anti double-credit.
Panel admin lengkap
Approve merchant & driver, set komisi/ongkir, kelola voucher & banner, approve withdraw, dispute resolution, dan laporan keuangan.
Sorotan teknis
Bagian canggih di balik layar yang membuat sistem ini bekerja mulus.
- Race-protected accept: Firestore transaction mencegah dua driver merebut order yang sama, dengan validasi status suspend real-time.
- Tarif ongkir distance-based: jarak Haversine merchant → pelanggan dengan base fee, per-km, dan min/max yang konfigurable admin.
- Webhook Midtrans/Xendit idempotent + amount validation, dengan fallback polling bila webhook miss.
- Order timeout sweeper: scheduled Cloud Function tiap 5 menit auto-cancel order nyangkut + refund saldo & quota voucher otomatis.
- Security rules field-level: user tidak bisa mengubah balance/role sendiri, driver tidak bisa unsuspend dirinya.
- 17 Cloud Functions production (broadcast, payment, payout, dispute, sweeper) dengan dokumentasi handover untuk operator non-teknis.
Tech stack
Mau aplikasi seperti ini untuk bisnismu?
Kami sudah pernah membangun sistem seperti App Ojol Lokal dari nol sampai dipakai. Ceritakan kebutuhanmu — konsultasi awal gratis, tanpa komitmen.

