Skip to content

AarinGuleria/SavorNest---Food-Ordering-Restaurant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ Food Ordering Web App (MERN Stack)

React Node.js MongoDB Express.js Stripe

Food App Logo

Delicious Food at Your Fingertips

📋 Table of Contents

✨ Introduction

This full-stack food ordering web application leverages the MERN stack (MongoDB, Express, React, Node.js) to provide a seamless online food ordering experience. The project is divided into three main components:

  • 🍔 Frontend: Customer-facing interface for browsing menus and placing orders
  • 👨‍💼 Admin Panel: Dashboard for managing items, tracking orders, and system administration
  • ⚙️ Backend: RESTful API server handling business logic and database operations

🏗️ Project Structure

Frontend (/Frontend)

Frontend/
├── src/
│   ├── components/    # Reusable UI components
│   ├── pages/         # Main application pages
│   ├── context/       # React Context for state management
│   └── assets/        # Static assets and images

Admin Panel (/admin)

admin/
├── src/
│   ├── components/    # Reusable admin components
│   ├── pages/         # Admin dashboard pages
│   └── assets/        # Admin panel assets

Backend (/backend)

backend/
├── controllers/       # Request handlers and business logic
├── models/           # MongoDB schema definitions
├── routes/           # API endpoint definitions
├── middleware/       # Authentication and other middleware
├── services/         # Business logic services
├── config/           # Configuration files
├── uploads/          # File upload storage
└── scripts/          # Utility scripts

🌟 Features

  • 🔐 User Authentication & Authorization: Secure login and registration with user roles
  • Scheduled Order Time: Schedule orders for specific times
  • 💰 Referral System: Earn credits by referring friends
  • 💱 Multiple Currency Support: View and pay in different currencies
  • 💳 Split Payment: Share payment with multiple users
  • 👥 Group Ordering: Place and share orders collectively
  • 🎉 Catering Orders: Place bulk orders for events
  • 💳 Secure Payments: Integrated with Stripe
  • 📱 Real-time Tracking: Track order status in real-time
  • 📊 Admin Dashboard: Comprehensive management system

🛠️ Technologies Used

Category Technologies
Frontend React.js, React Context API, React Router, Vite
Admin Panel React.js, React Context API, React Router, Vite
Backend Node.js, Express.js, MongoDB
Payment Stripe
Development ESLint, Git

🚀 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/food-ordering-app.git
    cd food-ordering-app
  2. Install dependencies for each component

    # Install Frontend dependencies
    cd Frontend
    npm install
    
    # Install Admin Panel dependencies
    cd ../admin
    npm install
    
    # Install Backend dependencies
    cd ../backend
    npm install
  3. Configure environment variables Create .env files in each component directory with necessary variables:

    # Example .env file
    MONGODB_URI=your_mongodb_uri
    JWT_SECRET=your_jwt_secret
    STRIPE_SECRET_KEY=your_stripe_key
    
  4. Start the development servers

    # Start Frontend
    cd Frontend
    npm run dev
    
    # Start Admin Panel
    cd ../admin
    npm run dev
    
    # Start Backend
    cd ../backend
    npm start

📊 ER Diagram

ER DIAGRAM


Built with ❤️ by Aarin Guleria

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published