Quickstart
Get the full stack running locally in under 10 minutes.
Project Structure
Understand how the frontend, admin, and backend are organized.
API Reference
Explore every REST endpoint with request and response details.
Configuration
Set up your environment variables, database, and Stripe keys.
Platform Overview
Food Delivery App is composed of three applications that work together:Customer Frontend
A React + Vite storefront where customers browse the menu, manage their cart, and place orders.
Admin Dashboard
A separate React app for restaurant staff to manage menu items and process incoming orders.
REST API
An Express.js backend exposing authenticated endpoints for food, cart, and order operations.
Key Features
Food Menu & Categories
Browse and filter items across eight categories including Salad, Rolls, Pasta, and more.
Cart & Checkout
Persistent cart backed by MongoDB — cart state is preserved across sessions.
Stripe Payments
Secure checkout powered by Stripe. Payments are verified server-side before orders are confirmed.
Order Tracking
Customers can track order status from “Food Processing” through “Out for Delivery” to “Delivered”.
Getting Started
1
Clone the repository
Clone the project and navigate into the root directory.
2
Configure environment variables
Create a
.env file in the backend/ directory with your MongoDB URI, JWT secret, and Stripe keys. See Environment Variables for the full reference.3
Start the backend
Install dependencies and start the Express server on port 4000.
4
Start the frontend and admin apps
Open two additional terminals and start each Vite dev server.
The backend defaults to port 4000. The frontend and admin apps each start on their own Vite-assigned ports (typically 5173 and 5174). Make sure all three services are running simultaneously for the full experience.