jasontaylordev/RapidBlazor
54.4
Adequate · 21 September 2026
2.6k
lines of production code
C#
primary language
4
measurements over time
What this system is
RapidBlazor is a .NET 7-based Blazor application template that implements a clean architecture for managing Todo lists and items. It provides a complete backend with domain-driven design, including user and role-based access control, alongside a corresponding frontend with administrative pages for managing users, roles, and permissions. The system is fully automated for Azure deployment via Infrastructure as Code and includes comprehensive unit, integration, and acceptance tests to ensure reliability.
Features
Add automated Azure infrastructure provisioning and deployment scripts
Users can now provision and deploy the application to Azure using new Infrastructure as Code (IaC) templates and automation scripts. The 'deploy' directory now includes Bicep templates (main.bicep, appSettings.bicep) to create Azure resources such as App Services, Key Vaults, SQL databases, and Application Insights, with support for 'Production' and 'Test' environments. Additionally, PowerShell scripts (setup.ps1, ensureCertificate.ps1) automate the creation of Azure AD applications, resource groups, GitHub environments, and the generation/import of signing certificates into Key Vault and App Service configurations.
deploy · high confidence
Adds flexible role-based access control and admin management pages
The client application now includes new administrative pages for managing users, roles, and access control permissions, alongside a new Todo feature. Users can now edit user roles, create and manage roles, and configure granular permissions via a flexible authorization system that wraps standard Blazor components. The navigation menu and routing have been updated to include links to these new admin sections (Users, Roles, Access Control) and the Todo page, all protected by specific permission checks. Additionally, a custom claims principal factory is introduced to map additional user properties to claims, and the application's namespace has been renamed from CleanArchitectureBlazor to RapidBlazor.
src/WebUI/Client · high confidence
Admin API and API documentation for Todo, User, and Role management
The server now exposes RESTful endpoints for managing Todo items, Todo lists, Users, and Roles, each protected by specific permissions (e.g., ViewAccessControl, ManageRoles). A global exception filter standardizes error responses for validation and not-found scenarios. Additionally, OpenAPI (Swagger) documentation is generated and served at /api/v1/openapi.json, and the application initializes and seeds the database on startup.
src/WebUI/Server · high confidence
Introduces application-layer commands, queries, and behaviors for identity, access control, and todo management
The src/Application directory now includes new command and query handlers for managing users, roles, and access control (including an UpdateAccessControl command and GetAccessControl query). It also adds full CRUD commands and queries for TodoLists and TodoItems, along with domain event handlers for TodoItem creation and completion. Additionally, common behaviors are introduced: a MediatR pipeline for logging, a validation behavior, and an unhandled exception behavior, all registered in ConfigureServices.
src/Application · high confidence
Introduces domain model for Todo application
The domain layer now includes the core entities for a Todo application, specifically TodoItem and TodoList, which support title, note, completion status, reminders, and colour-coded lists. To support these entities, the codebase adds base classes for entities and auditable records, a value object for colour validation, and domain events for item creation and completion.
src/Domain · high confidence
Introduces new shared models and authorization infrastructure
The WebUI shared layer now includes a comprehensive set of data transfer objects and view models to support role-based access control and a new Todo feature. In the AccessControl namespace, new classes (AccessControlVm, RoleDto, RolesVm, UserDetailsVm, UserDto, UsersVm) define the structure for managing users and roles. The Authorization namespace introduces a flexible, permission-based system using a custom AuthorizeAttribute, a PolicyNameHelper for dynamic policy generation, and a PermissionAuthorizationHandler that validates user claims against a Permissions enum. Additionally, the Common namespace adds Result and LookupDto helpers, while the TodoLists and TodoItems namespaces introduce DTOs and validation rules for managing todo lists and items. The existing WeatherForecast model was also updated to use DateTime instead of DateOnly.
src/WebUI/Shared · high confidence
Behavioural changes
Adds domain event dispatching and audit logging to the application database context
The application database context now automatically dispatches domain events after each save operation, ensuring that business logic dependent on these events is triggered consistently. Additionally, an \AuditableEntitySaveChangesInterceptor\ has been introduced to automatically populate \Created/LastModified\ timestamp and user fields on auditable entities, providing built-in audit trails for database changes.
src/Infrastructure · high confidence
RapidBlazor template updated to .NET 7 and expanded with unit and integration tests
The RapidBlazor solution template has been upgraded to target .NET 7 (global.json and nuspec), and the project has been renamed from CleanArchitectureBlazor to RapidBlazor. Additionally, the solution now includes four new test projects (Domain.UnitTests, Application.UnitTests, WebUI.AcceptanceTests, and Application.IntegrationTests) and a LICENSE file, while also updating the README with .NET 7 installation instructions.
(repo-wide) · high confidence
Test coverage
Added acceptance tests for login functionality; Added integration tests for TodoList and TodoItem commands and queries; Added unit tests for application layer; Added unit tests for the Colour value object.
Dependencies
Upgrade to .NET 7.0 and rename to RapidBlazor
The project has been upgraded to .NET 7.0 RTM, replacing all previous .NET 7.0-rc.1 references with stable 7.0.0 versions across all source and test projects. Additionally, the solution and all constituent projects have been renamed from 'CleanArchitectureBlazor' to 'RapidBlazor', updating root namespaces and assembly names accordingly. New dependencies such as NSwag, Azure Key Vault configuration, and FluentValidation have been added to support the updated framework and feature set.
(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 53 → 54 (+1.8)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 91 → 89 (-2.1)
- Architecture 92 → 92 (+0.0)
- Maturity 73 → 73 (+0.0)
- Readiness 47 → 49 (+1.8)
- Security 72 → 73 (+1.6)
- Event-Driven 100 → 100 (+0.0)
- Accessibility 40 → 43 (+2.6)
Resolved (21)
- Bounded contexts not declared
- Build did not complete in the analyzer
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- dormant codebase — no living knowledge left to concentrate
- redundant comment (src/Infrastructure/Data/ApplicationDbContextInitialiser.cs)
- …and 1 more
New (114)
- Documentation: no installation or build instructions (README.md)
- Documentation: no licence statement (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (12 lines × 2) (src/WebUI/Shared/TodoItems/UpdateTodoItemRequest.cs)
- End-of-life runtime: .NET net7.0
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 94 more
API surface
- Unchanged — 14 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
jasontaylordev/RapidBlazor 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 923b6d4537d7c8b499435c7378f4bd8ee69b2271 — 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.