Clean Architecture .NET Blueprint — Enterprise Level Starter Kit API Template
# 🚀 RapidStart .NET Blueprint — Enterprise Level Starter Kit API Template
A production-ready, developer-focused template built with Clean Architecture, CQRS, JWT Authentication, and modular, scalable patterns.
Designed to eliminate project setup time and help teams start real development immediately.
---
# ⭐ Key Features
- Clean Architecture
Domain, Application, Infrastructure, API, and Common layers following industry best practices.
- Authentication & Security
JWT access tokens, refresh token rotation (SPA-friendly), and role-based authorization.
- Generic CRUD Framework
Create new modules instantly with GenericService + GenericController patterns.
- Zero Setup Overhead
Start building features immediately without writing boilerplate. You don't waste time initiating new projects—CRUD is ready out of the box.
Simply create your model + DTO, add a migration, add AutoMapper mapping, and register a controller.
If you need business logic beyond CRUD, extend the generated service—everything is already wired.
- Audit Logging
Automatic audit trails for create, update, delete events.
- Soft Delete Support
Automatic IsDeleted filtering and consistent repository behavior.
- Pagination, Filtering & Sorting
Built-in query utilities with efficient AutoMapper projection.
- Domain Events (Toggleable)
Enable/disable domain event dispatching with a single feature flag.
- Developer Experience Optimized
MediatR, AutoMapper, EF Core, Result<T> response pattern.
---
# 📂 Project Structure
src/
├─ Project.Api/ # API host + controllers + core
├─ Project.Application/ # Business logics and handlers
├─ Project.Domain/ # Models, ModelBase, interfaces
├─ Project.Infrastructure/ # EF Core, Repositories, Migrations
└─ Project.Common/ # DTOs, Results, Paging, constants
---
# 🧬 Tech Stack
- .NET 8 LTS
- EF Core 8
- SQL Server
- JWT + Refresh Tokens
- AutoMapper
- MediatR
- Serilog
- Swagger
---
# 🚀 Getting Started
## 1. Open project solution
## 2. Update appsettings.Development.json
## 3. Run migration (from root) -- detail steps in docs/db-migrations.md
-- Note : Some initial data like user and role already prepared
-- You can find it in Project.Infrastructure/Data/SeedData.cs
## 4. Run the application
## 5. Swagger
https://localhost:<port>/swagger
---
# 🔐 Authentication & Authorization
Supports:
- Bearer token
- Refresh rotation
- Role-based authorization
---
# 📝 Audit Logging
- Automatically logs record changes
- Uses an EF Core SaveChanges interceptor with same-transaction safety.
---
# 📄 Pagination, Filtering & Sorting
{
"data": [...],
"pageNumber": 1,
"pageSize": 10,
"totalCount": 240,
"totalPages": 24
}
---
# 🏗️ Generic CRUD System
To create a new module:
1. Add Entity
2. Add DTOs
3. Add AutoMapper profile
4. Create controller:
No repetitive code required.
---
# 🎚️ Domain Events (Toggleable)
Enable/disable via: appsettings.json
---
# 🛠️ Database Migrations
### Create migration:
dotnet ef migrations add InitialCreate -p ../Project.Infrastructure -s . -o Migrations/SqlServer
### Update DB:
dotnet ef database update
---
# 📘 Documentation
Included in /docs/:
- architecture.md
- auth.md
- audit.md
- db-migrations.md
- deployment.md
- feature-flags.md
- generic-crud.md
- pagination-filtering.md
- seeding.md
- troubleshooting.md
---
# 📄 License
MIT License
# 👤 Maintainer
Safwan Cicem
Skip the setup — build production-ready .NET apps from day one.