# jasontaylordev/CleanArchitecture

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jasontaylordev-cleanarchitecture).**

19,657 stars · 4,147 forks · Bicep · mit

## Links

- GitHub: https://github.com/jasontaylordev/CleanArchitecture
- awesome-repositories: https://awesome-repositories.com/repository/jasontaylordev-cleanarchitecture.md

## Topics

`angular` `aspnetcore` `clean-architecture` `entity-framework-core` `react` `template` `webapi`

## Description

This project is a comprehensive template for building enterprise-grade applications using clean architecture principles. It provides a structured foundation that decouples core business logic from infrastructure concerns, ensuring that domain entities remain independent of specific frameworks or database implementations. By utilizing a mediator-based request dispatching pattern, the system separates state-mutating commands from read-only queries, promoting a clean separation of concerns across the entire codebase.

The architecture is organized into vertical slices, grouping related logic and dependencies into self-contained feature folders to prevent code bloat and simplify navigation. This approach is supported by an automated request pipeline that handles cross-cutting concerns such as validation, authorization, and logging consistently. The template also includes robust scaffolding tools that generate standardized project structures, allowing developers to quickly initialize multi-layered solutions with pre-configured database persistence and API integration.

Beyond the core structure, the project provides extensive tooling for the full development lifecycle. This includes automated database management, integrated service orchestration for local development, and a multi-layered testing suite that covers unit, integration, and acceptance scenarios. The framework also incorporates built-in observability features, such as request auditing, performance monitoring, and standardized error handling, to maintain system reliability and transparency in distributed environments.

## Tags

### Development Tools & Productivity

