Skip to content
Go back / Studio

Foodify

A full-stack restaurant ordering app — React/Vite frontend with Firebase Auth and Stripe checkout, an Express/MongoDB backend with JWT-guarded admin and rider roles, plus map-based delivery tracking.

Foodify

Overview

client's

A full-stack restaurant ordering app — React/Vite frontend with Firebase Auth and Stripe checkout, an Express/MongoDB backend with JWT-guarded admin and rider roles, plus map-based delivery tracking.

Tech stack
TanStack QueryAxiosDaisyUIFirebaseReact LeafletHook FormReact RouterRechartsSwiperTailwindCSS

Challenges & Learnings

Customers browse a menu, add items to a cart, and pay via Stripe; admins manage menu items and see revenue/order stats; a rider role handles delivery. The frontend is React 18 + Vite with Firebase Auth, TanStack Query, and react-leaflet for maps; the backend is Express + MongoDB with JWT-based route guards for user/admin/rider roles and Mailgun for order-confirmation emails. Worth being upfront about: the backend's collection and route structure closely follows a well-known restaurant-ordering tutorial project, extended here with the rider/delivery-tracking role, map-based location features, and an order-stats endpoint using a MongoDB aggregation pipeline to compute per-category revenue — real additions on top of a template base, not built from a blank slate.