52ABP/52ABP.Template
30.5
Weak · 21 September 2026
80.1k
lines of production code
JavaScript
with C#, TypeScript
1
measurement over time
What this system is
This system is a multi-tenant enterprise application built on the ABP Framework, featuring an Angular frontend and .NET backend. It provides comprehensive administrative capabilities for managing users, roles, and tenants, alongside system-wide audit logging and entity change tracking. The architecture supports isolated tenant environments with dedicated registration and switching flows, all secured by role-based access control.
Features
Add About page with framework and template information
The About page is now available, providing an overview of the 52ABP framework, ASP.NET Boilerplate, and Ng Alain, along with links to source code, video courses, and related documentation.
src/angular-zorro-free/src/app/about · high confidence
Add account area with login, register, and language switching
The account area is now available, introducing a new layout component that displays a logo, description, and footer. It includes routing for login, registration, and tenant registration pages. The layout also features a language switching component that allows users to change the UI language, and a tenant change component that is conditionally displayed when multi-tenancy is enabled.
src/angular-zorro-free/src/account · high confidence
Add audit log viewing interface
Users can now access a new Audit Logs page that displays a table of system audit records. The interface provides filtering options for username, service name, method name, browser, exception status, execution duration, and time range, allowing users to search and sort audit data.
src/angular-zorro-free/src/app/auditlog · high confidence
Add e2e testing and environment configuration for the Angular application
The Angular application now includes end-to-end (e2e) testing support using Protractor and Jasmine, with a test spec verifying the welcome message on the home page. Additionally, environment configuration files are added for development, production, and hot-module-replacement (HMR) modes, allowing the application to be built and run with different settings for each environment.
_src/angular-zorro-free/\nginx, src/angular-zorro-free/e2e, src/angular-zorro-free/src/environments · high confidence
Add role creation and editing interfaces
Users can now create and edit roles through new Angular components. The create-role interface allows setting a name, display name, description, and granting permissions via a checkbox group. The edit-role interface enables modifying existing roles, including a disabled state for static system roles, and updates to name, display name, description, and permissions.
src/angular-zorro-free/src/app/roles/edit-role, src/angular-zorro-free/src/app/tenants/create-tenant · high confidence
Add roles management interface
A new roles management page has been added to the application. Users can now view a paginated list of roles, create new roles, edit existing ones, and delete them. The interface includes a header, a toolbar with refresh and create actions, and a table displaying role name, display name, and action links for editing or deleting.
src/angular-zorro-free/src/app/roles · high confidence
Add tenant switching capability
Users can now switch between tenants via a new 'Change' link in the account area. The new TenantChangeComponent displays the current tenant's name and provides a modal dialog (TenantChangeModalComponent) that allows users to enter a different tenancy name to switch to, or leave it empty to switch to the host. This feature is only visible when multi-tenancy is enabled.
src/angular-zorro-free/src/account/tenant · high confidence
Add user creation form with role selection
A new Create User dialog has been added to the application, allowing administrators to create new users by providing account details (username, name, surname, email, and password) and selecting one or more roles from a checkbox list. The form includes validation for required fields, email format, and password confirmation, and submits the new user data via the UserServiceProxy.
src/angular-zorro-free/src/app/users/create-user · high confidence
Add user edit form with role assignment
A new EditUserComponent has been added to the application, providing a modal form for editing user details and assigning roles. The form captures the user's name, surname, email address, and active status, while also allowing administrators to select from a list of available roles. Upon submission, the component updates the user's profile and role assignments via the UserServiceProxy.
src/angular-zorro-free/src/app/users/edit-user · high confidence
Add user management interface with list, create, edit, and delete capabilities
A new user management page has been added to the application, providing a table-based interface for listing all users with their name, full name, email, active status, and creation time. Users can create new accounts, edit existing ones, and delete users through this component, which integrates with the backend UserServiceProxy to handle data fetching and CRUD operations.
src/angular-zorro-free/src/app/users · high confidence
Added ABP Framework web resources and build configuration
Added the ABP Framework web resources, including the main \abp.js\ and \abp.min.js\ scripts, along with supporting libraries for jQuery (\abp.jquery.js\), jtable (\abp.jtable.js\), moment.js (\abp.moment.js\), and SignalR client (\abp.signalr-client.js\). Also added the corresponding TypeScript definition files (\.d.ts\) and minified versions. Additionally, added NuGet configuration files (\NuGet.Config\ and \NuGet.targets\) to the \abp-web-resources\ directory to support .NET build processes.
(repo-wide) · high confidence
Added NSwag configuration and generation scripts for service proxies
The project now includes NSwag configuration files and a batch script to generate TypeScript service proxies and C\# clients from a local Swagger endpoint. This enables automatic client code generation for both Angular and .NET backends, with the generated TypeScript code outputting to the shared service-proxies module.
src/angular-zorro-free/nswag · high confidence
Added audit log and entity change tracking features
The application layer now includes a comprehensive audit log system, allowing users to view and filter system-wide audit logs and entity change histories. This includes new DTOs for audit logs and entity changes, along with an AppService that queries and paginates these records. The implementation leverages ABP's built-in auditing and entity history frameworks, exposing endpoints to retrieve logs by user, service, method, and date range.
src/aspnet-core · high confidence
Added home page and advertising component
The home page now includes a new advertising component that displays links to video courses, documentation, and blogs. The home page template has been updated to include a header with quick start and product introduction links, a section for online demos, and a list of technology stacks. The advertising component is triggered by clicking on specific elements on the home page.
src/angular-zorro-free/src/app/home · high confidence
Added login and registration pages
Introduced new Angular components for user authentication, including a login form that accepts a username or email and password with a 'remember me' option, and a registration form collecting name, surname, email, username, and password. These pages provide the primary entry points for users to access the application or create new accounts.
src/angular-zorro-free/src/account/login · high confidence
Added mock data for user authentication and profile
The application now includes mock data for user-related endpoints, including login, registration, and user profile retrieval. This allows the frontend to function with simulated backend responses for authentication and user data, supporting development and testing without a live server.
_src/angular-zorro-free/\mock · high confidence
Added tenant management interface
A new tenant management page has been added, providing a list view of all tenants with their name, active status, and action buttons for editing or deleting. The interface includes a refresh button and a create-new-tenant button, allowing users to manage tenant records directly from this page.
src/angular-zorro-free/src/app/tenants · high confidence
Added tenant registration page
A new tenant registration page has been added, allowing users to create a new tenant account by providing a tenancy name, admin username, email, and password. Upon successful registration, the system automatically authenticates the new admin user.
src/angular-zorro-free/src/account/tenant-register · high confidence
Initial project scaffolding and configuration for Angular-Zorro-Free
The src/angular-zorro-free directory is introduced with a complete set of configuration and build files, including Dockerfile, docker-compose files, angular.json, tsconfig.json, tslint.json, and web.config. This establishes the foundational build, linting, and deployment environment for the Angular application, supporting both development and production Docker deployments and IIS URL rewriting for client-side routing.
src/angular-zorro-free · high confidence
Initial scaffolding of the Angular frontend application
The Angular frontend application is introduced, establishing the core bootstrapping, routing, and module structure. This includes the \AppPreBootstrap\ for application initialization and configuration loading, a \RootModule\ that integrates \ng-zorro-antd\ and \@delon\ libraries, and a \RootComponent\ that handles title updates and message/notification overrides. The entry point \main.ts\ is configured to support Hot Module Replacement (HMR) and production mode, while \root-routing.module.ts\ defines lazy-loaded routes for the application and account modules. Additionally, static asset files such as \index.html\ with a preloader, \polyfills.ts\, and configuration files (\tsconfig\, \karma.conf.js\) are added to support the build and test environments.
src/angular-zorro-free/src · high confidence
Introduce Angular routing and module configuration for multi-tenant application
The application now defines its primary routing structure and module setup in src/angular-zorro-free/src/app. The new app-routing.module.ts configures routes for Home, About, Tenants, Roles, Users, and Auditlog, all protected by an AppRouteGuard. The app.module.ts registers these components, including create/edit forms for tenants, roles, and users, and integrates necessary Angular modules like FormsModule, ReactiveFormsModule, and HttpClientModule.
src/angular-zorro-free/src/app · medium confidence
New default layout with header and sidebar components
The default layout has been restructured to include a new header bar and sidebar. The header now features a fullscreen toggle, language selection, local storage clearing, and user profile/logout options. The sidebar displays the application logo, user information, and a dynamic navigation menu. These components are registered in the layout module for use in the application's default view.
src/angular-zorro-free/src/layout · high confidence
Refactored shared utilities and base classes for the Angular frontend
The shared layer was restructured with new base classes for components (AppComponentBase, ModalComponentBase, PagedListingComponentBase) that inject and expose ABP services (localization, permissions, notifications) and provide common UI logic like pagination and selection. A new PermissionService was added to manage ACL-based access control, and the global message/notification system was extended to bridge ABP's messaging with ng-zorro-antd components. Additionally, reusable UI components (NoData, ValidationMessages) and validation directives (Equal, MinValue, PasswordComplexity) were introduced to standardize form and list behavior.
src/angular-zorro-free/src/shared · high confidence
Behavioural changes
Added default styling and environment-specific remote service configurations
The project now includes a default LESS stylesheet (alain-default.less) that defines color easing and color manipulation utilities, alongside environment-specific configuration files (appconfig.dev.json and appconfig.prod.json) that set the remote service base URLs for development and production environments respectively.
src/angular-zorro-free/src/assets · medium confidence
New layout and theme styles for the application
Added new Less style files to define the visual theme and layout structure. The \yoyo-layout.less\ file introduces extensive styling for the sidebar, header, and content areas, including responsive adjustments for screens under 768px. The \yoyo.less\ file adds a utility class for full-width blocks, while \form-list.less\ provides specific styling for form layouts. These changes establish the visual identity and structural styling for the interface.
src/angular-zorro-free/src/styles · medium confidence
Updated README with comprehensive framework documentation and technical stack details
The README.md file has been significantly expanded to include a detailed introduction to the 52Abp enterprise application development framework, covering its modular design, multi-tenant support, and core features such as authentication, audit logs, and workflow management. The update also provides a complete technical stack overview, listing specific technologies and versions for both the backend (e.g., .NET 5, Entity Framework Core, Hangfire) and frontend (Angular, NG-ZORRO, NG-ALAIN), along with development and deployment environment requirements.
(repo-wide) · high confidence
Test coverage
Added test utilities for Angular component testing
Added a new \common.spec.ts\ file in the testing directory, providing helper functions \setUpTestBed\ and \getService\ to streamline the setup of Angular testing modules. This includes automatic configuration of common imports (such as \DelonModule\ and \SharedModule\) and providers (such as \SettingsService\ and \MenuService\), simplifying the process of writing unit tests for components that rely on these shared dependencies.
src/angular-zorro-free/src/testing · high confidence
Dependencies
Upgrade to .NET 5 and ABP 5.1
The project has been upgraded to .NET 5.0, with the ASP.NET Core backend projects targeting the new framework. The ABP framework has been upgraded to version 5.1.1, and the Angular frontend dependencies have been updated to Angular 8.2.14. Additionally, Microsoft.EntityFrameworkCore and related tools have been updated to version 5.0.0, and the test project now uses xUnit 2.4.1 and NSubstitute 4.2.1.
(dependencies) · medium 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 42 → 30 (-11.1)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 52 → 42 (-9.2)
- Architecture 88 → 85 (-2.6)
- Maturity 67 → 45 (-21.8)
- Readiness 43 → 24 (-19.5)
- Security 44 → 30 (-14.0)
- Accessibility 34 → 32 (-1.8)
- Performance 60 → 60 (+0.0)
Resolved (27)
- Bounded contexts not declared
- Change coupling: tenants.component.ts ↔ users.component.ts (src/angular-zorro-free/src/app/tenants/tenants.component.ts)
- CommentedOutCode (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Application/Auditing/AuditLogAppService.cs)
- Dependency hygiene not measured — no packages were read
- Duplicated block (16 lines × 2) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Host/Controllers/HomeController.cs)
- Duplicated block (22 lines × 2) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.EntityFrameworkCore/EntityFrameworkCore/Seed/Host/HostRoleAndUserCreator.cs)
- High CVE: System.Linq.Dynamic.Core 1.2.10
- LLM evaluation failed
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Medium CVE: HtmlSanitizer 5.0.404
- Medium CVE: HtmlSanitizer 5.0.404
- Medium CVE: IdentityServer4 4.1.2
- Medium CVE: IdentityServer4 4.1.2
- Medium CVE: Microsoft.Data.SqlClient 2.0.1
- Medium CVE: SharpCompress 0.28.2
- Medium CVE: SharpCompress 0.28.2
- Medium IaC: CKV_DOCKER_3 (src/angular-zorro-free/Dockerfile)
- …and 7 more
New (332)
- (anonymous) (cognitive 117) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment-timezone/moment-timezone-with-data-2012-2022.js)
- (anonymous) (cognitive 117) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment-timezone/moment-timezone-with-data.js)
- (anonymous) (cognitive 117) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment-timezone/moment-timezone.js)
- (anonymous) (cognitive 16) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/gom-latn.js)
- (anonymous) (cognitive 16) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/tg.js)
- (anonymous) (cognitive 17) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Host/wwwroot/swagger/ui/abp.js)
- (anonymous) (cognitive 17) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/lb.js)
- (anonymous) (cognitive 17) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/ta.js)
- (anonymous) (cognitive 18) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/mn.js)
- (anonymous) (cognitive 19) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/lt.js)
- (anonymous) (cognitive 20) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/mr.js)
- (anonymous) (cognitive 21) (src/angular-zorro-free/src/assets/abp-web-resources/abp.js)
- (anonymous) (cognitive 21) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Host/wwwroot/swagger/ui/abp.swagger.js)
- (anonymous) (cognitive 21) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/js/main.js)
- (anonymous) (cognitive 22) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/pl.js)
- (anonymous) (cognitive 25) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/be.js)
- (anonymous) (cognitive 26) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/uk.js)
- (anonymous) (cognitive 270) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/jquery-validate/additional-methods.js)
- (anonymous) (cognitive 30) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/moment/locale/ru.js)
- (anonymous) (cognitive 54) (src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Web.Mvc/wwwroot/libs/spin/spin.js)
- …and 312 more
API surface
- Unchanged — 4 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
52ABP/52ABP.Template 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 5810361768c944e1d18f9e43943debb5423982d8 — 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-fa71c66cabd8.