kawser2133/clean-structured-project
35.0
Weak · 21 September 2026
767
lines of production code
C#
primary language
4
measurements over time
What this system is
This system is an ASP.NET Core application built on Clean Architecture principles, designed to manage product data through a structured layering of Core, Infrastructure, and UI components. It provides full CRUD capabilities for products, supported by Entity Framework Core for database persistence and AutoMapper for object mapping. The architecture is complemented by a comprehensive unit test suite and utilizes .NET 7 with standard dependency injection and caching strategies.
Features
Initial database schema and repository layer for product management
The application now includes the initial Entity Framework Core migration and model snapshot for the \ApplicationDbContext\, establishing the database schema for \Products\ and ASP.NET Identity tables (\Users\, \Roles\, etc.). Additionally, a \BaseRepository\ is introduced with support for generic existence checks and pagination, and a \ProductRepository\ is added to handle product-specific data access.
Project.Infrastructure · high confidence
Initial release of Clean Structured Project template
The repository has been initialized with a complete ASP.NET Core project template following Clean Architecture principles. This includes the solution file (Clean.Project.sln) defining the Core, Infrastructure, and UI layers, along with a comprehensive .gitignore for Visual Studio and .NET builds, an MIT License, and a detailed README.md explaining the architecture, features, and usage instructions.
(repo-wide) · high confidence
Initial release of the Product management UI
The Project.UI layer is introduced with a complete set of controllers, views, and configuration files to support product management. The ProductController implements CRUD operations (Create, Edit, Delete, Details) and a paginated index view, backed by in-memory caching for product details. The Home controller provides a dashboard view. The application registers service, repository, and AutoMapper mappings, and configures a custom request/response logging middleware. The UI includes a sidebar layout, CSS styling, and JavaScript for sidebar toggling.
Project.UI · high confidence
Introduce core abstractions and services for product management
Added foundational classes and interfaces to support product operations: a generic pagination view model, a base entity class, and a Product entity with validation attributes. Introduced a NotFoundException for error handling, along with generic mapper and repository interfaces that define standard CRUD and pagination operations. The ProductService implements these interfaces, using AutoMapper for object mapping and manual mapping for updates, enabling retrieval, creation, update, and deletion of products with support for paginated results.
Project.Core · high confidence
Test coverage
Added unit tests for Product service, repository, and controller
Added new unit tests for the Product domain, including tests for the ProductService, ProductRepository, and ProductController. The test suite covers the CreateProductAsync flow, repository AddAsync operations, and the controller's Index action, ensuring that the product management features function correctly across the application layers.
Project.UnitTest · high confidence
Dependencies
Initial project structure and dependencies for .NET 7
The project has been initialized with a .NET 7 target framework across all four projects (Core, Infrastructure, UI, and UnitTest). This includes adding NuGet packages for Entity Framework Core 7.0.8, AutoMapper 12.0.1, and various testing and code-generation tools, establishing the foundational dependencies for the application.
(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 36 → 35 (-1.4)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 69 → 69 (+0.0)
- Architecture 86 → 86 (+0.0)
- Maturity 48 → 48 (+0.0)
- Readiness 36 → 36 (+0.0)
- Security 22 → 19 (-3.1)
- Accessibility 66 → 66 (+0.0)
Resolved (5)
- Duplicated block (19 lines × 2) (Project.UI/Controllers/ProductController.cs)
- Medium CVE: Azure.Identity 1.6.0
- Medium CVE: Azure.Identity 1.6.0
- No exposed public API
- single-maintainer — knowledge-concentration (bus factor) risk
New (8)
- Documentation: no usage examples (README.md)
- Duplicated block (30 lines × 2) (Project.UI/Controllers/ProductController.cs)
- End-of-life runtime: .NET net7.0
- The method name 'IsExists' in the repository layer uses non-standard plural phrasing for a boolean existence check.
- The method name 'IsExists' uses non-standard plural phrasing for a boolean existence check. Standard convention is singular 'Exists' (e.g., 'Does the product exist?').
- The method name 'IsExistsForUpdate' combines the non-standard 'IsExists' with a specific use-case suffix. While the suffix is descriptive, the base verb form is inconsistent with standard C# conventions for existence checks.
- The method name 'IsExistsForUpdate' in the repository layer mirrors the service layer inconsistency. It should align with the corrected service naming.
- redundant comment (Project.Infrastructure/Data/ApplicationDbContextConfigurations.cs)
API surface
- Unchanged — 1 HTTP endpoints
Architecture
- Unchanged — 2 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
kawser2133/clean-structured-project 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 e88d985f135030d979c55a23b8f60f05b003f9b9 — 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-7e99f679af8e.