bailabs/react_js_clean_architecture
43.9
Weak · 21 September 2026
286
lines of production code
TypeScript
with JavaScript
4
measurements over time
What this system is
This system is a Next.js application that has been migrated from a standard React setup, featuring a TypeScript codebase with Redux Toolkit for state management. It provides a global state management layer for a counter and a plant list, alongside standard Next.js routing and API capabilities. The application also includes tooling for code quality and formatting, along with a security policy.
Features
Added Next.js configuration and global styles for the app
The app directory now includes essential configuration and styling files to support the Next.js framework. A TypeScript configuration (tsconfig.json) and environment type definitions (next-env.d.ts) have been added to enable proper type checking and Next.js integration. Additionally, global CSS styles (globals.css) and component-specific styles (Home.module.css) have been introduced to define the visual layout, typography, and responsive behavior for the home page.
src/app, src/app/styles · high confidence
Added Next.js pages with Redux Toolkit integration
The application now includes a custom Next.js \_app.tsx that wraps pages with a Redux store provider, enabling global state management across the app. The index page demonstrates this integration by displaying both a sync counter (using Redux Toolkit slices for increment/decrement actions) and an async reducer for fetching and displaying a list of plants. An API route at /api/hello is also added to support Next.js API routes.
src/pages · high confidence
Introduced Redux Toolkit for state management
The application now uses Redux Toolkit to manage state. A new counter feature has been added, along with a plant list feature that fetches data asynchronously. Custom React hooks for dispatching and selecting state are also provided.
src/app/redux · high confidence
Behavioural changes
Project configuration and tooling updates
The project's development environment and configuration have been updated. TypeScript compilation settings in tsconfig.json were modified, including enabling 'jsx: preserve' and adjusting strictness and module options. An ESLint configuration (.eslintrc.js) was added to enforce code quality, import sorting, and React/TypeScript best practices. Prettier was installed and configured (.prettierrc.js) for consistent code formatting. Additionally, a SECURITY.md policy file was added to the repository.
(repo-wide) · high confidence
Removed React app entry point and service worker
The application's main entry point (src/index.js) and the default Create React App service worker (src/serviceWorker.js) have been removed. This eliminates the automatic registration of a service worker for offline caching and background updates, meaning the app will no longer function as a Progressive Web App (PWA) with those specific capabilities.
src · high confidence
Removed legacy Redux-based item list implementation
The legacy Redux implementation for the item list has been removed. This includes the deletion of the actions, reducers, types, and the React component that relied on \react-redux\ for state management. Users will no longer see the item list rendered via this specific Redux flow.
src/app/pages · high confidence
Renamed data repository from Item to Plant
The data layer has been refactored to align with the domain model change from 'Item' to 'Plant'. The old \ItemRepositoryImpl\ has been removed and replaced with a new \PlantRepositoryImpl\ that fetches and maps plant data from the remote JSON source. This change ensures the data access layer correctly reflects the updated entity naming and structure.
src/data · high confidence
Renamed domain entities from Item to Plant
The domain layer has been refactored to use a 'Plant' model instead of the previous 'Item' model. This involves replacing the generic Item entity, repository, and service with their Plant-specific counterparts, meaning the application now manages plant data rather than generic items.
src/domain · high confidence
Replaced default React app static assets with Vercel branding
The default React application static files in the public directory have been removed, including index.html, manifest.json, and robots.txt. These have been replaced by a new public/vercel.svg file containing Vercel branding, indicating a shift from the standard Create React App template to a Vercel-specific setup.
public · medium confidence
Dependencies
Migrated from Create React App to Next.js with updated dependencies
The project has been migrated from a standard React application scaffolded with Create React App to a Next.js application. This change updates the build and development scripts to use Next.js commands (e.g., \next dev\, \next build\) and replaces the \react-scripts\ dependency with \next\. Additionally, the React library and related packages have been upgraded to version 17.0.2, and \@reduxjs/toolkit\ has been added as a new dependency for state management. The project has also been converted to TypeScript, introducing \typescript\ and associated type definitions, while dev dependencies have been updated to include ESLint, Prettier, and related configuration packages.
(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 39 → 44 (+5.1)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 91 → 91 (+0.5)
- Architecture 69 → 69 (+0.0)
- Maturity 48 → 46 (-1.8)
- Readiness 23 → 31 (+7.2)
- Security 38 → 55 (+17.0)
Resolved (39)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical vulnerability: [GHSA redacted] (yarn.lock)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- 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 19 more
New (96)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical vulnerability: [GHSA redacted] (yarn.lock)
- Critical vulnerability: [GHSA redacted] (yarn.lock)
- Documentation: no installation or build instructions (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)
- …and 76 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
bailabs/react_js_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 052818ccbf653bbcf8cb4c6e09116aac1141d7cb — 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-b84573e22831.