This project is a modern web API for managing a bookstore, built with .NET 8 and adhering to clean architecture principles. While it primarily implements CRUD operations, it incorporates various design patterns and best practices to ensure a scalable and maintainable application architecture.
This project follows Vertiacl Slide Architecture(organizes the code around features), with clear separation of concerns:
- Domain Layer: Contains business entities and interfaces
- Infrastructure Layer: Implements data access and external services
- Application Layer: Contains business logic and use cases
- Presentation Layer: API controllers
- RESTful API design
- Advanced caching with Redis
- Database persistence with PostgreSQL
- Entity Framework Core for data access
- CQRS with MediatR pattern
- Unit testing and architecture testing (demo)
- Distributed caching support
- xUnit, AutoFixture and FluentAssertions for testing
- ASP.NET Web API (.NET 8)
- PostgreSQL
- Entity Framework Core
- Redis Cache
- xUnit/AutoFixture/FluentAssertions
- PayOS
- MailKit
- ...