Application built to organize a book repository in order to practice and apply the concepts of a CRUD using Spring Boot and the MVC architectural pattern.
- Spring Boot 2.4.5
- Thymeleaf 3.0.11
- MySQL
- Bootstrap 3.3.7
- bootstrap-datepicker
- jQuery 3.6.0
- jQuery maskMoney
- jQuery sortElements
┌───────┐ ┌──────────┐ ┌──────────┐
│ ☁️ <───> ☕ <───> 💾 │
│ Web │ HTTP │ Spring │ │ Database │
└───────┘ │ Service │ └──────────┘
└──────────┘
The internal architecture:
Controller
classes provide endpoints and deal with HTTP requests and responses from/to the viewService
classes contains the business rules, receive the request from a controller and talk to repository to acess data to return a response to controllerRepository
classes interface with the DAO internally that interface with the database and take care of writing and reading data to/from persistent storage
┌───────────────────── Spring Service ──────────────────────┐
│ │
Request │ │
┌────────┐ ─────────> ┌────────────┐ ┌─────────┐ ┌────────────┐ │ ┌──────────┐
│ View │ <────────── │ Controller │ <───> │ Service │ <───> │ Repository │ <────> │ Database │
└────────┘ Response │ └────────────┘ └─────────┘ └────────────┘ │ └──────────┘
│ │
└───────────────────────────────────────────────────────────┘