DEV.co
Open-Source DevOps · phongnguyend

Practical.CleanArchitecture

Practical.CleanArchitecture is a reference implementation demonstrating multiple architectural patterns (.NET 10, microservices, modular monolith, monolith) with full-stack support (Blazor, Angular, React, Vue, Next.js). It provides working code samples for clean architecture, DDD, CQRS, and cross-cutting concerns like OpenTelemetry and identity management.

Source: GitHub — github.com/phongnguyend/Practical.CleanArchitecture
2.4k
GitHub stars
607
Forks
C#
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryphongnguyend/Practical.CleanArchitecture
Ownerphongnguyend
Primary languageC#
LicenseMIT — OSI-approved
Stars2.4k
Forks607
Open issues41
Latest releasev2025.11 (2025-11-13)
Last updated2026-06-20
Sourcehttps://github.com/phongnguyend/Practical.CleanArchitecture

What Practical.CleanArchitecture is

Full-stack .NET 10 reference codebase implementing hexagonal, onion, and clean architectures with support for microservices, modular monolith, and monolithic deployments. Covers domain-driven design, CQRS patterns, ASP.NET Core Identity customization, multi-cloud deployment (Azure, AWS, GCP), and operational concerns (health checks, rate limiting, OpenTelemetry, SignalR).

Quickstart

Get the Practical.CleanArchitecture source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/phongnguyend/Practical.CleanArchitecture.gitcd Practical.CleanArchitecture# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Learning and Standardization Reference

Team training on clean architecture patterns, CQRS, DDD, and layered design. Use as a living architecture blueprint to standardize internal development practices and code organization.

Greenfield .NET Microservices or Modular Monolith Projects

Starting a new service-oriented or modular system in .NET. Code samples demonstrate production-relevant patterns for multi-tenant apps, event-driven systems, and cloud-native deployments.

Full-Stack Prototyping with Multiple Frontend Options

Rapid prototyping when you need to evaluate multiple frontend frameworks (React, Angular, Vue, Blazor, Next.js) against the same .NET backend. Reduces decision-making overhead on tech stacks.

Implementation considerations

  • README explicitly warns code contains 'multiple ways and patterns' not always best practices; conduct thorough architecture review and security audit before production adoption.
  • Supports multiple architectural styles (monolith, modular monolith, microservices); require upfront consensus on which pattern fits your domain and team capability before implementation.
  • Configuration-driven provider abstraction (Storage, Messaging, Logging); ensure your DevOps and infrastructure teams can manage multiple cloud providers and message brokers in your target environment.
  • OpenTelemetry integration requires observability infrastructure (APM, tracing, logging backends); factor in setup and monitoring tooling costs.
  • Custom ASP.NET Core Identity storage necessitates careful security testing and compliance review before handling production user data.

When to avoid it — and what to weigh

  • Simple CRUD or Low-Complexity Domains — The architectural patterns and layering overhead will introduce unnecessary complexity. A simpler framework or scaffold may be more appropriate for straightforward data management systems.
  • Non-.NET Stacks — This is primarily a C# / .NET reference. Language-specific patterns and tooling will not transfer to Java, Go, Python, or Node.js stacks without significant adaptation.
  • Production System Dependency Without Support — Code is labeled as 'multiple ways and patterns, not always considered best practices.' Use in production requires careful review, testing, and potentially custom support or consultation—not a supported product.
  • Teams Without .NET Expertise — Requires fluency in C#, ASP.NET Core, EF Core, and .NET-specific tooling. Steep learning curve for teams new to the ecosystem; not suitable for rapid execution without existing expertise.

License & commercial use

MIT License (permissive OSI-approved license). Allows commercial use, modification, and distribution with minimal restrictions; requires retention of license and copyright notice.

MIT license permits commercial use. However, this is a reference implementation and teaching tool, not a supported product or framework. Deploying it in production requires your organization to assume full responsibility for security hardening, testing, compliance, bug fixes, and operational support. No vendor SLA or warranty is implied.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityHigh
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Custom ASP.NET Core Identity implementation requires careful security review (password hashing, token management, session handling). OpenID Connect integration should be validated against current OAuth2/OIDC threat models. The codebase does not appear to undergo third-party security audits. Rate limiting and OWASP coverage are mentioned but not detailed. Teams must conduct threat modeling, penetration testing, and compliance reviews before production use. Secrets management (Azure Key Vault, environment-based config) is supported but requires secure CI/CD and deployment pipeline practices.

Alternatives to consider

Clean.Architecture (Jason Taylor / Ardalis)

Simpler, more focused template for single clean architecture pattern; better for teams seeking prescriptive guidance rather than multiple pattern examples.

eShopOnContainers (Microsoft)

Official Microsoft reference for microservices, event-driven systems, and cloud-native patterns; includes Kubernetes, Service Mesh examples, and more enterprise-scale narrative.

NorthwindTraders (Microsoft)

Smaller, simpler reference using clean architecture and CQRS; easier entry point for teams new to layered design, with less infrastructure complexity.

Software development agency

Build on Practical.CleanArchitecture with DEV.co software developers

Devco helps teams design, build, and deploy scalable .NET applications. Let's discuss which architectural pattern fits your domain and how to implement it safely. Contact our enterprise software specialists.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

Practical.CleanArchitecture FAQ

Can I use this in production?
Only with significant review and testing. It is a reference/teaching tool, not a supported product. Your team assumes full responsibility for security, compliance, performance testing, and operational support.
Which architecture pattern should I choose?
The project includes multiple patterns (monolith, modular monolith, microservices, hexagonal, onion, clean, vertical slice). Consult with your team architect on domain complexity, team size, and scalability needs. README warns that code samples are not always best practices.
How do I add a new frontend framework?
The project includes Blazor, Angular, React, Vue, and Next.js. Adapt one of these as a template; the BFF + YARP pattern isolates frontend-to-backend integration, reducing coupling.
What message broker should I choose?
Depends on your infrastructure. Project supports RabbitMQ, Kafka, Azure Service Bus, and Azure Queue. Each has different operational overhead, scalability, and cloud vendor lock-in. Evaluate against your team's expertise and environment.

Software development & web development with DEV.co

DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If Practical.CleanArchitecture is part of your open-source devops roadmap, our team can implement, customize, migrate, and maintain it.

Ready to Architect Your Next .NET System?

Devco helps teams design, build, and deploy scalable .NET applications. Let's discuss which architectural pattern fits your domain and how to implement it safely. Contact our enterprise software specialists.