An open API service indexing awesome lists of open source software.

https://github.com/mustafaalkan64/cleanarchitecturetemplate


https://github.com/mustafaalkan64/cleanarchitecturetemplate

clean-architecture cqrs cross-cutting-concerns ddd open-telemetry seq

Last synced: 17 days ago
JSON representation

Awesome Lists containing this project

README

          

# ๐Ÿงฑ Clean Architecture Template (.NET 9)

A pragmatic and extensible Clean Architecture solution template for building robust .NET applications using **Domain-Driven Design (DDD)** principles.

---

## ๐Ÿงฉ What's Included?

### ๐Ÿ“ฆ SharedKernel Project
- Common **DDD abstractions**
- Reusable **value objects**, **base entities**, and **interfaces**

### ๐Ÿ› Domain Layer
- Rich **domain model** with sample entities
- Focus on **business logic** and **ubiquitous language**

### ๐Ÿ“š Application Layer
- **CQRS** with MediatR-style requests
- Example **use cases**
- **Cross-cutting concerns**:
- Logging
- Validation (using FluentValidation)

### ๐Ÿ— Infrastructure Layer
- **Authentication** and **Authorization**
- Role-based and Permission-based strategies
- **EF Core** with **PostgreSQL** support
- **Logging**:
- Structured logging via **Serilog**
- Integrated with **Seq** for log visualization

> ๐Ÿ” Seq is available at [http://localhost:8081](http://localhost:8081) by default.

### ๐Ÿงช Testing Projects
- โœ… Unit Testing
- โœ… Functional Testing
- โœ… Integration Testing
- โœ… Architecture Testing (e.g., validate dependency rules)

---

## ๐Ÿš€ Advanced Features & Roadmap

This template is built with best practices in mind and is designed to grow with your project. It includes or supports:

- โœ… Domain-Driven Design (DDD)
- โœ… Role-based Authorization
- โœ… Permission-based Authorization
- โœ… Distributed Caching with Redis
- โœ… OpenTelemetry for distributed tracing
- โœ… Outbox Pattern for reliable event publishing
- โœ… API Versioning
- โœ… Unit Testing
- โœ… Functional Testing
- โœ… Integration Testing

---

## ๐Ÿ“ฅ Getting Started

```bash
git clone https://github.com/your-org/clean-architecture-template.git
cd clean-architecture-template
docker-compose up -d
```

Then open http://localhost:8081 to explore structured logs via Seq.

You can download free template from here, its ready to use : https://www.milanjovanovic.tech/templates/clean-architecture