A full-stack .NET 10 reference application demonstrating Clean Architecture with support for monoliths, modular monoliths, and microservices.
Practical.CleanArchitecture is a full-stack reference application built with .NET 10 that demonstrates multiple modern software architecture patterns including Clean Architecture, Domain-Driven Design, and CQRS. It solves the problem of how to structure enterprise applications for maintainability, testability, and scalability while providing production-ready features like authentication, monitoring, and cloud integration.
.NET developers and architects building enterprise applications who need guidance on implementing Clean Architecture, DDD, and microservices patterns in real-world scenarios.
Developers choose this project because it provides a comprehensive, production-tested implementation of Clean Architecture with multiple frontend options and deployment patterns, all in one cohesive codebase that demonstrates best practices without being overly opinionated.
Full-stack .Net 10 Clean Architecture (Microservices, Modular Monolith, Monolith), Blazor, Angular 21, React 19, Vue 3.5, BFF with YARP, NextJs 16, Domain-Driven Design, CQRS, SOLID, Asp.Net Core Identity Custom Storage, OpenID Connect, EF Core, OpenTelemetry, SignalR, Background Services, Health Checks, Rate Limiting, Clouds (Azure, AWS, GCP), ...
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements Monolith, Modular Monolith, and Microservices in one codebase, allowing teams to evaluate and choose the right approach for scalability needs, as shown in the solution structure diagrams.
Includes production-ready implementations for Blazor, Angular, React, Vue, and Next.js, reducing integration effort for teams using diverse frontend frameworks, with detailed setup instructions for each.
Supports configurable storage, messaging, and monitoring for Azure, AWS, and GCP, minimizing cloud lock-in, as evidenced by the extensive provider options in appsettings.json.
Built-in health checks, rate limiting, OpenTelemetry, and background services provide a production-ready foundation out of the box, demonstrated in the monitoring and logging configuration sections.
The README shows lengthy, manual setup for storage, messaging, caching, and more across multiple files, which can be error-prone and time-consuming for quick deployments.
Uses Duende.IdentityServer that requires a commercial license for production environments, adding cost and legal hurdles not immediately apparent from the open-source code.
Implements multiple architectures (e.g., Clean, DDD, CQRS) with a warning that not all are best practices, potentially leading to confusion or misuse without deep architectural knowledge.