Excercise project
- ASP.NET Core Web API
- .NET 10
- Clean Architecture
- Layered project structure: API, Application, Domain, Infrastructure
- Entity Framework Core
- PostgreSQL with Npgsql provider
- Repository / persistence abstraction through application interfaces
- Dependency Injection
- JWT authentication
- JWT Bearer authorization
- Access tokens and refresh tokens
- Refresh token rotation
- Refresh token reuse detection
- Token family revocation
- SHA-256 refresh token hashing
- Role-based authorization
- Permission-based authorization
- Custom authorization handlers
- User registration and login
- Password hashing with ASP.NET Core Identity password hasher
- FluentValidation
- Global exception handling middleware
- Problem Details error responses
- Swagger / OpenAPI documentation
- Integration tests
- PostgreSQL integration tests
- Unit tests