Jostar.id
Portfolio
Mobile App · 2026

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.

Pelanggan — beranda: promo, kategori & merchant terdekat
Pelanggan — keranjang multi-item per toko
Pelanggan — checkout: alamat, voucher & ongkir
Pelanggan — status order 6 tahap + ETA real-time
Pelanggan — live tracking driver di peta
Pelanggan — chat real-time dengan driver
Pelanggan — rating driver & merchant
Pelanggan — address book & map picker
Driver — dashboard: toggle online & order terdekat
Driver — detail order: pickup, delivery & navigasi
Driver — saldo, riwayat pendapatan & withdraw
Driver — verifikasi KTP / SIM / STNK
Merchant — dashboard: buka/tutup & order masuk
Merchant — kelola menu & stok per item
Admin — dashboard: GMV, komisi & payout
Admin — verifikasi & approval driver

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

FlutterDartRiverpodGoRouterFirebase AuthFirestoreCloud Functions (TypeScript)Cloud StorageFCMGoogle Maps SDKMidtrans / Xendit

Butuh aplikasi serupa?

Halaman berikut menjelaskan fitur yang biasanya dibutuhkan, tahapan pengerjaan, dan kisaran biayanya.

Belum tahu fitur apa saja yang dibutuhkan? Ceritakan idemu, kami rumuskan.

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.