full-stack-engineering/java-clean-architecture
41.3
Weak · 21 September 2026
1.4k
lines of production code
Java
primary language
4
measurements over time
What this system is
This system is a Java-based application structured using Clean Architecture principles, organized into distinct Maven modules for domain, application logic, and infrastructure adapters. It currently serves as a refactored codebase that has removed legacy project and task management features to establish a new, layered architecture. The system is designed to support future feature development through a clean separation of business logic from Spring-specific implementations.
Removals
Removed legacy project and task management components
The application's initial implementation of project and task management has been removed. This includes the main application class that handled warm-up data seeding, the REST controllers for projects and tasks, the service layer classes (ProjectService, TaskService), the data transfer objects (TaskWithChangesDto), the JPA entity classes (Project, ProjectStep, Task), and the corresponding Spring Data JPA repositories. This change eliminates the previous feature set, likely to make way for a new architecture or feature set.
src/main · high confidence
Behavioural changes
Reorganize project into a monolithic module structure
The application's source code, test suite, and API test collection have been moved into a new 'monolith' directory, establishing a clear separation for the main application entry point and its associated tests. This structural change supports the introduction of multiple Maven modules, allowing the codebase to be organized into distinct, manageable parts while maintaining a single build unit for now.
monolith · high confidence
Reorganized codebase into adapters, app, and domain layers
The project has been restructured into a layered architecture. The \adapters\ module now contains all Spring-specific implementations, including controllers, repositories, and event listeners for projects and tasks. The \app\ module holds the application logic, featuring new facades (\ProjectFacade\, \TaskFacade\) that coordinate domain operations and handle DTOs. The \domain\ module defines the core domain models, repositories, and value objects, establishing a clean separation between business logic and infrastructure. This change enforces a dependency rule where the application layer depends on the domain layer, and the adapter layer implements the domain interfaces.
adapters, app/src, domain · high confidence
Dependencies
Maven multi-module structure for Clean Architecture layers
The project has been reorganized into a Maven multi-module build. The root pom.xml now defines four modules: monolith, domain, app, and adapters. Each module has its own pom.xml with specific dependencies, such as Spring Boot starters and JJWT for the adapters, while the root project manages the module structure. This change affects how the application is built and deployed, requiring a multi-module build process.
(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 41 → 41 (+0.3)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 99 (-0.9)
- Architecture 100 → 78 (-22.2)
- Maturity 43 → 41 (-2.2)
- Readiness 8 → 16 (+8.3)
- Security 97 → 97 (+0.0)
Resolved (9)
- 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
- 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 (12)
- 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)
- Duplicated block (5 lines × 2) (adapters/src/main/java/io/github/mat3e/project/ProjectController.java)
- Duplicated block (7 lines × 2) (domain/src/main/java/io/github/mat3e/project/Project.java)
- Duplicated block (9 lines × 2) (domain/src/main/java/io/github/mat3e/task/Task.java)
- FixmeComment (domain/src/main/java/io/github/mat3e/project/Project.java)
- No ADRs found
- No assertions (empty test): contextLoads (monolith/src/test/java/io/github/mat3e/JavaCleanArchitectureApplicationTests.java)
- Scanner failed to run — not a clean result
- Scanner failed to run — not a clean result
- Test project verifies nothing: monolith (monolith/src/test/java/io/github/mat3e/JavaCleanArchitectureApplicationTests.java)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
full-stack-engineering/java-clean-architecture 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 0847e69e2f9b8e1883673a2c4eed30a67c9913fc — 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.