/FoodProject

Primary LanguageJavaScript

Food Delivery App using MERN Stack

Overview

This is a robust food delivery application developed using the MERN (MongoDB, Express.js, React.js, Node.js) stack. The app provides a user-friendly interface with dynamic restaurant listings, menu exploration, efficient cart management, secure user authentication, order placement and confirmation, payment integration, order history, and a responsive and scalable design.

Technologies Used

  • Frontend Development:

    • HTML, CSS, JS
    • React.js for building the user interface and handling client-side functionalities.
  • Backend Development:

    • MongoDB for the database.
    • Express.js as the backend framework.
    • Node.js for running the server.
  • State Management:

    • Implemented Redux Thunk, a middleware for Redux, to manage the application's state.
  • Payment Integration:

    • Integrated Stripe, a popular payment processing platform, to handle payment functionalities.
  • Email Testing:

    • Utilized Mailtrap, a service that allows testing and previewing emails sent from the application.

Features

  1. User-friendly Interface:

    • Intuitive and responsive design for a seamless user experience.
  2. Dynamic Restaurant Listings:

    • Real-time updating of restaurant listings for users to explore.
  3. Menu Exploration:

    • Easy navigation through restaurant menus with detailed item information.
  4. Efficient Cart Management:

    • Smooth cart handling with add, remove, and update features.
  5. Secure User Authentication:

    • User authentication implemented for secure and personalized experiences.
  6. Order Placement and Confirmation:

    • Streamlined process for users to place and confirm their orders.
  7. Payment Integration with Stripe:

    • Secure payment processing using the Stripe platform.
  8. Order History:

    • Users can view their order history for reference and reordering.
  9. Responsive and Scalable Design:

    • Designed to provide a seamless experience across devices and scalable for future enhancements.

How to Run the Application

  1. Clone the repository.
  2. Install dependencies using npm install in both the client and server directories.
  3. Set up your MongoDB database and provide the connection string in the server configuration.
  4. Set up your Stripe API keys for payment integration.
  5. In the client directory, run 'npm start' to start the frontend development server.
  6. Access the application in your browser at http://localhost:3000/.
  7. Run the server using nodemon run server in the backend directory.

Contributing

Contributions are welcome! Please fork the repository and create a pull request.

License

This project is licensed under the MIT License.

Acknowledgments

  • Special thanks to Mailtrap for providing a valuable service for email testing.
  • Stripe for their reliable payment processing platform.

Feel free to reach out for any questions or feedback!