• Java
  • Spring Boot
  • FoodDelivery: A full-stack food delivery app featuring a React.js interface and a robust Spring Boot API.

    🍔 FoodDelivery

    A full-stack food delivery platform with a Spring Boot backend and a React.js frontend.

    SonarCloud

    Introduction

    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.

    System Requirements

    To run this project, you will need to have the following tools installed for both the frontend and backend components:

    Backend

    • Java Development Kit (JDK) 17 or higher.
    • Maven build tool.
    • PostgreSQL database system set up and configured.
    • HibernateJPA.
    • Docker with Docker Compose.
    • Redis for data caching.

    Frontend

    • Node.js and npm or yarn.

    Key Features

    The platform includes a robust permission-based access control system to ensure a secure and tailored experience for both administrators and regular users.

    Admin Features

    • 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.

    User Features

    • 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.

    Getting Started

    Follow these steps to set up and run both the frontend and backend.

    Method 1: Run Locally (Optional for frontend and backend)

    1. Clone the repository:
       git clone [https://github.com/leduc20051409/FoodDelivery.git](https://github.com/leduc20051409/FoodDelivery.git)

    1. Navigate to the project directory:

      cd FoodDelivery

    2. Build the project:

      # Using Maven
      mvn clean install

    3. Configure the environments:

    • Update application.properties or application.yml with your environments details.

    4. Run the application:

      # Using Maven
      mvn spring-boot:run

    Method 2: Run the Application Using Docker Compose

       git clone https://github.com/leduc20051409/FoodDelivery.git

    1. Navigate to the project directory:

      cd FoodDelivery

    2. Build and start the containers using Docker Compose:

      docker-compose -f docker-compose.yml up --build

    API Documentation

    Document the API endpoints and their functionalities. You can use tools like Swagger for automated API documentation.

    Contributing

    If you would like to contribute to the development of this project, please follow our contribution guidelines.

    Alt

    License

    This project is licensed under the Apache License.

    Apache License
    Copyright (c) 2025 Le Anh Duc
    
    Github: https://github.com/leduc20051409/FoodDelivery

    Để lại một bình luận

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

    3 mins