https://github.com/raghabendra-dash/mern-food-delivery
Tomato is the MERN Stack-powered food delivering website that makes online food shopping easy and secure with user and admin panels, secure JWT Authentication, Stripe payments, and essential features like Login, Add to Cart, and Order Management, it's perfect for a seamless food ordering experience.
https://github.com/raghabendra-dash/mern-food-delivery
express-js freepik-api jwt jwt-authentication mongodb node-js react react-hooks stripe-payment
Last synced: 3 months ago
JSON representation
Tomato is the MERN Stack-powered food delivering website that makes online food shopping easy and secure with user and admin panels, secure JWT Authentication, Stripe payments, and essential features like Login, Add to Cart, and Order Management, it's perfect for a seamless food ordering experience.
- Host: GitHub
- URL: https://github.com/raghabendra-dash/mern-food-delivery
- Owner: raghabendra-dash
- Created: 2024-10-22T19:31:16.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-12-18T16:38:52.000Z (6 months ago)
- Last Synced: 2025-02-08T08:11:27.171Z (4 months ago)
- Topics: express-js, freepik-api, jwt, jwt-authentication, mongodb, node-js, react, react-hooks, stripe-payment
- Language: JavaScript
- Homepage: https://food-delivery-website-gamma.vercel.app/
- Size: 7.64 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## TOMATO - Food Delivery Website
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.
### Demo
- User Panel: [Click Here](https://food-delivery-website-gamma.vercel.app/)
- Admin Panel: [Click Here](https://food-delivery-website-admin.vercel.app/)
- Backend Url: [Click](https://food-delivery-website-v9oh.onrender.com)### Features
- User Panel
- Admin Panel
- Password Hashing with Bcrypt
- Stripe Payment Integration
- Login/Signup
- Logout
- Add to Cart
- Place Order
- Order Management
- Products Management### Screenshots

- Products Section

- Cart Page
- Login Popup### Run Locally
Clone the project
```bash
git clone
```
Go to the project directory```bash
cd Food-Delivery
```
Install dependencies (frontend)```bash
cd frontend
npm install
```
Install dependencies (admin)```bash
cd admin
npm install
```
Install dependencies (backend)```bash
cd backend
npm install
```
Install dependencies (root)```bash
cd ..
npm run install-all
```Setup Environment Vaiables
```Make .env file in "backend" folder and store environment Variables
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_URLStart the Backend server
```bash
nodemon server.js
```Start the Frontend server
```bash
npm start
```Start the Backend server
```bash
npm start
```Start all concurrently
```bash
npm run start
```### Tech Stack
* [React](https://reactjs.org/)
* [Node.js](https://nodejs.org/en)
* [Express.js](https://expressjs.com/)
* [Stripe](https://stripe.com/)
* [JWT-Authentication](https://jwt.io/introduction)
* [FreePik](https://www.freepik.com/)### Deployment
The application is deployed on Vercel and Render.
### Feedback
If you have any feedback, please reach out to me [here](https://www.linkedin.com/in/raghabendra779)