Template Aplikasi Ojol Lengkap,
Siap Kustomisasi
User, Driver, Merchant, Admin dalam 1 APK. Flutter + Firebase. Production-ready dengan 17 Cloud Functions, defenses skala komersial, dan dokumentasi handover untuk klien.
Sekitarmu
Halo, Andi 👋
Mau makan apa hari ini?
Promo Hari Ini
Diskon 20% semua menu
Toko Terdekat
12 toko
Warung Pak Budi
Makanan156 ulasan
Es Teh Manis Asli
Minuman89 ulasan
Lihat Tampilan App
Gunakan tombol panah, dots, atau swipe untuk menjelajah semua layar.
Layar 1 / 8
Home
Banner promo, kategori, daftar merchant terdekat dengan rating & jarak.
Empat Role, Satu APK
Pilih role di bawah untuk lihat fitur masing-masing. Semua sudah di-implement, di-test, dan di-deploy ke production environment.
Pelanggan
Pesan makanan, top-up saldo, lacak driver real-time.
Browse merchant + search
Daftar toko dengan kategori, search bar real-time, banner promo carousel.
Search produk dalam toko
Filter menu by nama atau deskripsi — penting untuk merchant dengan banyak menu.
Cart multi-item, multi-merchant safe
Tambah item dari toko lain otomatis clear cart sebelumnya (cegah salah pesan).
Checkout dengan map picker
Auto-detect lokasi GPS atau pin manual di Google Maps. Catatan ke driver.
Address book tersimpan
Simpan alamat 'Rumah', 'Kantor', dll dengan default. Pilih cepat saat checkout.
Voucher promo
Validasi quota & expiry server-side. Diskon percentage atau nominal, dengan minimum order.
Payment: Saldo, Transfer, QRIS, E-wallet
Top-up saldo dompet via Midtrans/Xendit. Atau bayar langsung gateway tanpa top-up.
Tracking real-time driver
Marker live driver di Google Maps. Sejak driver accept (ke toko) sampai sampai ke user.
ETA estimasi tiba
Banner waktu tiba berdasarkan jarak + waktu masak merchant + buffer pickup.
Chat & telpon driver
Chat real-time per order + tombol langsung dialer dengan format +62 otomatis.
Cancel & refund flow
Batalkan pre-merchant: saldo & voucher quota auto-refund dalam transaction atomic.
Rating + review
Rating 1-5 driver & merchant separate. Otomatis muncul setelah delivered.
Laporkan masalah (dispute)
Window 48 jam pasca-delivered untuk klaim refund. Admin review & putuskan nominal.
Push notification status
Update status order via FCM. Tap notif → deep-link langsung ke order screen.
Dari Pesan ke Sampai
Klik step di bawah untuk lihat layar yang muncul di tiap fase. Semua transisi sudah dihandle real-time via Firestore listener.
Sekitarmu
Halo, Andi 👋
Mau makan apa hari ini?
Promo Hari Ini
Diskon 20% semua menu
Toko Terdekat
12 toko
Warung Pak Budi
Makanan156 ulasan
Es Teh Manis Asli
Minuman89 ulasan
Bukan Asal Jadi
Setiap sprint memperbaiki defenses yang berbeda — dari race condition handling sampai delivery kit. Total 53 fix kritikal.
Security & Data Integrity
Firestore rules field-level whitelist, atomic transactions, webhook idempotency, race condition handling.
UX Critical & Defense
Role-based router guard, FCM token cleanup, driver isActive check, confirm dialog actions.
Quick Wins & Defensive Fixes
Payment race window, ownership lock, voucher soft-delete, cursor pagination, validators.
Code Quality & User Features
Hardcoded colors → tokens, cancel order flow, image resize, auto-refresh, error mapper.
Production-readiness Blockers
Field-level rules, distance-based delivery fee, merchant payout, FCM deep link.
UX Polish (GoFood/Grab parity)
Live tracking sejak driverAccepted, telpon, ETA berbasis jarak, search produk, prep time, address book.
Skala Komersial Defenses
Geo-filter ≤5km, order timeout sweep, refund/dispute flow, verifikasi KTP/SIM/STNK driver.
Background Location & Auto-Broadcast
Foreground service Android, iOS background mode, broadcast nearest driver dengan re-broadcast 15km.
Delivery Kit untuk Jual Template
Externalized secrets, customize.sh, package-delivery.sh, check-ready.sh, dokumen klien lengkap.
Logika Berat Ada di Server
Bukan client-side compute. Total, komisi, voucher, refund — semua dihitung server biar tidak bisa di-tipu.
Bukan Sekadar Demo App
Defenses untuk skala komersial: race condition, fraud prevention, timeout protection, dan lebih banyak lagi.
Security Rules berlapis
Field-level whitelist Firestore — user tidak bisa edit balance/role sendiri. Driver tidak bisa unsuspend dirinya.
Race condition handling
Transaction atomic untuk accept order, voucher quota, payment confirmation, withdraw approval. Idempotent.
Webhook + fallback polling
Midtrans/Xendit webhook idempotent + amount validation. Fallback polling kalau webhook miss.
Distance-based pricing
Haversine formula merchant → user. Konfigurable base fee, per-km, min/max.
Background location
Foreground service Android dengan persistent notification. iOS background mode.
Auto-broadcast intelligent
Order ke 8 driver terdekat saat readyPickup. Re-broadcast 15 km kalau belum diambil dalam 2 menit.
Order timeout sweeper
Scheduled CF tiap 5 menit. Auto-cancel order nyangkut + refund saldo & voucher quota.
Address book + map picker
User simpan alamat tersimpan. Picker dengan reverse geocoding + drag pin.
Tech Stack
Workflow 80 Menit per Klien
Bukan sekadar jual source code. Anda dapat scripts otomasi & dokumen klien yang membuat tiap delivery cepat dan konsisten.
# Alur per klien:
$ git clone --depth=1 app-ojol-lokal client-NAMA-app$ cd client-NAMA-app && rm -rf .git# Setup Firebase project di console (10 menit)$ flutterfire configure$ cp .env.example .env # isi dengan kredensial klien$ ./scripts/customize.sh # ✅ replace nama, package, warna$ flutter pub global run rename setBundleId --value com.klien.app$ ./scripts/gen-keystore.sh client-NAMA # backup .jks!$ firebase deploy$ ./scripts/check-ready.sh # 8 quality gate$ ./scripts/package-delivery.sh client-NAMA# → delivery-output/client-NAMA-app-YYYYMMDD.zip → ship 🚀Scripts Otomasi
4 perintah, semua otomatis
./scripts/customize.sh
Replace nama app, package ID, warna, API keys dari .env
./scripts/check-ready.sh
8 quality gate (analyze, test, secrets, package ID)
./scripts/package-delivery.sh
Output ZIP bersih (strip internal files, reset secrets)
./scripts/gen-keystore.sh
Auto-generate keystore + key.properties
Dokumen yang Termasuk
7 Dokumen Klien Siap Pakai
CLIENT_README.md
Onboarding setup untuk klien
CLIENT_HANDOVER.md
Operator guide untuk staff non-tech
PRE_DELIVERY_CHECKLIST.md
9-step quality gate sebelum ship
PRODUCTION_SIGNING.md
Generate keystore & build APK
SECRETS_SETUP.md
Daftar API key & cara dapat
PRIVACY_POLICY_TEMPLATE.md
Template Bahasa Indonesia
TOS_TEMPLATE.md
Terms of Service template
Time to delivery: ~80 menit (sebelumnya 2 hari)
Pertanyaan Umum
Siap Launch App Ojol Anda Sendiri?
Hubungi kami untuk demo live, diskusi kustomisasi, dan harga. Pengerjaan rata-rata 3-5 hari kerja per klien.
Atau scroll ke atas untuk lihat fitur lebih detail.