carlossalasamper/react-clean-architecture
36.8
Weak · 20 September 2026
1.4k
lines of production code
TypeScript
primary language
4
measurements over time
What this system is
This system is a React-based frontend application scaffolded using Clean Architecture principles, designed to manage and display blog posts. It leverages TypeScript, Vite, and Tailwind CSS for development, with MobX handling state management and Inversiland providing dependency injection. The application features a modular structure with bounded contexts, supporting post listing and viewing through a defined set of UI components, API integration, and internationalization.
Features
Added post viewing and listing capabilities
This change introduces the 'post' bounded context, enabling users to view a list of posts and inspect individual post details. It includes the presentation layer with \PostsPage\ and \PostPage\ components, state management via MobX stores (\GetPostsStore\, \FindPostStore\), and the necessary application logic (use cases) and infrastructure (repository) to fetch post data from the backend API.
src/post · high confidence
Initial application scaffolding with Clean Architecture and Inversiland DI
The application is initialized with a Clean Architecture structure, replacing the previously mentioned inversify-sugar with the Inversiland dependency injection library. This change introduces a modular setup (AppModule, CoreModule, PostModule) and registers core infrastructure services, including a global HttpClient with Axios interceptors for base URL configuration, a ToastService for notifications, and environment variable injection. The presentation layer is established with a React Router configuration for post management, a suite of reusable UI components (Button, Card, Dialog, TextInput, etc.) styled with Tailwind CSS, and i18n support via react-i18next. Additionally, performance monitoring is enabled via web-vitals, and global styles including the Roboto font are applied.
src, src/core · high confidence
Initial project scaffold for React Clean Architecture
This change introduces the foundational configuration and structure for a React application built on Clean Architecture principles. It establishes the development environment using Vite and TypeScript, configures Tailwind CSS for styling, and sets up ESLint for code quality. The project structure is organized into bounded contexts (specifically 'core' and 'post'), utilizing Inversiland for dependency injection, MobX for state management, and React Router for navigation. Additionally, standard tooling such as Husky for git hooks and commitlint for commit conventions is included to enforce development standards.
(repo-wide) · high confidence
Behavioural changes
Enforced commit message linting and added Vite environment type definitions
The project now enforces commit message standards via commitlint during the commit-msg hook and automatically fixes linting issues on pre-commit. Additionally, TypeScript definitions for Vite client environment variables have been added, allowing the application to safely access the VITE\_BASE\_API\_URL environment variable.
.husky, src/@types · high confidence
Dependencies
Initial project setup with React, Vite, and Inversiland
This change introduces the initial dependency configuration for the project, establishing a React 18 application built with Vite. It includes core libraries for state management (MobX, Inversiland), form handling (React Hook Form, Zod), and UI components (Tailwind CSS, Headless UI). The commit also sets up essential tooling for development and quality assurance, including TypeScript, ESLint, Prettier, and Husky for git hooks.
(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 40 → 37 (-3.4)
- Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 62 → 67 (+5.7)
- Architecture 69 → 69 (+0.0)
- Maturity 65 → 71 (+6.6)
- Readiness 13 → 17 (+3.4)
- Security 75 → 80 (+5.0)
- Accessibility 59 → 37 (-21.9)
Resolved (57)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Dependency hygiene not measured — no supported dependency manifest was read
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- …and 37 more
New (53)
- Button.Button (cyclomatic 18) (src/core/presentation/components/Button.tsx)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Documentation: no installation or build instructions (README.md)
- Documentation: no licence statement (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- …and 33 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
carlossalasamper/react-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 20 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 2c2500aab88e1f6bc4544021c33a9188d2b430b3 — 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.