NineStack – .NET 9 Clean Architecture Kit (CQRS , Auth ,Docker, .... )
Project Features Implemented:
✅ Clean Architecture - Organized into Domain, Application, Infrastructure, and WebApi layers
✅ CQRS Pattern - Command Query Responsibility Segregation with MediatR
✅ Architecture Testing - Unit tests for domain entities, value objects, and application handlers
✅ FluentValidation - Input validation for commands and queries
✅ Email Integration - Email service with SMTP support
✅ JWT Authentication & Authorization - Secure token-based authentication
✅ Unit of Work Pattern - Transaction management and repository coordination
✅ Middleware - Custom error handling and rate limiting middleware
✅ Entity Framework Core - Database access with code-first approach
✅ Polly - Resilience and transient-fault handling for HTTP clients
✅ Unit Testing - Comprehensive test coverage with xUnit, FluentAssertions, and Moq
✅ Docker Support - Dockerfile and docker-compose for containerization
✅ Specification Pattern - Domain specifications for complex queries
✅ Redis Cache - Distributed caching support (with in-memory fallback)
✅ Message Queue - RabbitMQ integration (with in-memory implementation)
✅ Generic Repository - Reusable repository pattern with specifications
✅ Rate Limiting - Request throttling middleware
✅ Background Jobs - Hangfire integration for background processing
✅ Logging System - Structured logging with console output
## 🏗️ Project Structure
```
CleanArchitectureApi/
├── src/
│ ├── Domain/ # Domain layer
│ │ ├── Common/ # Base classes and interfaces
│ │ ├── Entities/ # Domain entities
│ │ ├── Events/ # Domain events
│ │ ├── Specifications/ # Specification pattern
│ │ └── ValueObjects/ # Value objects
│ ├── Application/ # Application layer
│ │ ├── Behaviors/ # MediatR behaviors
│ │ ├── DTOs/ # Data transfer objects
│ │ ├── Features/ # CQRS commands/queries
│ │ ├── Interfaces/ # Application interfaces
│ │ └── Mappings/ # AutoMapper profiles
│ ├── Infrastructure/ # Infrastructure layer
│ │ ├── Data/ # EF Core DbContext
│ │ ├── Repositories/ # Repository implementations
│ │ └── Services/ # External service implementations
│ └── WebApi/ # Presentation layer
│ ├── Controllers/ # API controllers
│ ├── Middleware/ # Custom middleware
│ └── Program.cs # Application entry point
├── tests/
│ ├── UnitTests/ # Unit tests
│ └── IntegrationTests/ # Integration tests
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile # Docker configuration
└── README.md # This file
```