Dominux/clean-architecture-blog
39.5
Weak · 21 September 2026
535
lines of production code
Go
with TypeScript
4
measurements over time
What this system is
This system is a full-stack blog application consisting of a Go backend and a React frontend. The backend provides a RESTful API for managing blog posts using Gin and GORM with SQLite persistence, while the frontend displays post listings and details via client-side routing. It supports both static site generation and a separate frontend client mode with CORS enabled.
Features
Implemented full CRUD API for Posts with GORM persistence
The application now supports creating, reading, updating, and deleting blog posts via a new web controller layer built on Gin. This change introduces a clean architecture structure within the internal package, replacing the previous flat entity and service definitions with distinct layers: entities (Post, Comment, User), services (PostService), and a GORM-based store implementation (gormstore) that handles database operations and schema migration. Users can now interact with posts through HTTP endpoints that map to these service methods, with proper error handling for not-found scenarios.
internal · high confidence
Initial API and SPA serving setup for the blog application
The application now exposes a RESTful API for managing blog posts at the /api/posts endpoint, supporting Create, List, Receive (GetByID), Update, and Delete operations. It uses SQLite for data persistence and GORM for schema management. The server supports two modes: in 'SSG' mode, it serves static HTML templates directly, while in default mode, it enables CORS to support a separate frontend client.
cmd · high confidence
Initial frontend release with blog post listing and routing
The frontend application is now available, bootstrapped with Create React App and TypeScript. Users can view a list of blog posts on the home page, which fetches data from the backend API, and click through to individual post details via client-side routing. The UI utilizes Material UI for layout and styling, includes a 404 page for unmatched routes, and is configured to connect to the backend service via environment variables for protocol, host, and port.
frontend · high confidence
Dependencies
Initial frontend setup and backend dependency updates
The frontend directory now includes a package.json and yarn.lock, establishing the React 17, MUI 5, and Axios 0.24 dependency stack for the client application. On the backend, go.mod has been updated to include the Gin web framework (v1.7.4) with its CORS middleware, alongside an upgrade to GORM (v1.21.16) and the addition of the SQLite driver (v1.1.6) and various standard library dependencies.
(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
Baseline
- First survey — no prior run to compare against. CAI 39.
Lenses
- Code Health 100
- Architecture 69
- Maturity 50
- Readiness 13
- Security 78
Changes since last survey
- 28 commits — 26 feature/other, 2 fixes
By area
- (root) — 10 commits
- internal/store — 6 commits
- frontend/src — 4 commits
- (repo) — 2 commits
- cmd/main.go — 1 commit
- frontend/public — 1 commit
- internal/entity — 1 commit
- internal/repository — 1 commit
- internal/service — 1 commit
- internal/views — 1 commit
Notable commits
- fix: Fixed bug with update method for posts
- fix: WIP: Almost added update posts, routing pattern bug
- change: Added .editorconfig
- change: Added 404 page
- change: Added delete route
- change: Added id handler
- change: Added posts GetByID
- change: Added web controller for creating post
- change: Cors and other troubles resolved, now we get all posts
- change: Create Licence
- change: Create README.md
- change: Created .gitattributes
- change: Dockerized
- change: Excluded .env file from the git linguistic analysis
- change: Finally created Post creating in internal
- change: Finally get SPA client, served by golang server
- change: Finally it works
- change: Merge pull request #3 from Dominux/develop
- change: Merge pull request #4 from Dominux/add-license-1
- change: Provided "CRUD read" for posts (#1)
- …and 8 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
Dominux/clean-architecture-blog 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 2c5bf2c56c28997964b8258384c4de13b1c25184 — 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-28e75b8e3254.