CleanArchitecture README

The project's README from github.com/jasontaylordev/CleanArchitecture. As one markdown file: README.md.

Clean Architecture Solution Template

Build CodeQL Nuget Nuget Twitter Follow

The goal of this template is to provide a straightforward and efficient approach to enterprise application development, leveraging the power of Clean Architecture and ASP.NET Core. Using this template, you can effortlessly create a new app with Angular, React, or Web API only, powered by ASP.NET Core and Aspire. Getting started is easy - simply install the .NET template (see below for full details).

For full documentation, visit cleanarchitecture.jasontaylor.dev.

If you find this project useful, please give it a star. Thanks! ⭐

Getting started

Prerequisites

Install the template

dotnet new install Clean.Architecture.Solution.Template

Create a new solution

Create a new solution using the template. Specify the client framework using --client-framework (-cf) and the database provider using --database (-db):

dotnet new ca-sln --client-framework [angular|react|none] --database [postgresql|sqlite|sqlserver] --output YourProjectName
Option Values Default
--client-framework angular, react, none angular
--database postgresql, sqlite, sqlserver sqlite

Examples:

🅰️ Angular SPA with ASP.NET Core Web API and PostgreSQL:

dotnet new ca-sln -cf angular -db postgresql -o YourProjectName

⚛️ React SPA with ASP.NET Core Web API and SQL Server:

dotnet new ca-sln -cf react -db sqlserver -o YourProjectName

🔌 ASP.NET Core Web API only with SQLite:

dotnet new ca-sln -cf none -db sqlite -o YourProjectName

💡 Tip: Run dotnet new ca-sln --help to see all available template options.

Run the app

dotnet run --project .\src\AppHost

The Aspire dashboard will open automatically, showing the application URLs and logs.

To learn more, see the Getting started guide and Architecture overview.

Technologies

Versions

The main branch is on .NET 10.0. Previous versions are available:

Version Branch
.NET 9.0 net9.0
.NET 8.0 net8.0
.NET 7.0 net7.0
.NET 6.0 net6.0
.NET 5.0 net5.0
.NET Core 3.1 netcore3.1

Architectural decisions

Key design decisions are documented as Architecture Decision Records.

Learn more

Support

If you are having problems, please let me know by raising a new issue.

License

This project is licensed under the MIT License.

CleanArchitecture (jasontaylordev/CleanArchitecture)

Searching Database…

这是什么东西?这是一个开源的 .NET 解决方案模板,能一键生成一个围绕整洁架构(Clean Architecture)组织起来的完整 ASP.NET Core 应用,让团队直接从一个能运行、分层清晰的代码库起步,而不是面对一个空项目。
这是我要加到自己项目里的一个库,还是一个代码生成器?它是一个 .NET 项目模板,不是库:你只需安装一次,然后 'dotnet new ca-sln' 就会生成一个完整的解决方案,生成的代码完全归你所有,可以随意修改和扩展。
我怎么用它生成一个项目?先安装这个 .NET 模板,然后运行 'dotnet new ca-sln',并用 --client-framework(可选 angular、react 或 none)和 --database(可选 postgresql、sqlite 或 sqlserver)指定选项;默认是 angular 和 sqlite。运行 'dotnet new ca-sln --help' 可以查看全部选项。
我的电脑上需要先装哪些东西?需要 .NET 10.0 SDK 或更高版本。只有使用 Angular 或 React 前端时才需要 Node.js(LTS),只有使用 SQL Server 或 PostgreSQL 时才需要 Docker Desktop 或 Podman——默认的 SQLite 两者都不需要。
如果我的团队还没升级到 .NET 10 怎么办?主分支面向 .NET 10.0,但有单独的分支维护旧版本——从 .NET 9 一直到 .NET Core 3.1(net9.0 到 netcore3.1)。
最后做出来的会是一个什么样的应用?是一个 Web 应用:一个 Angular 或 React 单页应用,后端是 ASP.NET Core Web API;如果选择不要前端,就只有 Web API。
Aspire 是什么?为什么我的应用会用到它?Aspire 是这个模板所依赖的 .NET 技术栈的一部分('powered by ASP.NET Core and Aspire')。实际使用时,你运行应用会看到它的仪表板自动打开,里面显示应用的各个地址和日志;模板的配套文档里有更详细的介绍。
生成的解决方案里都自带了哪些东西?后端是 ASP.NET Core 10,搭配 Aspire 和 Entity Framework Core 10;前端是 Angular 21 或 React 19;此外还内置了 MediatR、AutoMapper、FluentValidation,一套由 NUnit、Shouldly、Moq 和 Respawn 组成的测试框架,以及用于生成 API 文档的 Scalar。
模板在哪里解释它的设计思路?在架构决策记录(Architecture Decision Records)里——这个仓库把关键的设计选择都写成了 ADR,你可以在把自己的项目押注在它上面之前,先读懂这套结构背后的理由。
Size
9.7 MB
Stars
20.6K
Age
7y
Commits · 90 Days