Badi Dukkan
4-app food pre-ordering ecosystem, built as sole engineer
A complete food pre-ordering ecosystem (Customer, Vendor and Rider apps plus a web Admin panel) built end-to-end by one engineer starting in college. Real-time order flow over Firebase Cloud Functions, Razorpay payments, and geolocation-ranked restaurant discovery.
The Problem
Local food pre-ordering needs four coordinated surfaces (customers ordering, vendors accepting, riders delivering, admins overseeing) kept in sync through every order state change.
The Solution
Four Flutter apps on a shared Firebase backend: a real-time order notification system built on Cloud Functions keeps customers and riders synced through every stage; geolocation-based restaurant sorting with Maps-computed distance-based delivery fees; a flexible coupon system supporting pre-orders, scheduled deliveries and instant orders; Razorpay checkout.
Architecture
- Four Flutter apps (Provider state management) over one Firestore data model
- Cloud Functions fan out order-state notifications to the right app at each stage
- Google Maps API for proximity ranking and transparent distance-based fees
- Razorpay payment integration
Challenges & How I Solved Them
Order state as a distributed contract
Every state change must reach three different apps reliably: Cloud Functions became the single choreography point so no client ever writes another client's truth.
My Contributions
- All four applications, the Firebase backend, payments and maps integrations
Impact
- A complete multi-sided marketplace shipped by one engineer, pre-graduation
Lessons Learned
Multi-app products punish duplicated logic: pushing choreography into Cloud Functions kept four codebases honest.