Skip to content
E-Commerce & RetailAndroidiOS

Food Gate

A category-browsable food-ordering app with a live Google Places address picker, plus a matching admin catalog console

A Flutter food-ordering app — browse a menu by category, build an order through per-item variations and modifiers, and check out with a Google Places-autocomplete address picker and a live Google Map marker — paired with a separate Flutter admin console for managing the menu catalog and user accounts over the same Firestore backend.

Food Gate — app screenshot
Food Gate — app screenshot
Food Gate — app screenshot

Both repositories are private. The Google Places checkout and the variation and modifier catalog builder are explained below.

About this project

The customer app's home screen is a horizontal category selector (burgers, pizza, fries, drinks) filtering the Firestore menu; tapping into an item opens a detail screen where its Firestore-backed variations and modifiers build up a priced order line before it's added to a per-user cart. The cart screen supports quantity adjustments and an optional tip.

Checkout is the most built-out part of the app: a Google Places autocomplete search field feeds live predictions, resolving a selected place to a map marker via the Places Details API, with device geolocation as a fallback and reverse-geocoding path. Saved addresses persist to a per-user Firestore subcollection. The checkout screen also renders a cash-only payment-method selector and an itemized order summary (subtotal, delivery fee, platform fee, total) computed from the cart.

Auth is Firebase email/password sign-up and sign-in, plus Google Sign-In on the sign-up screen.

The admin console is a separate Flutter app (GetX state, local persistence) sharing the same Firestore project: a sidebar-navigated dashboard for adding/editing items with their own variation and modifier builders, a category list, and a user list, behind Firebase email/password login. My part covered the customer app's auth and cart controllers, a Firestore service layer and the admin console's initial scaffold.

Key features

  • Category-driven menu browsing via a horizontal selector filtering a Firestore items collection
  • Item detail screen with variation and modifier selection feeding a computed per-item price
  • Cart with per-item quantity controls and an optional tip, persisted to a per-user Firestore subcollection
  • Checkout: Google Places autocomplete address search resolving to a live Google Map marker, with geolocation/reverse-geocoding as a fallback, and saved addresses persisted per user
  • Cash payment-method selection and an itemized order summary (subtotal, delivery fee, platform fee, total)
  • Firebase email/password auth plus Google Sign-In
  • Admin console: item, category, variation and modifier CRUD and a user list behind a GetX-driven sidebar, shared responsively across mobile and wide-screen layouts

More in E-Commerce & Retail

~/sherazi.dev$./say-hello

Say hello.

Questions about a case study, one of the packages, AI tooling or Flutter in general are always welcome.

// or browse the packages on pub.dev(opens in a new tab)