amirhosseinsaloot/dotnet-ddd
35.2
Weak · 21 September 2026
845
lines of production code
C#
primary language
4
measurements over time
What this system is
Behavioural changes
Consolidates repository interfaces and updates dependency injection
The separate read and write repository interfaces (IReadRepository, IWriteRepository) are replaced by a single unified IRepository interface, and the API's service collection is updated to register BaseRepository as the implementation for IRepository. This changes how data access is structured and wired in the application.
src/DomainDrivenDesign.Api · high confidence
Consolidates repository pattern and moves settings to infrastructure
The separate ReadRepository and WriteRepository classes have been replaced by a single, unified BaseRepository that implements the IRepository interface, simplifying data access. Additionally, the ApplicationSettings and DatabaseSettings configuration classes have been moved from the Domain layer to the Infrastructure layer, reflecting that these are implementation details rather than domain concepts.
src/DomainDrivenDesign.Infrastructure · high confidence
Dependencies
Upgrade to .NET 10 and update core libraries
The project has been upgraded to target .NET 10.0, moving from previous .NET 6/7 versions. Additionally, several key libraries have been updated to their latest versions: FluentValidation to 12.1.1, Microsoft.EntityFrameworkCore and related packages to 10.0.7, and Swashbuckle.AspNetCore to 10.1.7. This ensures compatibility with the latest .NET runtime and provides access to new features and security fixes in the underlying libraries.
(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 (-0.4)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 74 → 75 (+0.7)
- Architecture 82 → 82 (+0.0)
- Maturity 59 → 59 (+0.0)
- Readiness 27 → 27 (+0.0)
- Security 27 → 28 (+0.6)
- Domain Modelling 48 → 43 (-4.7)
Resolved (6)
- No exposed public API
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- git history depth insufficient
- redundant comment (src/DomainDrivenDesign.Api/Middlewares/GlobalExceptionHandlerMiddleware.cs)
- single-maintainer — knowledge-concentration (bus factor) risk
New (6)
- AnalyzerSeverityNone (.editorconfig)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Typographical errors in method names: 'Intialize' is missing a 'n' (should be Initialize) and 'Midlleware' is missing an 'e' (should be Middleware). These are spelling inconsistencies within the codebase.
- redundant comment (src/DomainDrivenDesign.Api/Program.cs)
- redundant comment (src/DomainDrivenDesign.Domain/Interfaces/Specification/SpecificationBase.cs)
Architecture
- Unchanged — 2 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
amirhosseinsaloot/dotnet-ddd 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 24d4222de2cef32540a2eabec23c358eb25244a0 — 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.