This repository hosts the source code for TOMATO, a dynamic food ordering website built with the MERN Stack. It offers a user-friendly platform for seamless online food ordering by utilizing local storage for managing user sessions and URL search parameters for handling payment verification and order tracking.There is an Admin panel in which admin user can add food items or remove food items on Tomato website. User also check the status of their food in MyOrders page. Clicking on the cart item will be redirected user to Stripe payment page.
- User Panel: Click Here
- Admin Panel: Click Here
- Backend Url: Click
- User Panel
- Admin Panel
- Password Hashing with Bcrypt
- Stripe Payment Integration
- Login/Signup
- Logout
- Add to Cart
- Place Order
- Order Management
- Products Management
- Products Section
- Cart Page
- Login Popup
Clone the project
git clone
Go to the project directory
cd Food-Delivery
Install dependencies (frontend)
cd frontend
npm install
Install dependencies (admin)
cd admin
npm install
Install dependencies (backend)
cd backend
npm install
Install dependencies (root)
cd ..
npm run install-all
Setup Environment Vaiables
JWT_SECRET=YOUR_SECRET_TEXT
SALT=YOUR_SALT_VALUE
MONGO_URL=YOUR_DATABASE_URL
STRIPE_SECRET_KEY=YOUR_KEY
Setup the Frontend and Backend URL
-
App.jsx in Admin folder const url = YOUR_BACKEND_URL
-
StoreContext.js in Frontend folder const url = YOUR_BACKEND_URL
-
orderController in Backend folder const frontend_url = YOUR_FRONTEND_URL
Start the Backend server
nodemon server.js
Start the Frontend server
npm start
Start the Backend server
npm start
Start all concurrently
npm run start
The application is deployed on Vercel and Render.
If you have any feedback, please reach out to me here