I Built a Complete Zomato-Style Food Delivery Platform in Flutter — Here's What I Learned

I Built a Complete Zomato-Style Food Delivery Platform in Flutter — Here's What I Learned

Leader posted 1 min read

Just shipped Zesto — a full food delivery ecosystem with 4 Flutter
apps and a Firebase backend. Here's what the build taught me.

What's in the project

Customer App — OTP login, restaurant discovery, cart,
Razorpay payments, live driver tracking on Google Maps
Driver App — auto job assignment, step-by-step delivery
slider, background GPS foreground service
️ Restaurant App — real-time order dashboard, menu management
️ Admin Panel — Flutter Web, multi-city management

Backend: 20+Firebase Cloud Functions (Node.js 18)

3 Things That Bit Me Hard

  1. Never trust client-side prices
    My original placeOrder Cloud Function accepted grand_total from
    the app. Anyone could send grand_total: 1 and get free food.
    Fixed by recalculating everything server-side from Firestore menu
    prices — never touching the client value.
  2. Status string consistency across 4 apps
    Flutter enums use camelCase by default (arrivedAtRestaurant).
    Firestore stored snake_case (arrived_at_restaurant). Silent
    mismatches everywhere. Lesson: standardize from day one and use
    a safe parser that never throws on unknown values.
  3. MobX reactions fire on every change — not just the first one
    My HomeScreen reaction was pushing a new delivery screen every time
    activeJob updated — including status changes while the driver was
    already on the delivery screen. Three screens deep by the time the
    order was delivered. A single boolean guard fixed it.

Tech Stack
Flutter 3.11+ · Dart · Firebase · Razorpay
Google Maps · MobX · Node.js 18 · GeoFlutterFire

The source code is available
If you're building something similar or want a real production
Flutter/Firebase codebase to learn from:
https://morningstar47jb.gumroad.com/l/tnevss
Demo video: https://youtube.com/shorts/rL2M5O5Tk50
Happy to answer any architecture questions in the comments.

3 Comments

2 votes
1
2

More Posts

How I Built a React Portfolio in 7 Days That Landed ₹1.2L in Freelance Work

Dharanidharan - Feb 9

Building a Zomato-Like Multi-City Food Delivery App with Flutter & Firebase

MorningStar47 - Apr 28

How I Built a Complete On-Demand Home Services App (ServeNow) with Flutter & Firebase

MorningStar47 - Apr 27

Sovereign Intelligence: The Complete 25,000 Word Blueprint (Download)

Pocket Portfolioverified - Apr 1

Breaking the AI Data Bottleneck: How Hammerspace's AI Data Platform Eliminates Migration Nightmares

Tom Smithverified - Mar 16
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

2 comments
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!