sofieneBK/hands-on-hexagonal-architecture-with-spring-boot
44.1
Weak · 21 September 2026
210
lines of production code
Java
primary language
4
measurements over time
What this system is
This system is a Spring Boot-based microservice for managing book records, structured as a multi-module Maven project. It implements a clean architecture with separate domain, application, and infrastructure layers to handle book creation, retrieval, update, and deletion. The service exposes REST endpoints for book management and uses JPA for persistence, pre-seeded with initial data.
Features
Added Book management endpoints
A new REST controller for books has been introduced, exposing endpoints to add, update, retrieve, and delete book records via HTTP methods (POST, PUT, GET, DELETE) mapped to the /book path.
application · high confidence
Added JPA-based persistence for Book entities
The infrastructure layer now includes a new Spring Boot JPA adapter for managing Book entities. This introduces a new database entity (Book) with fields for title, description, and price, along with a repository interface for standard CRUD operations. The BookJpaAdapter implements the BookPersistencePort, using MapStruct for DTO-to-entity mapping, enabling the application to persist and retrieve books via JPA.
infrastructure · high confidence
Added book management capabilities to the domain layer
The domain layer now supports managing books through a new service implementation and associated interfaces. A \BookDto\ data transfer object was introduced to represent book data (id, title, description, price). Additionally, \BookServicePort\ and \BookPersistencePort\ interfaces were added to define the API and persistence contracts for adding, deleting, updating, and retrieving books, with \BookServiceImpl\ implementing the service layer to delegate to the persistence port.
domain · high confidence
Initial setup of the ms-launcher service
The ms-launcher module has been added, introducing a Spring Boot application entry point and a configuration class that wires the book service and persistence adapter. Additionally, the service is pre-seeded with initial book data via a data.sql script.
ms-launcher · high confidence
Dependencies
Initial Maven multi-module project structure
The project is initialized as a Maven multi-module build with a parent POM defining four modules: domain, application, infrastructure, and ms-launcher. The parent POM inherits from Spring Boot 2.4.3 and sets Java 11. Dependencies include Spring Boot starters, H2, MapStruct 1.4.2.Final, and Lombok, with the Spring Boot Maven plugin configured to exclude Lombok from the final artifact.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 50 → 44 (-5.5)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 61 (-38.6)
- Maturity 57 → 57 (+0.0)
- Readiness 17 → 17 (+0.0)
- Security 100 → 100 (+0.0)
Resolved (7)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Scanner failed to run — not a clean result
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- git history depth insufficient
- single-maintainer — knowledge-concentration (bus factor) risk
New (8)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High interface indirection
- No ADRs found
- Scanner failed to run — not a clean result
- Scanner failed to run — not a clean result
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
sofieneBK/hands-on-hexagonal-architecture-with-spring-boot was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 0fc1816bb6fb55ed9e2b2218d19d0e3727a446b4 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.