bxcodec/go-clean-arch
69.9
Adequate · 21 September 2026
614
lines of production code
Go
primary language
4
measurements over time
What this system is
This system is a Go-based web service that manages articles and authors, exposing a REST API for their creation, retrieval, and deletion. It utilizes a MySQL database with a clean internal architecture separating domain models, repositories, and HTTP handlers. The application is containerized via Docker and includes comprehensive tooling for development, testing, and linting.
Features
Added Makefile targets for developer tooling and help
New Makefiles have been added to the project to streamline the development workflow. The \help\ target now provides a formatted list of available commands and their descriptions, improving discoverability. Additionally, a \tools\ Makefile has been introduced to manage the installation of various Go-based developer tools, including \migrate\, \air\, \gotestsum\, \tparse\, \mockery\, and \golangci-lint\, each with specific version pinning and automatic download/installation logic.
misc · high confidence
Added article service and test coverage
Introduced the article service layer, which manages article and author repository interactions, including fetching, retrieving by ID/title, storing, and deleting articles. The service also enriches article data with author details using concurrent goroutines. Additionally, comprehensive unit tests were added for the service, covering success and error scenarios for all repository operations.
article · high confidence
Added development, build, and database setup infrastructure
The project now includes configuration and tooling files to streamline development and deployment. A \.air.toml\ file enables hot-reloading during development, while a \Dockerfile\ and \compose.yaml\ (replacing the previous \docker-compose.yaml\) allow the application and its MySQL database to be run via Docker Compose. A \Makefile\ provides convenient commands for building, linting, and testing. Additionally, an \article.sql\ script is provided to initialize the MySQL database schema and seed data.
(repo-wide) · high confidence
Application entry point and server configuration
The application's main entry point (main.go) has been introduced, establishing the server startup sequence. This includes loading environment variables for database connectivity (host, port, user, password, name), configuring the MySQL connection with specific time and location parameters, and setting up the Echo web server with CORS and request timeout middleware. The server listens on port 9090 by default or via the SERVER\_ADDRESS environment variable.
app · high confidence
Introduce domain package with Article, Author, and error definitions
The domain package now includes new data structures for Article and Author, along with a set of predefined error variables (ErrInternalServerError, ErrNotFound, ErrConflict, ErrBadParamInput). This establishes the core domain models and error handling for the application.
domain · high confidence
Introduce v4 internal architecture with article and author repositories, REST handlers, and middleware
The internal directory now contains a complete v4 implementation for handling articles and authors. This includes MySQL repository implementations for articles and authors, along with helper functions for cursor encoding. The REST layer exposes endpoints for fetching, creating, updating, and deleting articles, as well as retrieving authors by ID. Additionally, CORS and timeout middleware are added to the HTTP server, and a mock service is provided for testing.
internal · high confidence
Dependencies
Migrated to Go modules and updated dependencies
The project has been converted to use Go modules, introducing a go.mod file that defines the module path and Go version. This includes adding dependencies such as the Echo v4 framework, MySQL driver, and test libraries like testify v1.9.0, along with their indirect dependencies.
(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
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 69 → 70 (+0.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 62 → 62 (+0.0)
- Readiness 71 → 74 (+3.4)
- Security 82 → 86 (+4.1)
- Domain Modelling 100 → 100 (+0.0)
Resolved (14)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (go.mod)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium CVE: [GHSA redacted] (go.mod)
- Medium CVE: GO-2024-2598 (go.mod)
- Medium CVE: GO-2026-5024 (go.mod)
- Medium CVE: GO-2026-5970 (go.mod)
- Medium IaC: CKV_DOCKER_3 (Dockerfile)
- Medium IaC: CKV_DOCKER_7 (Dockerfile)
- No exposed public API
- Test reliability not included
- dormant codebase — no living knowledge left to concentrate
New (24)
- Critical CVE: [GHSA redacted] (go.mod)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (go.mod)
- High IaC: WD-COMPOSE-0002 (compose.yaml)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium CVE: [GHSA redacted] (go.mod)
- Medium CVE: GO-2024-2598 (go.mod)
- Medium CVE: GO-2026-5024 (go.mod)
- Medium CVE: GO-2026-5970 (go.mod)
- Medium IaC: WD-COMPOSE-0002 (compose.yaml)
- Medium IaC: WD-DOCKER-0003 (Dockerfile)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- No ADRs found
- Outdated: github.com/go-faker/faker/v4
- Outdated: github.com/go-sql-driver/mysql
- Outdated: github.com/labstack/echo/v4
- …and 4 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
bxcodec/go-clean-arch 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 e06c6d0cb37069b0ef56e3df67f80ca130a1ab82 — 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.