Skip to content

gauravjalap/food-delivery-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Food Delivery Website

Overview

This is a full-stack Food Delivery Website built using the MERN stack (MongoDB, Express.js, React.js, Node.js). The application includes both user and admin access, and payment options are integrated using Stripe.

Features

  • User Authentication (Login, Register)
  • Admin Dashboard
  • Browse and search for food items
  • Add items to cart
  • Place orders
  • Secure payment integration with Stripe
  • Responsive design

Technologies Used

  • Frontend: React.js
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Payment Gateway: Stripe
  • Authentication: JWT (JSON Web Tokens)

Prerequisites

  • Node.js and npm installed on your machine
  • MongoDB installed and running

Installation

  1. Clone the repository:

    git clone https://github.com/gauravjalap/food-delivery-website.git
    cd food-delivery-website
  2. Install dependencies:

    cd frontend
    npm install
    cd ../backend
    npm install
    cd ../admin
    npm install
  3. Set up environment variables:

    Create a .env file in the root directory and add the following variables:

    PORT=5000
    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret
    STRIPE_SECRET_KEY=your_stripe_secret_key
  4. Start the server:

    cd backend/
    npm run server
  5. Start the client:

    Firstly Admin Frontend:

    cd admin/
    npm run dev

    For Food Delivery Website:

    cd frontend/
    npm run dev

    NOTE: Run all the bash command in different terminal instances. And also check if frontend_url is correct as of your platform

Usage

  1. User Registration and Login:

    Users can register and log in to their accounts.

  2. Browse Food Items:

    Users can browse and search for food items.

  3. Add to Cart:

    Users can add items to their cart.

  4. Place Orders:

    Users can place orders and make payments using Stripe.

  5. Admin Dashboard:

    Admins can manage food items, view orders, and perform other administrative tasks.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or suggestions, feel free to contact me at work.gauravkumar01@gmail.com.

Acknowledgments

  • Thanks to the open-source community for providing valuable resources and libraries.