Build enterprise .NET web apps with pre-wired layered architecture and an Angular frontend without setting up each integration manually
Add role-based permission management and multi-tenant support to a .NET application using built-in framework features
Generate boilerplate class files automatically for a DDD-style layered application using the included code generator
Connect to Redis caching, Minio file storage, and background job queues without writing custom integration code
| dotnetcore/util | sebastienros/jint | qianmo/unity-design-pattern | |
|---|---|---|---|
| Stars | 4,618 | 4,624 | 4,643 |
| Language | C# | C# | C# |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
README is primarily in Chinese, setup requires familiarity with DDD layered architecture and multiple infrastructure services including a database, Redis, and optionally Minio and Dapr.
Util is a C# application framework built for the .NET platform, aimed at helping small and medium development teams move faster. The README is written primarily in Chinese. The project's stated goal is to reduce the amount of repetitive boilerplate code developers have to write by collecting, adapting, and wrapping established third-party libraries into simpler, unified APIs. The framework is organized around a layered architecture that follows a design philosophy common in enterprise software: separate layers for the domain (core business logic), infrastructure (data access), application services (orchestrating the layers), and presentation (the user interface). This structure is familiar to developers who have worked with patterns like DDD (Domain-Driven Design), though the README notes it can also be used as a standard three-layer setup without deep knowledge of that approach. Util bundles integrations with a wide range of supporting libraries. For database access it uses EntityFrameworkCore and Dapper. Logging is handled through Serilog, with optional output to Seq or Exceptionless for log management. Caching supports both in-memory and Redis options through EasyCaching. Background jobs are handled by Quartz and HangFire. For communication between services in a microservices setup, the framework integrates Dapr. File storage goes through the Minio object storage system. The frontend layer is Angular-based, using TypeScript and the Ng Zorro component library (an Angular port of Ant Design). This choice was made because Angular's syntax is close to what backend developers familiar with .NET tend to prefer. A code generator accompanies the framework to automatically produce the many class files that a layered architecture typically requires, which helps offset the overhead of following a more structured pattern. Additional built-in features include permission management (role and resource-based access control for both UI elements and API endpoints), multi-tenant support, audit logging, soft deletes, and object-to-object mapping through AutoMapper. The framework is open source under the MIT license and is a member project of the .NET Core Community organization.
A C# application framework for .NET that wraps popular third-party libraries into unified, simpler APIs with a built-in layered architecture, helping small and medium teams build enterprise apps faster with less boilerplate code.
Mainly C#. The stack also includes C#, .NET, Angular.
MIT license, use freely for any purpose including commercial, with no conditions beyond keeping the copyright notice.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.