phongnguyend/Practical.CleanArchitecture
47.3
Weak · 29 July 2026
16.4k
lines of production code
C#
with JavaScript, TypeScript
2
measurements over time
How this codebase got here
Score
- CAI 43 → 47 (+4.5)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.
Lenses
- Code Health 58 → 61 (+3.2)
- Architecture 84 → 84 (-0.0)
- Maturity 61 → 64 (+3.3)
- Readiness 34 → 46 (+11.8)
- Security 66 → 75 (+9.2)
- Domain Modelling 100 → 100 (+0.0)
- Event-Driven 64 → 64 (+0.0)
- Accessibility 36 → 37 (+1.2)
- Performance 61 → 61 (+0.0)
Resolved (125)
- Change coupling: Program.cs ↔ Program.cs (src/Microservices/Services.Identity/ClassifiedAds.Services.Identity.Api/Program.cs)
- Dead code: AddClaimCommandHandler (src/Monolith/ClassifiedAds.Application/Roles/Commands/AddClaimCommand.cs)
- Dead code: AddClaimCommandHandler (src/Monolith/ClassifiedAds.Application/Users/Commands/AddClaimCommand.cs)
- Dead code: AddEntityCommandHandler (src/Monolith/ClassifiedAds.Application/Common/Commands/AddEntityCommand.cs)
- Dead code: AddRoleCommandHandler (src/Monolith/ClassifiedAds.Application/Users/Commands/AddRoleCommand .cs)
- Dead code: AddUpdateProductCommandHandler (src/Monolith/ClassifiedAds.Application/Products/Commands/AddUpdateProductCommand.cs)
- Dead code: AddUpdateRoleCommandHandler (src/Monolith/ClassifiedAds.Application/Roles/Commands/AddUpdateRoleCommand .cs)
- Dead code: DeleteClaimCommandHandler (src/Monolith/ClassifiedAds.Application/Roles/Commands/DeleteClaimCommand.cs)
- Dead code: DeleteClaimCommandHandler (src/Monolith/ClassifiedAds.Application/Users/Commands/DeleteClaimCommand.cs)
- Dead code: DeleteProductCommandHandler (src/Monolith/ClassifiedAds.Application/Products/Commands/DeleteProductCommand.cs)
- Dead code: DeleteRoleCommandHandler (src/Monolith/ClassifiedAds.Application/Roles/Commands/DeleteRoleCommand.cs)
- Dead code: DeleteRoleCommandHandler (src/Monolith/ClassifiedAds.Application/Users/Commands/DeleteRoleCommand.cs)
- Dead code: DeleteUserCommandHandler (src/Monolith/ClassifiedAds.Application/Users/Commands/DeleteUserCommand.cs)
- Dead code: GetAuditEntriesQueryHandler (src/Monolith/ClassifiedAds.Application/AuditLogEntries/Queries/GetAuditEntriesQuery.cs)
- Dead code: GetFileEntriesQueryHandler (src/Monolith/ClassifiedAds.Application/FileEntries/Queries/GetFileEntriesQuery.cs)
- Dead code: GetPagedAuditEntriesQueryHandler (src/Monolith/ClassifiedAds.Application/AuditLogEntries/Queries/GetPagedAuditEntriesQuery.cs)
- Dead code: GetProductQueryHandler (src/Monolith/ClassifiedAds.Application/Products/Queries/GetProductQuery.cs)
- Dead code: GetRoleQueryHandler (src/Monolith/ClassifiedAds.Application/Roles/Queries/GetRoleQuery.cs)
- Dead code: GetRolesQueryHandler (src/Monolith/ClassifiedAds.Application/Roles/Queries/GetRolesQuery.cs)
- Dead code: GetUserQueryHandler (src/Monolith/ClassifiedAds.Application/Users/Queries/GetUserQuery.cs)
- …and 105 more
New (117)
- Build action pinned to a mutable branch
- Change coupling: Nav.vue ↔ List.vue (src/UIs/vuejs/src/views/Nav.vue)
- Change coupling: RabbitMQReceiver.cs ↔ RabbitMQSender.cs (src/Microservices/Common/ClassifiedAds.Infrastructure/Messaging/RabbitMQ/RabbitMQReceiver.cs)
- Change coupling: SendEmailWorker.cs ↔ SendSmsWorker.cs (src/Monolith/ClassifiedAds.Background/HostedServices/SendEmailWorker.cs)
- Coverage not measured — no test passed in the analyzed run
- Critical CVE: [GHSA redacted] (src/UIs/angular/package-lock.json)
- High CVE: [GHSA redacted] (src/UIs/angular/package-lock.json)
- High CVE: [GHSA redacted] (src/UIs/angular/package-lock.json)
- High CVE: [GHSA redacted] (src/UIs/angular/package-lock.json)
- High CVE: [GHSA redacted] (src/UIs/angular/package-lock.json)
- High CVE: [GHSA redacted] (src/UIs/bff/reactjs/package-lock.json)
- High CVE: [GHSA redacted] (src/UIs/angular/package-lock.json)
- High CVE: System.Security.Cryptography.Xml 10.0.8
- High CVE: System.Security.Cryptography.Xml 10.0.8
- High CVE: System.Security.Cryptography.Xml 10.0.8
- High CVE: System.Security.Cryptography.Xml 10.0.8
- High CVE: System.Security.Cryptography.Xml 10.0.8
- High CVE: System.Security.Cryptography.Xml 8.0.2
- High CVE: System.Security.Cryptography.Xml 8.0.2
- High CVE: System.Security.Cryptography.Xml 8.0.2
- …and 97 more
API surface
- Unchanged — 54 HTTP endpoints
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
phongnguyend/Practical.CleanArchitecture 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 29 July 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 818f3b56654cb88450a5bca8a15e7423fef8609b — the exact code this score is about.
- Scored under rubric-2026.08.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer latest.