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 ./mvnw 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:
./mvnw clean verify
Generate this Maven site after verification:
./mvnw site
The generated output is written to:
target/site
