Clean Architecture API Template with CQRS, DDD, FastEndpoints, and MediatR
$ dotnet add package DotNetCleanTemplateСовременный шаблон для создания .NET API с использованием Clean Architecture, CQRS, DDD, FastEndpoints и MediatR.
Шаблон также доступен как NuGet пакет для быстрой установки:
dotnet new install DotNetCleanTemplate
После установки можно создавать новые проекты:
dotnet new cleanapi -n MyProject
# Локальная установка
git clone <repository-url>
cd DotNetCleanTemplate
dotnet new install .
# Или установка из NuGet (после публикации)
dotnet new install DotNetCleanTemplate
# Базовое использование
dotnet new cleanapi -n MyProject
# С дополнительными параметрами
dotnet new cleanapi -n MyProject --include-tests false
Этот шаблон следует принципам Clean Architecture с четким разделением на слои:
MyProject/
├── MyProject.Api/ # API слой (FastEndpoints)
├── MyProject.Application/ # Слой приложения (CQRS, MediatR)
├── MyProject.Domain/ # Доменный слой (DDD)
├── MyProject.Infrastructure/ # Инфраструктурный слой (EF Core, Redis)
├── MyProject.Shared/ # Общие DTO и модели
└── Tests/
├── MyProject.UnitTests/ # Модульные тесты
└── MyProject.IntegrationTests/ # Интеграционные тесты
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ProjectName | string | - | Имя проекта (обязательный) |
IncludeTests | bool | true | Включить тестовые проекты |
Обновите конфигурацию:
appsettings.json в папке configs/Запустите миграции:
dotnet ef database update --project MyProject.Infrastructure --startup-project MyProject.Api
dotnet run --project MyProject.Api
https://localhost:7001/swagger# Запуск всех тестов
dotnet test
# Запуск unit тестов
dotnet test Tests/MyProject.UnitTests/
# Запуск integration тестов
dotnet test Tests/MyProject.IntegrationTests/
Если у вас есть вопросы или проблемы:
FeaturesMIT License