Identity Service API
Production-style backend service for user identity management, built with an API-first and contract-driven approach.
This Maven site is generated by CI after mvn clean verify succeeds. The public
GitHub Pages root is the custom static dashboard, while this Maven site is
published under /maven-site/.
What This Project Demonstrates
- OpenAPI-first design with generated Spring MVC contracts
- Versioned APIs for
/api/v1and/api/v2 - Layered backend architecture: API, service, domain, persistence and infrastructure
- PostgreSQL persistence with Flyway migrations
- BCrypt password hashing and soft deletes
- RFC 7807
ProblemDetailerror responses - Unit, web-layer, repository and Testcontainers integration tests
- Docker Compose support and GitHub Actions CI/CD
- JaCoCo coverage generated during Maven verification
Generated Documentation
Build Runtime
- Java 21
- Maven
- GitHub Actions on
ubuntu-latest
Source Links
Local API Documentation
Static OpenAPI HTML documentation is generated by Maven from:
src/main/resources/openapi/identity-api.yaml
CI publishes it at:
https://danielemasone.github.io/identity-service/openapi/
Swagger UI is still exposed by the running Spring Boot application as a local runtime convenience:
http://localhost:8080/api/swagger-ui.html
GitHub Pages is static and does not host the running backend API.
Local Verification
Generate OpenAPI sources, MapStruct implementations, tests, package output and JaCoCo coverage:
mvn clean verify
Generate this Maven site after verification:
mvn site
The generated output is written to:
target/site
