A full-stack food delivery platform with a Spring Boot backend and a React.js frontend.
Welcome to FoodDelivery. This project is a comprehensive, full-stack food delivery platform. The backend is built with Spring Boot to handle all business logic, order processing, and data management. The frontend is developed using React.js, providing a smooth and intuitive user interface for customers to browse menus, place orders, and track deliveries.
To run this project, you will need to have the following tools installed for both the frontend and backend components:
- Java Development Kit (JDK) 17 or higher.
- Maven build tool.
- A PostgreSQL database system set up and configured.
- Hibernate, JPA.
- Docker with Docker Compose.
- Redis for data caching.
- Node.js and npm or yarn.
The platform includes a robust permission-based access control system to ensure a secure and tailored experience for both administrators and regular users.
- Manage Restaurants & Menus: Admins can add, update, and remove restaurants, along with managing their menus, items, and pricing.
- Track & Manage Orders: View all orders in real-time and update their status (e.g., preparing, out for delivery, delivered).
- Review & Manage User Feedback: Admins can moderate user reviews and ratings to maintain content quality and authenticity.
- User Management: Edit user details, assign roles (e.g., admin, customer, delivery driver), and manage permissions.
- View Business Statistics: Access detailed analytics on sales, popular dishes, and delivery performance.
- Browse Restaurants & Menus: Explore a wide range of restaurants and their menus, complete with dish details and pricing.
- Place & Pay for Orders: Easily add items to a cart and complete purchases with various payment options.
- Live Order Tracking: Track the real-time status of your order from placement to delivery.
- Rate & Review Dishes: Provide feedback and ratings on food and service to help other users make informed choices.
- Manage Order History: View past orders, reorder favorite meals, and update personal information.
Follow these steps to set up and run both the frontend and backend.
- Clone the repository:
git clone [https://github.com/leduc20051409/FoodDelivery.git](https://github.com/leduc20051409/FoodDelivery.git)
cd FoodDelivery
# Using Maven
mvn clean install
- Update
application.propertiesorapplication.ymlwith your environments details.
# Using Maven
mvn spring-boot:run
git clone https://github.com/leduc20051409/FoodDelivery.git
cd FoodDelivery
docker-compose -f docker-compose.yml up --build
Document the API endpoints and their functionalities. You can use tools like Swagger for automated API documentation.
If you would like to contribute to the development of this project, please follow our contribution guidelines.
This project is licensed under the Apache License.
Apache License
Copyright (c) 2025 Le Anh Duc
Github: https://github.com/leduc20051409/FoodDelivery