Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Core
  3. clean-architecture-dotnet

clean-architecture-dotnet

MITC#SNAPSHOT-v0.0.3

A minimal .NET clean architecture template for microservices, applying DDD-lite, CQRS-lite, and cloud-native patterns to a sample eCommerce project.

GitHubGitHub
1.3k stars289 forks0 contributors

What is clean-architecture-dotnet?

clean-architecture-dotnet is a .NET-based project template and set of libraries that implement a minimalistic version of Clean Architecture, combined with lightweight Domain-Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) patterns. It is designed specifically for building microservices, providing a structured yet flexible foundation with built-in cloud-native capabilities using Dapr and Tye. The project includes a sample eCommerce application to demonstrate real-world usage.

Target Audience

.NET developers and architects who are building or modernizing microservices-based applications and want a pragmatic, production-ready starting point with established architectural patterns.

Value Proposition

It reduces the initial complexity and boilerplate associated with implementing Clean Architecture, DDD, and CQRS in microservices, offering a 'just enough' approach that accelerates development while maintaining scalability and maintainability. The integration with Dapr and Tye provides ready-to-use cloud-native features out of the box.

Overview

🕸 Yet Another .NET Clean Architecture, but for Microservices project. It uses Minimal Clean Architecture with DDD-lite, CQRS-lite, and just enough Cloud-native patterns apply on the simple eCommerce sample and run on Tye with Dapr extension 🍻

Use Cases

Best For

  • Starting new .NET microservices projects with a proven architectural foundation
  • Teams adopting Clean Architecture and DDD but seeking a simplified, practical implementation
  • Developing cloud-native applications with service discovery, event-driven communication, and resilience patterns
  • Building modular monoliths that can later be decomposed into microservices
  • Educational purposes or workshops on .NET microservices architecture
  • Standardizing CRUD operations and project structure across multiple services

Not Ideal For

  • Simple CRUD applications where the overhead of Clean Architecture and microservices is unnecessary
  • Teams not using or planning to adopt Dapr and Tye for cloud-native development
  • Projects requiring advanced DDD patterns like full tactical modeling or event sourcing beyond the 'lite' implementations

Pros & Cons

Pros

Minimal Boilerplate

Reduces repetitive code with predefined project structures and standardized CRUD interfaces, as shown in the public interfaces for Create, Read, Update, and Delete operations in the README.

Cloud-Native Integration

Built-in support for Dapr and Tye provides ready-to-use features like service invocation, event bus, and local development orchestration, streamlining microservices setup as detailed in the technical stacks.

Pragmatic Architecture

Implements 'just enough' Clean Architecture, DDD-lite, and CQRS-lite, making complex patterns accessible without over-engineering, as emphasized in the philosophy of reducing initial complexity.

Modular Reusability

Offers reusable building blocks for logging, validation, API versioning, and OpenTelemetry tracing, which are organized into separate libraries like N8T.Core and N8T.Infrastructure for easy integration.

Cons

Preview Technology Risk

Relies on .NET 6 preview, which the README warns can change frequently, potentially causing breaking changes and requiring stress testing for production use, as noted in the disclaimer.

Complex Initial Setup

Requires installation of multiple tools like Dapr, Tye, and specific .NET SDK versions, increasing the learning curve and setup time for new developers, as outlined in the prerequisites section.

Limited Pattern Depth

The 'lite' implementations of DDD and CQRS may not cover advanced scenarios like complex domain modeling or event sourcing, which could necessitate custom extensions for larger projects.

Frequently Asked Questions

Quick Stats

Stars1,348
Forks289
Contributors0
Open Issues11
Last commit3 years ago
CreatedSince 2021

Tags

#entity-framework-core#cqrs#ddd-architecture#kubernetes#ddd#tye#dotnet#aspnet-core#microservices-architecture#microservices#containers#mediatr#dapr#cloud-native#ddd-patterns#clean-architecture

Built With

.
.NET 6
T
Tye
Y
YARP
S
Serilog
E
Entity Framework Core
D
Dapr
A
ASP.NET Core
O
OpenTelemetry
M
MediatR

Included in

Core21.2k
Auto-fetched 1 day ago

Related Projects

eShopOnWebeShopOnWeb

Sample ASP.NET Core 8.0 reference application, now community supported: https://github.com/NimblePros/eShopOnWeb

Stars10,667
Forks5,980
Last commit1 year ago
eShopOnBlazoreShopOnBlazor

A reference .NET application implementing an eCommerce site

Stars10,483
Forks3,637
Last commit20 days ago
EquinoxProjectEquinoxProject

Web Application ASP.NET 9 using Clean Architecture, DDD, CQRS, Event Sourcing and a lot of good practices

Stars6,772
Forks1,650
Last commit1 month ago
NorthwindTradersNorthwindTraders

Northwind Traders is a sample application built using ASP.NET Core and Entity Framework Core.

Stars5,019
Forks1,570
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub