Clean Architecture For .Net Core 8 Web Api
- Web Api Layer
- Application Layer (Business Logic)
- Common Layer (Abstraction Layer Between (High Level Layer) Application Layer And (Low Level Layer) Infrastructure)
- Domain Layers (Domain Models)
- Infrastructure Layer (Data Access Layer)
- Integration Layer (External Third Parties Integration)
- Generic crud operations
- Auto Mapper
- SOLID Principles Applied
- Generic Repository And Unit Of Work Pattern
- User Management Module (managing user role and permission per page level)
- Redis Caching
- Audit Trails
- Logging Using Serilog To Sql Server Database
- Fluent Scheduler (For Background Tasks)
- Swagger Documentation
- JWT Authentication
- Policy Based Authorization
- Form Based (Username And Password) Authentication And LDAP Authentication
- Api Versioning
- Add Dashboard For Audit Trails Logs
- Add Logging Dashboard
- Add Prometheus And Grafana Dashboard For Monitoring And Health Checks
- Add AMQP (Rabbit MQ And Masstransit)
- Add External Providers Authentication (Google , Azure AD , Facebook)
- Divide Entities To Schemas in Database
- Use File-Scoped Namespaces to make refactor easier
- Run Unit Tests using Iteration Count like (1000) case for the test till it fails
- Move Logging Mechanism To Different Nuget SDK
- Move Date Layer Access To Separate Nuget SDK
- Use ClaimPrincipalExtensions to add better extension methods to get claim values from token
- Refactor BaseService to remove the inputs to the service
- Add https://www.flagsmith.com/
- Use https://youtube.com/shorts/NLopFJ-EtKA?feature=share
- Token Management With Identity Provider with OAuth 2
- clone the repository
- run Update-Database through PMC(Package Manager Console)
- try login using Username: Admin ; Password:123456
- current release version is 1.0.0