cyruzin/clean_architecture
70.4
Strong · 21 September 2026
532
lines of production code
Go
primary language
4
measurements over time
What this system is
This system is a Go-based route management service that calculates and presents travel routes based on departure and destination inputs. It utilizes a clean architecture pattern, separating HTTP handling, business logic, and data presentation layers. The application reads route data from CSV files and exposes functionality via a CLI tool and an HTTP server with CORS support.
Features
Add CLI entry point for route checking
The CLI tool now accepts two command-line arguments (departure and destination) to check for the best route. It instantiates the route use case and CSV presenter, then logs the calculated price for the specified route.
cmd/cli · high confidence
Introduce route entity models and error definitions
The entities package now defines the core data structures and error constants for the application. A Route struct is introduced to represent departure, destination, and price, alongside interfaces for route presentation and use-case operations. Additionally, specific error variables are defined for common scenarios such as missing parameters, required fields, and route conflicts.
entities · high confidence
Removals
Removed internal route handling components
Deleted the internal application files for route management, including the route entity, repository, service, router, server, and CSV storage implementation. This removes the core logic for handling route data and HTTP routing.
internal · high confidence
Behavioural changes
Added CSV package and refactored project structure
A new \pkg/csv\ package was added, providing \Read\ and \Write\ functions for handling CSV files, accompanied by corresponding unit tests. The project structure was refactored by moving \pkg/rest\ from \internal/pkg/rest\ to \pkg/rest\. Additionally, the \Stack()\ method was added to the logging call in \pkg/rest/rest.go\ to include stack traces in error logs.
pkg · high confidence
Refactor route service to use clean architecture and chi router
The route service has been refactored to follow a clean architecture pattern, replacing the previous implementation with a new handler that utilizes a CSV presenter and a dedicated use case. The HTTP server is now built using the chi router, which includes explicit CORS headers, JSON content type rendering, and a custom logger middleware. Additionally, the application now supports environment-based logging configurations (Unix timestamps for production, console output for development) and implements graceful shutdown handling for the HTTP server.
cmd/route · high confidence
Refactored route module into Clean Architecture layers
The route module has been restructured into distinct layers: a new use case layer (usecase.go) handles business logic, the HTTP controller (controller.go) now delegates to the use case instead of a service, and the CSV presenter (csv.go) implements the new interface. This change introduces a cleaner separation of concerns, making the route feature easier to test and maintain.
modules/route · high confidence
Updated route definitions in assets/routes.csv
The file assets/routes.csv has been updated to include new route entries. Specifically, the previous entry for 'REL,ORL,59' was replaced with new routes for 'YYY,ZZZ' and 'RJ,SP', along with an additional route for 'CCC,DDD'. This change modifies the available routes for users relying on this data source.
assets · high confidence
Test coverage
Config package moved to root config directory
The configuration loading logic has been relocated from internal/app/config to the root config directory, and unit tests for config loading have been added to verify environment mode handling.
config · high confidence
Dependencies
Updated Go module dependencies and runtime version
The project's Go module has been updated to use Go 1.15 and the module path was changed to github.com/cyruzin/clean\_architecture. Several dependencies were upgraded, including rs/zerolog from v1.19.0 to v1.21.0, and pkg/errors from v0.8.1 to v0.9.1. Additionally, indirect dependencies for modern-go/concurrent and modern-go/reflect2 were added to the go.mod file.
(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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 66 → 70 (+4.5)
- 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 71 → 71 (+0.0)
- Readiness 57 → 66 (+8.7)
- Security 81 → 86 (+5.0)
Resolved (12)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (go.sum)
- High CVE: [GHSA redacted] (go.sum)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium CVE: GO-2021-0263 (go.mod)
- Medium CVE: GO-2026-4316 (go.mod)
- No exposed public API
- Test reliability not included
- early-stage repository — too little history to judge knowledge freshness
- single-maintainer — knowledge-concentration (bus factor) risk
New (21)
- Deprecated module: github.com/go-chi/chi
- Documentation: no architecture or design documentation (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (go.sum)
- High CVE: [GHSA redacted] (go.sum)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium CVE: GO-2021-0263 (go.mod)
- Medium CVE: GO-2026-4316 (go.mod)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- No ADRs found
- No dependency advisory monitoring
- Outdated: github.com/go-chi/cors
- Outdated: github.com/go-chi/render
- Outdated: github.com/json-iterator/go
- Outdated: github.com/rs/zerolog
- …and 1 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
cyruzin/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 5dd97c093157b86dda19a1fbabc142314a4b1ccf — 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.