This project is a RESTful API built with Java and the Spring Boot framework, designed to serve as the core backend for a modern food delivery service. It manages the full lifecycle of a food order, from user authentication and menu browsing to order placement and status tracking.
- User Management: Customer and Administrator roles with separate access control.
- Restaurant/Menu Management: CRUD operations for restaurants and their menu items.
- Order Processing: Handles order creation, status updates (e.g., Pending, Preparing, Delivered), and history tracking.
- RESTful API: Clear, standards-compliant endpoints for easy integration with a frontend client (mobile app or web).
- Data Persistence: Managed by [Database Name, e.g., PostgreSQL] via Spring Data JPA.
- /src/main/java: Spring Boot backend logic (Controllers, Services, Models).
- /food-delivery-frontend: React.js source code, components, and styling.
- /src/main/resources: Database configurations and application properties.
Follow these steps to get the application running on your local machine.
- Java Development Kit (JDK) 17 or higher
- [Database Name, e.g., PostgreSQL] installed and running
- Maven or Gradle (based on your project setup)
-
Clone the Repository:
git clone [https://github.com/MilanBornarov/Food_Delivery_Springboot_App.git](https://github.com/MilanBornarov/Food_Delivery_Springboot_App.git) cd Food_Delivery_Springboot_App -
Configure Database:
- Create a database named
food_delivery_db. - Update the
src/main/resources/application.propertiesfile with your database credentials:spring.datasource.url=jdbc:postgresql://localhost:5432/food_delivery_db spring.datasource.username=your-db-user spring.datasource.password=your-db-password
- Create a database named
-
Run the Application (using Maven):
mvn spring-boot:run
The application will start on http://localhost:8080.