This project is a demonstration of trunk-based development practices using a library management system. The application allows users to manage books in a library, leveraging a Spring Boot backend and Thymeleaf for the frontend.
| Technology | Description |
|---|---|
| Backend Framework | Spring Boot 3.3.4 |
| Programming Language | Java 17 |
| Database | H2 (in-memory) |
| Web Framework | Thymeleaf |
| Security | Spring Security |
| ORM | Spring Data JPA |
| Dependency Management | Maven |
| Project Management | Lombok for reducing boilerplate code |
- Manage books (add, update, delete)
- Event-driven notifications for library updates
- Unit and integration tests
- Generate structured web pages using Thymeleaf templates
- Java
- Maven
-
Clone the repository
-
Build the project:
mvn clean install
-
Run the application:
mvn spring-boot:run
-
Access the app:
- Open http://localhost:8080 to view the library system.
To run the unitary and end-to-end tests:
bash mvn test
-
Canary deployment: Deploy the new version of the application to a subset of users to test the new features and gather feedback before rolling out to the entire user base.
-
Blue-green deployment: Deploy the new version of the application alongside the existing version. Once the new version is tested and ready, switch the traffic to the new version.
-
Parallel change deployment: Deploy the new version of the application in parallel with the existing version. Gradually migrate users to the new version while monitoring the performance and stability of the application.
| Version | Description |
|---|---|
| 0.0.1 | Initial release |
This project is licensed under the MIT License - see the LICENSE file for details.