This Spring Boot application is designed to manage various aspects of a restaurant's operations. It provides functionality for customer management, bookings, menu items, orders, and table management.
-
Controller Layer: Handles HTTP requests and defines API endpoints.
CustomerController
: REST API for customer operations.CustomerWebController
: Web controller for customer-related views.
-
Model Layer: Defines the data structures.
Customer
: Represents customer information.Booking
: Manages reservation details.Menu
: Stores menu items.Order
: Tracks customer orders.Table
: Represents restaurant tables.
-
Repository Layer: Interfaces with the database.
CustomerRepository
: Handles CRUD operations for customers.
-
Utilities: Contains helper classes.
CustomerDataLoader
: Generates fake customer data for testing/development.
- Customer management (CRUD operations)
- Booking system
- Menu management
- Order tracking
- Table management
- Java
- Spring Boot
- Spring Data JPA
- Thymeleaf (for server-side templating)
- Maven (for dependency management)
- Clone the repository
- Navigate to the project root
- Run
mvn spring-boot:run
to start the application - Access the application at
http://localhost:8080
This project follows a standard Spring Boot structure, making it easy to extend and maintain. The separation of concerns is clear, with distinct layers for controllers, models, and data access.