- Relational Database: PostgreSQL, version 17
- Language: Java, version 17
- Framework: Spring Boot, version 3.2.4
- Dependencies Manager: Maven
- ORM (Object-Relational Mapping): Hibernate
- Unit Tests Framework: JUnit 5
- API Documentation: Swagger
HTTP/REST Client
↓↑
Controller (Presentation Layer)
↓↑
Service (Business Logic Layer)
↓↑
Repository (Data Access Layer)
↓↑
Database/PostgreSQL (Data Layer)
- Data modeling with relationships
- CRUD operations of entities
- Validation of input data, and return of clear validation error messages
- Custom exception handling to clearly communicate failures to the client and return appropriate HTTP status codes (200, 201, 400, 404, 500, etc.)
- Simple authentication mechanism using a static API Key to secure certain routes
- API documentation using Swagger
- Unit Tests with JUnit 5 and Mockito
git clone https://github.com/crisbeloneto/library-api.gitOr manually download it via the button 'Download ZIP'
URLs to access the API documentation:
Locally 👉 http://localhost:8080/swagger-ui.html
Online 👉 https://librarymgmtapi.onrender.com/swagger-ui.html