Skip to content

Munchunnce/pizza-online-food-vkc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation


🍕 Vimal’s Pizza-Food MERN App

License: MIT NodeJS React MongoDB

A full-stack MERN Pizza-Food Ordering App — where users can order pizzas online, make secure payments, and admins can manage the entire system.
Built with ❤️ by Vimal Kumar Chaudhary.


📋 Table of Contents



📸 Screenshots

Home Page
Home Page
Pizza Menu
Menu Page
Menu Page
Pizza Page
Cart Page
Cart Page
All Orders
Checkout
Single Page
Single Page
Status
Status
Admin Dashboard
Admin Dashboard
Footer
Footer

✨ Features

  • 🔐 JWT Authentication (Access + Refresh Token)
  • 🧠 Redux Toolkit for global state management
  • ⚙️ Automatic Token Refresh for seamless sessions
  • 🧾 Admin Panel – Manage users, pizzas, orders
  • 🛒 Cart Functionality with dynamic price updates
  • 💳 Stripe Payment Gateway Integration
  • 🧾 Order Tracking (Real-time Status)
  • 📱 Fully Responsive Design
  • ☁️ Secure Node.js + Express Backend
  • 🧑‍🍳 CRUD APIs for pizzas & orders
  • 🌐 MongoDB Database with Mongoose

🛠 Tech Stack

Layer Technology
Frontend React.js, Redux Toolkit, React Router
Styling CSS / Tailwind CSS
Backend Node.js, Express
Database MongoDB (Mongoose ODM)
Auth JWT (Access + Refresh Tokens), bcrypt, Joi
Payment Stripe
Others dotenv, CORS, Error Handling Middleware

🧭 Architecture

Frontend (React + Redux)
        |
        |-- Fetch API requests
        v
Backend (Express Server)
        |
        |-- Auth Routes (/register, /login, /refresh)
        |-- Order Routes (/orders)
        |-- Pizza Routes (/pizzas)
        |
        v
MongoDB (Mongoose Models)

⚙️ Installation

1️⃣ Clone the repo

git clone https://github.com/Munchunnce/pizza-online-food-vkc.git
cd pizza-online-food-vkc

2️⃣ Setup Backend

cd backend
npm install

Create a .env file in /backend:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_access_secret
REFRESH_SECRET=your_refresh_secret
STRIPE_SECRET_KEY=your_stripe_secret_key

Run the server:

npm run dev

3️⃣ Setup Frontend

cd frontend
npm install

Create .env in /frontend:

REACT_APP_API_URL=http://localhost:5000
REACT_APP_STRIPE_PUBLIC_KEY=your_stripe_public_key

Run the app:

npm start

🧪 Usage

  1. Register or Login
  2. Browse pizzas and add to cart
  3. Proceed to checkout
  4. Pay using Stripe (test card: 4242 4242 4242 4242)
  5. View your order status
  6. Admins can view/manage all orders

🗂 Folder Structure

pizza-online-food-vkc/
├── backend/
│   ├── controllers/
│   ├── models/
│   ├── routes/
│   ├── middlewares/
│   ├── services/
│   ├── app.js
│   └── .env
│
├── frontend/
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── store/
│   │   ├── api/
│   │   └── App.js
│   ├── public/
│   ├── screenshots/
│   └── .env
│
└── README.md

🤝 Contributing

Contributions are always welcome! Just fork the repo and open a pull request.


📄 License

This project is licensed under the MIT License — see LICENSE.


👨‍💻 Developed by Vimal Kumar Chaudhary

Email: vimalkumarak478@gmail.com


Releases

No releases published

Packages

No packages published