Overview
Use the cards below to jump to the most important sections of the documentation.Quickstart
Clone the repo, configure your environment, and have all three services running locally in minutes.
Project Structure
Understand every directory and file in the monorepo — backend, frontend, and admin.
Food Menu & Features
Browse how the food catalog is stored, served, and displayed to customers.
API Authentication
Learn how JWT tokens are issued on login and validated by the auth middleware on protected routes.
Architecture Overview
The repository is a monorepo containing three independent applications that communicate over HTTP.LoginPopup component handles authentication without a page redirect, and StoreContext keeps cart state and the JWT token in sync across every component.
Admin dashboard — A separate React 18 app (also Vite-powered) that lets restaurant operators add new food items with image uploads, view and delete the full catalog, and update live order statuses. It communicates with the same backend API as the customer app.
Backend API — An Express 4 server using ES Modules ("type": "module") that exposes four route groups, connects to MongoDB through Mongoose, stores uploaded food images on disk via Multer, issues and verifies JWTs for auth, and triggers Stripe payment sessions for orders.