CleanArch.StarterKit 9.0.1

dotnet new install CleanArch.StarterKit::9.0.1
                    
This package contains a .NET Template Package you can call from the shell/command line.

<p align="center"> <img src="./assets/logo.jpg" alt="CleanArch.StarterKit Logo" width="200" /> </p>

<h1 align="center">CleanArch.StarterKit</h1>

<p align="center"> 🧱 A robust, modular, and enterprise-ready Clean Architecture template for .NET 9. </p>

<p align="center"> <img src="https://img.shields.io/badge/.NET-9.0-blue?logo=dotnet" /> <img src="https://img.shields.io/badge/EF--Core-9.0-success?logo=entity-framework" /> <img src="https://img.shields.io/badge/License-MIT-informational" /> </p>


📦 What is CleanArch.StarterKit?

CleanArch.StarterKit is a production-ready boilerplate that demonstrates a clean, layered approach to .NET application development using Clean Architecture and modular principles.

It features ready-to-use CQRS, MediatR, authentication (JWT), background jobs (Hangfire), HealthChecks, Audit Logging, ResultKit, RepositoryKit, and more.
Designed for scalable, maintainable, and testable enterprise solutions.


🧰 Technologies Used

Technology Purpose
ASP.NET Core 9 Web API layer
Entity Framework Core Data persistence
CQRS & MediatR Request/response separation
FluentValidation Request validation
Serilog Structured logging
Hangfire Background jobs & scheduling
HealthChecks & UI Health endpoints
ResultKit Result/Error handling
RepositoryKit Generic repository pattern

🚀 Project Structure

📁 CleanArch.StarterKit
|
├── 📁 CleanArch.StarterKit.WebApi         → API layer (Controllers, middleware, DI)
├── 📁 CleanArch.StarterKit.Application    → CQRS, business rules, services, validation
├── 📁 CleanArch.StarterKit.Domain         → Domain models, entities, contracts
├── 📁 CleanArch.StarterKit.Infrastructure → Data access, Identity, integrations

⚙️ Getting Started

🚀 Installation

You can clone this repository and use it directly, or install as a template (optionally):

  1. Clone the repository:
git clone https://github.com/taberkkaya/CleanArch.StarterKit.git
cd CleanArch.StarterKit/src
  1. Update the connection string in appsettings.json
"ConnectionStrings": {
  "DefaultConnection": "Your-Connection-String-Here"
}
  1. Run the API:
dotnet run --project CleanArch.StarterKit.WebApi

✅ Benefits

  • Separation of concerns with Clean Architecture
  • Built-in CQRS with MediatR & validation
  • Out-of-the-box JWT authentication and authorization
  • Automatic health checks and monitoring UI
  • Hangfire background jobs, with dashboard and DB authentication
  • Full audit logging for all critical data changes and requests
  • Generic repository and robust result patterns for maintainable code
  • SOLID, modular, scalable, and easily testable structure

🔑 Authentication

  • JWT-based user authentication (/api/Auth/login)
  • Admin-only endpoints and role-based access out of the box
  • Hangfire Dashboard login credentials managed via the database

✨ Contribution

Fork this repository and open a PR to contribute new features, improvements, or bugfixes!

<p align="center"> <img src="https://skillicons.dev/icons?i=dotnet,github,visualstudio" /> </p>

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.0.1 479 7/2/2025
9.0.0 458 7/2/2025

Initial release of the Clean Architecture Starter Kit template.