This .NET 10 based boilerplate project includes the following features:
- RESTful API (with Swagger/ReDoc documentation)
- ScyllaDB (Cassandra-compatible) integration
- Redis cache
- RabbitMQ message queue
- JWT authentication
- Queue-based mail service
- Docker container management
├── src/
│ ├── core/ # Domain entities and shared contracts
│ ├── application/ # Use cases, validation, and interfaces
│ ├── infrastructure/ # Implementations for databases, messaging, etc.
│ └── presentation/api/ # ASP.NET Core API host and middleware
├── deploy/docker/ # Dockerfiles and compose definitions
├── tests/ # Automated test projects
├── ops/ # Pipelines and ops scripts
└── docs/ # Project documentation
- BCrypt Service: Password hashing and verification
- JWT Service: Token generation and validation
- Redis Service: Cache operations
- Scylla Service: NoSQL database operations
- RabbitMQ Service: Message queue operations
- Mail Service: Queue-based email sending
- Worker Service: Background processing
- Rate Limiting: API request throttling and DDoS protection
- Dependency Injection
- Repository Pattern
- Service Layer Pattern
- Background Services (Worker Pattern)
- Type: ScyllaDB (Cassandra-compatible NoSQL)
- Port: 9042
- Features: Distributed, highly scalable
- Type: Redis
- Port: 6379
- Usage: Session storage, temporary data
- Type: RabbitMQ
- Ports: 5672 (AMQP), 15672 (Management UI)
- Usage: Asynchronous processing, email queue
/health- Health check/api/client- Client management/api/mail- Mail operations
For detailed API documentation, run the application and visit /swagger.
# Development environment
make dev
# Production environment
make prodFor more details, see the related documentation files: