Skip to content

AsmitaMishra24/Eatzy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Eatzy - MERN Stack Food Ordering WebsiteπŸ•

πŸ“ Project Overview

Eatzy is a full-stack food ordering website built using the MERN stack. It allows users to browse food items, add them to a cart, and place orders securely using Stripe. The platform includes user and admin panels, login/signup functionality, role-based access, and complete order and product management.

✨ Features

  • User: Signup/Login, browse menu, add to cart, place orders, view order history
  • Admin: Add/edit/delete items, manage orders
  • Secure authentication with JWT and Bcrypt
  • Stripe payment integration
  • Role-based access with protected APIs
  • Responsive design with file upload and user alerts

🧰 Tech Stack

  • Frontend: React
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Auth: JWT, Bcrypt
  • File Uploads: Multer
  • Payments: Stripe

βœ… Prerequisites

Make sure you have the following installed:

βš™οΈ Setup Instructions

1. Clone the Repository

First, clone the repository to your local machine:

git clone https://github.com/AsmitaMishra24/Eatzy.git
cd Eatzy

2. Set Up the Backend

Navigate to the backend folder and install the required dependencies:

cd backend
npm install

Create a .env file in the backend folder with the following configuration:

PORT=4000
NODE_ENV=development
MONGODB_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
STRIPE_SECRET_KEY=your_stripe_secret_key
FRONTEND_URL="http://localhost:5174"
BACKEND_URL="http://localhost:4000"

Start the backend server:

npm run server

This will start the server on http://localhost:4000.

3. Set Up the Admin Panel

Open another terminal, navigate to the admin folder, and install the required dependencies:

cd admin
npm install

Start the admin panel:

npm run dev

This will start the admin panel on http://localhost:5173.

4. Set Up the Frontend

Open another terminal, navigate to the frontend folder, and install the required dependencies:

cd frontend
npm install

Start the frontend:

npm run dev

This will start the frontend on http://localhost:5174.

5. Open the Application

Backend: http://localhost:4000

Admin Panel: http://localhost:5173

Frontend: http://localhost:5174

πŸ“Έ Screenshots

User Side

Homepage
Login Page
Explore Menu
Cart Page
Make Payment Page
Stripe Payment Gateway
Track Order & Order History

Admin Side

Add Item Page
List of Items Page
Order Handling Page

πŸ“ Notes

  1. Ensure that the .env variables are correctly configured in the backend.
  2. Make sure MongoDB and Stripe services are active and connected.

πŸ‘©β€πŸ’» Developer

This project was developed by Asmita Mishra.

πŸ“¬ Contact

For any questions or feedback, feel free to reach out at: