ShowMeYourCodeYouTube/hexagonal-architecture
74.7
Strong · 22 September 2026
783
lines of production code
Kotlin
primary language
6
measurements over time
What this system is
This system is a Spring Boot application that serves as a comparative showcase for four distinct architectural patterns—Clean, Component-based, Hexagonal, and Onion—each implemented to manage products via separate REST API endpoints. It provides a complete development environment for these patterns, including Swagger UI for API documentation and comprehensive integration tests to verify functionality across all implementations. The project is configured with modern Kotlin and Spring Boot dependencies, supported by build tools and code quality plugins.
Features
Introduce four distinct architectural implementations for product management
The application now provides four separate implementations for managing products, each following a different architectural pattern: Clean, Component-based, Hexagonal, and Onion. Each implementation exposes its own REST API endpoints (e.g., /api/clean/v1/products, /api/component/v1/products, /api/hexagonal/v1/products, /api/onion/v1/products) for adding and retrieving products. The codebase also includes a Swagger UI interface and an OpenAPI specification file to expose the API documentation for all four endpoints.
src/main · high confidence
Test coverage
Added integration tests for product management across multiple architecture styles
Added new integration tests for the clean, component, hexagonal, and onion architecture implementations. Each test suite verifies the full request/response cycle for creating and retrieving products, including validation of error handling for missing required fields. Additionally, a test configuration file and a removed placeholder test were added to support these new test suites.
src/test · high confidence
Dependencies
Update Kotlin, Spring Boot, and related dependencies
The project's build configuration has been updated to use Kotlin version 1.9.0 and Spring Boot 3.1.2, along with updated versions of the Spring Dependency Management plugin (1.1.3), SonarQube plugin (4.3.0.3225), and ktlint (11.5.1). New dependencies for Log4j2 and Jackson modules have been added, and test configurations have been adjusted to include XML and HTML reports for JaCoCo.
(dependencies) · medium 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 75 → 75 (-0.1)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 98 (-0.9)
- Architecture 69 → 69 (+0.0)
- Maturity 77 → 77 (+0.0)
- Readiness 73 → 73 (+0.0)
- Security 100 → 100 (+0.0)
Resolved (11)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (12 lines × 4) (src/main/kotlin/com/showmeyourcode/architecture/clean/adapters/api/ProductHandler.kt)
- Duplicated block (20 lines × 2) (src/main/kotlin/com/showmeyourcode/architecture/component/config/BeanConfigurations.kt)
- No exposed public API
- Test reliability not included
- The 'Technology' section lists only the framework (Spring Boot) without explaining what technologies or tools are used beyond that line. (README.md)
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- git history depth insufficient
New (11)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no project overview (README.md)
- Duplicated block (13 lines × 4) (src/main/kotlin/com/showmeyourcode/architecture/clean/adapters/db/InMemoryProductRepository.kt)
- Duplicated block (14 lines × 2) (src/main/kotlin/com/showmeyourcode/architecture/component/component/productservice/internal/ProductService.kt)
- Duplicated block (19 lines × 4) (src/main/kotlin/com/showmeyourcode/architecture/clean/adapters/api/ProductHandler.kt)
- Duplicated block (22 lines × 2) (src/main/kotlin/com/showmeyourcode/architecture/component/config/BeanConfigurations.kt)
- Duplicated block (7 lines × 4) (src/main/kotlin/com/showmeyourcode/architecture/clean/adapters/api/ProductHandler.kt)
- Duplicated block (8 lines × 2) (src/main/kotlin/com/showmeyourcode/architecture/clean/usecase/ProductUseCaseImpl.kt)
- Duplicated block (8 lines × 4) (src/main/kotlin/com/showmeyourcode/architecture/clean/adapters/api/ProductRoutes.kt)
- Members sharing a duplicated core (4 members, 50+ identical tokens) (src/main/kotlin/com/showmeyourcode/architecture/clean/adapters/api/ProductHandler.kt)
- No ADRs found
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
ShowMeYourCodeYouTube/hexagonal-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 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 a63617c5e990452e501f7d07386726454f5e9a17 — 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-821afab8930d.