QuickBite is a fully responsive web-based food management system designed to simplify online food ordering and management. It provides an intuitive user interface for customers to explore the menu, add items to the cart, view the total cost, and proceed to checkout with Stripe payment integration. On the administrative side, QuickBite allows administrators to manage the menu by adding, updating, and removing items, as well as tracking orders and updating order statuses efficiently.
Tech Stack:
- Frontend: Vite + React
- Backend: Express.js, Node.js
- Database: MongoDB
- Payment Gateway: Stripe
- User: Browse the menu, add items to cart, view total, and checkout for payment.
- Admin: Add, remove, and list products; manage orders and update order status.
- Fully responsive interface adaptable to any device.
This repository contains three main folders:
- Frontend: Contains the user interface code.
- Backend: Manages backend logic, including database operations and authentication.
- Admin: Contains the admin interface.
- Node.js and npm installed on your machine.
- MongoDB account with a configured cluster.
- Stripe account for payment functionality.
git clone https://github.com/yourusername/QuickBite.git
Or download the zip file and extract it.
- Navigate to the
Frontend
folder:cd QuickBite/Frontend
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open the localhost link from the console to view the frontend interface.
- Configure MongoDB:
- Create a MongoDB account and set up a cluster.
- Obtain the MongoDB connection URI and add it to
db.js
inBackend/config
.
- Configure Environment Variables:
- Create a
.env
file in theBackend
folder and add the following keys:JWT_SECRET="random#secret" STRIPE_SECRET_KEY="your_stripe_secret_key"
- Create a
- Start the backend server:
- In a new terminal, navigate to the
Backend
folder:cd QuickBite/Backend
- Start the backend server:
npm run server
- The backend should be running on
localhost:4000
.
- In a new terminal, navigate to the
- In a new terminal, navigate to the
Admin
folder:cd QuickBite/Admin
- Install dependencies:
npm install
- Start the admin development server:
npm run dev
- Access the admin interface via the localhost link in the console.
Here is a walkthrough of the "QuickBite" application with screenshots for key functionalities: