xsreality/spring-modulith-with-ddd
54.1
Adequate · 22 September 2026
663
lines of production code
Java
primary language
7
measurements over time
What this system is
This system is a library management application built on Spring Boot that manages book catalogs and borrowing operations. It provides endpoints for maintaining book inventory and processing patron holds and checkouts, secured via OAuth2/JWT authentication. The architecture enforces strict modular and hexagonal design principles, supported by comprehensive integration and unit tests.
Features
Add catalog management and book inventory endpoints
Introduced a new catalog management capability allowing users to add books to the inventory, view individual book details, and list all books. The change adds a REST controller with endpoints for creating and retrieving book records, backed by a new domain model and application service layer.
src/main/java/example/catalog · high confidence
Add library borrowing and hold management capabilities
Users can now place holds on books, check out held items, and view hold status via the new CirculationDesk service and REST endpoints. The system introduces domain models for Book, Hold, and Patron, with a hexagonal architecture (application, domain, infrastructure layers) and Spring Security integration for authenticated user context in the borrow module.
src/main/java/example/borrow · high confidence
Behavioural changes
Introduces Spring Modulith and OAuth2/JWT authentication
The application now uses Spring Modulith to structure the codebase, with the main entry point annotated with @Modulithic. Additionally, web security is configured to enforce OAuth2 resource server authentication using JWTs, while allowing public access to Swagger UI and API documentation endpoints.
src/main/java/example · high confidence
Test coverage
Added integration and unit tests for the library borrowing system; Added test data for borrow and catalog book entities; Added tests for catalog module architecture and integration.
Dependencies
Initial project setup with Spring Boot 4.0.6 and Java 23
The project is initialized with Spring Boot 4.0.6, targeting Java 23, and includes dependencies for Spring Modulith, JPA, Security (OAuth2), SpringDoc OpenAPI, and JMolecules (layered, hexagonal, onion, and DDD architectures). The build is configured with the Maven Compiler Plugin 3.15.0 and Spring Modulith BOM 2.0.5, with test dependencies for ArchUnit and Spring Modulith testing.
(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 52 → 54 (+1.8)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 52 → 57 (+4.3)
- Readiness 34 → 36 (+1.9)
- Security 92 → 93 (+1.2)
- Domain Modelling 100 → 95 (-5.0)
Resolved (7)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- change coupling unreadable for .java — no production change history could be paired for this repository's own source
- dormant codebase — no living knowledge left to concentrate
New (14)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High IaC: WD-COMPOSE-0002 (docker-compose.yml)
- Medium IaC: WD-COMPOSE-0002 (docker-compose.yml)
- No ADRs found
- No assertions: addBookToCatalogFailsWithNonStaff (src/test/java/example/catalog/CatalogControllerIT.java)
- No assertions: addBookToCatalogSucceedsWithStaff (src/test/java/example/catalog/CatalogControllerIT.java)
- No assertions: checkoutBookRestCall (src/test/java/example/borrow/CirculationDeskControllerIT.java)
- No assertions: createModulithsDocumentation (src/test/java/example/SpringModulithTests.java)
- No assertions: patronCannotCheckoutBookHeldBySomeoneElse (src/test/java/example/borrow/CirculationDeskTest.java)
- No assertions: placeHoldRestCall (src/test/java/example/borrow/CirculationDeskControllerIT.java)
- 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
xsreality/spring-modulith-with-ddd 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 22 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 bbbabe06d3af9ddd78c5699ca7b4dab36792ee8c — 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-90d5d2fe38ee.