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.
-
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.
-
User-friendly Interface:
- Intuitive and responsive design for a seamless user experience.
-
Dynamic Restaurant Listings:
- Real-time updating of restaurant listings for users to explore.
-
Menu Exploration:
- Easy navigation through restaurant menus with detailed item information.
-
Efficient Cart Management:
- Smooth cart handling with add, remove, and update features.
-
Secure User Authentication:
- User authentication implemented for secure and personalized experiences.
-
Order Placement and Confirmation:
- Streamlined process for users to place and confirm their orders.
-
Payment Integration with Stripe:
- Secure payment processing using the Stripe platform.
-
Order History:
- Users can view their order history for reference and reordering.
-
Responsive and Scalable Design:
- Designed to provide a seamless experience across devices and scalable for future enhancements.
- Clone the repository.
- Install dependencies using
npm install
in both the client and server directories. - Set up your MongoDB database and provide the connection string in the server configuration.
- Set up your Stripe API keys for payment integration.
- In the client directory, run 'npm start' to start the frontend development server.
- Access the application in your browser at http://localhost:3000/.
- Run the server using
nodemon run server
in the backend directory.
Contributions are welcome! Please fork the repository and create a pull request.
This project is licensed under the MIT License.
- 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!