rijwanansari/CleanArchitectureDOTNET8BlazorWeb
45.5
Weak · 21 September 2026
1.3k
lines of production code
C#
primary language
4
measurements over time
What this system is
Features
Added Blazor WebAssembly client and Identity UI server components for authentication
The project now includes a Blazor WebAssembly client with a persistent authentication state provider and a server-side Identity UI implementation. This adds the full set of account management pages, including login, registration, email confirmation, password reset, two-factor authentication, and user profile management, enabling users to securely authenticate and manage their personal data.
CleanBlazorWeb · high confidence
Added domain models and base classes for the application
Introduced new domain classes and base types to support the application's data model. This includes the \AppConstants\ class defining role names, and base entity classes (\BaseEntity\, \AuditableWithBaseEntity\) that provide common properties like \Id\, \Created\, \Modified\, and soft-delete flags. Additionally, new domain entities for \AppSetting\, \ReferenceField\, and \UserAccess\ have been added, along with a \PaginatedList\ helper for list operations.
Domain · high confidence
Initial project structure and documentation
The repository was initialized with a complete .NET 8 Blazor Web App solution, including the main application, client, and layered architecture projects (Application, Domain, Infrastructure). The change also adds essential project files, a solution file, and comprehensive documentation in the README explaining the clean architecture, tech stack, and contribution guidelines.
(repo-wide) · high confidence
Introduce Clean Architecture layers with Application and Infrastructure implementations
The application now features a Clean Architecture structure, introducing the Application and Infrastructure layers. The Application layer provides core business logic and abstractions, including a generic repository pattern (IRepository, IUnitOfWork), service interfaces (IMasterServices, IUserService), and data transfer objects (AppSettingVm, UserModel). The Infrastructure layer implements these interfaces, providing Entity Framework Core persistence via ApplicationDBContext and EfRepository, along with an identity provider (ApplicationUser) and error logging (ErrorMessageLog). This change establishes the foundational services and data access mechanisms for the application.
Application, Infrastructure · high confidence
Dependencies
Added .NET 8.0 project files for Clean Architecture layers
The repository now includes five new C\# project files that establish the solution's Clean Architecture structure. These define the Domain, Application, and Infrastructure layers, along with the Blazor WebAssembly client and the main web host. All projects target .NET 8.0 and include specific NuGet package references for dependencies such as Entity Framework Core 8.0.3, AutoMapper, and Blazor components, effectively wiring the project dependencies for the new architecture.
(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
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 44 → 46 (+1.1)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 79 → 69 (-10.3)
- Architecture 87 → 87 (+0.0)
- Maturity 53 → 53 (+0.0)
- Readiness 32 → 32 (+0.0)
- Security 53 → 56 (+2.8)
- Accessibility 50 → 59 (+8.4)
Resolved (18)
- Duplicated block (7 lines × 2) (CleanBlazorWeb/CleanBlazorWeb/Components/Account/Pages/ResendEmailConfirmation.razor)
- High CVE: System.Text.Json 8.0.0
- High CVE: System.Text.Json 8.0.0
- High: security finding (details withheld)
- High: security finding (details withheld)
- Low CVE: Microsoft.Identity.Client 4.56.0
- Medium CVE: Azure.Identity 1.10.3
- Medium CVE: Azure.Identity 1.10.3
- Medium CVE: Azure.Identity 1.7.0
- Medium CVE: Azure.Identity 1.7.0
- No exposed public API
- The interface IRepository defines two Delete methods with different parameter types: one taking an 'object' and another taking the generic type 'T'. This creates ambiguity and potential confusion about which overload to use or what the contract is.
- The interface IUnitOfWork defines a method named 'Save', while the concrete implementation UnitOfWork also has a 'Save' method. However, looking at the list, we see 'Save' and 'SaveAsync' in the interface but the implementation might differ. More critically, we see 'Save' in IUnitOfWork but 'SaveAsync' in EfRepository. While not a direct name clash, the synchronous/asynchronous naming is inconsistent across the Unit of Work and Repository patterns in this codebase (some use Sync, some Async, some neither).
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- git history depth insufficient
- redundant comment (CleanBlazorWeb/CleanBlazorWeb.Client/UserInfo.cs)
- single-maintainer — knowledge-concentration (bus factor) risk
New (15)
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (18–19 lines × 2) (CleanBlazorWeb/CleanBlazorWeb/Components/Account/Pages/ExternalLogin.razor)
- Duplicated block (7–8 lines × 3) (CleanBlazorWeb/CleanBlazorWeb/Components/Account/Pages/ExternalLogin.razor)
- High CVE: System.Text.Json 8.0.0
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium CVE: Azure.Identity 1.10.3
- No dependency advisory monitoring
- Workflow token permissions not restricted
- WriteOnlyPrivateField (Application/Master/MasterServices.cs)
- WriteOnlyPrivateField (Application/Master/MasterServices.cs)
- WriteOnlyPrivateField (Infrastructure/Identity/UserService.cs)
- redundant comment (Infrastructure/Persistence/ApplicationDBContext.cs)
API surface
- Unchanged — 4 HTTP endpoints
Architecture
- Unchanged — 3 containers · 1 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
rijwanansari/CleanArchitectureDOTNET8BlazorWeb 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 5289294f24b4ce4ed542c9ccbeebe63df57f75b5 — 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.