- [Application Templates](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/application-templates.md) — Offers a pre-configured project scaffold for rapidly initializing enterprise applications with clean architecture and mediator patterns.
- [Project Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-scaffolding.md) — Generates standardized project structures that implement command and query responsibility segregation for clean separation of concerns. ([source](https://cleanarchitecture.jasontaylor.dev/docs/getting-started/))
- [Application Templates](https://awesome-repositories.com/f/development-tools-productivity/application-templates.md) — Provides a boilerplate for organizing application logic into isolated request handlers to enforce consistent cross-cutting concerns.

### Software Engineering & Architecture

- [Application Architectures](https://awesome-repositories.com/f/software-engineering-architecture/application-architectures.md) — Implements clean architecture principles to decouple business logic from infrastructure, ensuring long-term maintainability and testability.
- [Business Entities](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/domain-specific/business-entities.md) — Encapsulates enterprise business rules within immutable domain entities that remain independent of specific frameworks. ([source](https://cleanarchitecture.jasontaylor.dev/docs/architecture/))
- [Clean Architecture Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/clean-architecture-frameworks.md) — Provides a development foundation that separates business logic from infrastructure to improve maintainability and testability.
- [Modular Feature Architectures](https://awesome-repositories.com/f/software-engineering-architecture/modular-feature-architectures.md) — Organizes code into self-contained feature folders to group related logic and dependencies for maintainability.
- [Request Dispatchers](https://awesome-repositories.com/f/software-engineering-architecture/request-dispatchers.md) — Routes incoming requests through a centralized mediator to decouple senders from specific handler logic.
- [Feature-Based Project Structures](https://awesome-repositories.com/f/software-engineering-architecture/feature-based-project-structures.md) — Organizes application code into isolated vertical slices to simplify navigation and prevent bloated service classes.
- [Project Organization](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/repository-maintenance/project-organization.md) — Groups code related to a single use case into self-contained folders to simplify project navigation. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/structured-use-cases/))
- [Request Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/request-pipelines.md) — Processes requests through automated middleware layers to handle cross-cutting concerns like validation and logging.
- [Separation of Concerns](https://awesome-repositories.com/f/software-engineering-architecture/separation-of-concerns.md) — Implements a mediator-based pipeline to automatically apply cross-cutting concerns like validation and logging to all requests. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/structured-use-cases/))
- [Inversion of Control](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/foundational-theory-and-guidance/software-architecture-principles/coupling-dependency-management/inversion-of-control.md) — Decouples core business logic from infrastructure using dependency inversion and interface-based design.
- [Core Business Logic](https://awesome-repositories.com/f/software-engineering-architecture/core-business-logic.md) — Executes isolated tests on business rules and application logic to ensure core functionality remains correct. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/automated-tests/))
- [Request Validation](https://awesome-repositories.com/f/software-engineering-architecture/request-validation.md) — Executes automated validation rules against incoming request data to ensure only valid input reaches the business logic layer. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/pipeline-behaviours/))
- [Persistence Templates](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/automation-and-templating-frameworks/persistence-templates.md) — Includes pre-configured solutions for managing database persistence and schema migrations using object-relational mapping.
- [Microservice Orchestration](https://awesome-repositories.com/f/software-engineering-architecture/microservice-orchestration.md) — Manages the lifecycle of distributed services with built-in observability, health monitoring, and consistent resilience policies.

### Data & Databases

- [Agnostic Models](https://awesome-repositories.com/f/data-databases/object-relational-mappers/domain-models/agnostic-models.md) — Encapsulates business rules within pure objects that remain independent of specific frameworks or database implementation details.
- [Automated Migrations](https://awesome-repositories.com/f/data-databases/automated-migrations.md) — Automates database creation, schema initialization, and seeding during application startup. ([source](https://cleanarchitecture.jasontaylor.dev/docs/getting-started/first-project/))
- [Database Schema Migrations](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-management/database-schema-migrations.md) — Automates schema migration and database initialization using standard object-relational mapping tools. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/multiple-database-options/))
- [Relational Database Persistence](https://awesome-repositories.com/f/data-databases/relational-database-persistence.md) — Provides database abstraction to allow switching storage engines without modifying core application logic. ([source](https://cleanarchitecture.jasontaylor.dev))
- [Database Configuration](https://awesome-repositories.com/f/data-databases/database-configuration.md) — Supports selecting database engines at project creation with automated connection string management. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/multiple-database-options/))

### Education & Learning Resources

- [Vertical Slices](https://awesome-repositories.com/f/education-learning-resources/application-use-cases/vertical-slices.md) — Organizes application features into isolated vertical slices to prevent code bloat and maintain clear boundaries. ([source](https://cleanarchitecture.jasontaylor.dev))

### Web Development

- [Full-Stack Web Development](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/full-stack-frameworks/full-stack-web-development.md) — Provides a structured foundation for building backend services with automated request pipelines and integrated database management.
- [Full-Stack Web Applications](https://awesome-repositories.com/f/web-development/full-stack-web-applications.md) — Provides scaffolding tools to generate structured full-stack projects with pre-configured API integration. ([source](https://cleanarchitecture.jasontaylor.dev))
- [Error Response Mappers](https://awesome-repositories.com/f/web-development/error-response-mappers.md) — Formats unhandled exceptions into consistent problem details responses for the client. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/pipeline-behaviours/))
- [Backend-Frontend Bridges](https://awesome-repositories.com/f/web-development/backend-frontend-bridges.md) — Configures proxying and API client generation to connect frontend frameworks to the backend. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/multiple-ui-options/))

### DevOps & Infrastructure

- [Infrastructure Abstractions](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-abstractions.md) — Implements standardized interfaces to hide the complexity of underlying storage and network communication protocols. ([source](https://cleanarchitecture.jasontaylor.dev/docs/architecture/))
- [Service Health Monitoring](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/operational-observability-access/service-health-monitoring.md) — Provides a centralized dashboard for viewing real-time service status and request metrics. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/aspire/))

### Security & Cryptography

- [Access Control](https://awesome-repositories.com/f/security-cryptography/security/policies/access-control.md) — Validates user authentication and policy requirements before executing request handlers to secure sensitive application logic. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/pipeline-behaviours/))

### System Administration & Monitoring

- [Distributed Observability Systems](https://awesome-repositories.com/f/system-administration-monitoring/distributed-observability-systems.md) — Manages the lifecycle of distributed application stacks with built-in observability through logs and traces. ([source](https://cleanarchitecture.jasontaylor.dev))
- [Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring.md) — Tracks request duration and logs warnings for operations exceeding performance thresholds. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/pipeline-behaviours/))
- [Audit Logging](https://awesome-repositories.com/f/system-administration-monitoring/audit-logging.md) — Logs request names and user identities to maintain a complete audit trail of system interactions. ([source](https://cleanarchitecture.jasontaylor.dev/docs/features/pipeline-behaviours/))

### Business & Productivity Software

- [Business Operations Tools](https://awesome-repositories.com/f/business-productivity-software/business-operations-tools.md) — Coordinates system operations through command and query handlers while enforcing validation and monitoring. ([source](https://cleanarchitecture.jasontaylor.dev/docs/architecture/))

### Testing & Quality Assurance

- [Software Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing.md) — Provides a comprehensive suite of unit, integration, and acceptance tests to verify system reliability and core business logic.
