A robust and scalable Backend API built with .NET 9 following Clean Architecture principles. This project manages users, expenses, and categories with a focus on data integrity and clear separation of concerns.
- Framework: .NET 9
- Database: Entity Framework Core (SQL Server)
- Mapping: AutoMapper
- Architecture: Clean Architecture (Domain, Application, Infrastructure, API)
- Design Patterns: Repository Pattern, DTOs (Data Transfer Objects)
- User Management: Full CRUD operations for users, including DTO-based data transfer.
- Category Management: System for organizing expenses into custom categories.
- Expense Tracking: Complete expense management with async operations and validation.
- Global Error Handling: Centralized middleware for handling exceptions consistently.
- Clean Architecture: Separation of project into Domain, Application, Infrastructure, and API layers for better maintainability.
- Data Mapping: Integrated AutoMapper to handle transformations between Domain Entities and DTOs efficiently.
- Persistence: Configured
ApplicationDbContextwith support for Users, Expenses, and Categories. - Repository Clean-up: Properly configured
.gitignoreto excludebin/objand IDE-specific settings.
- Domain: Entities and core business logic.
- Application: Interfaces, DTOs, Mapping profiles, and Service logic.
- Infrastructure: Database context, migrations, and external service implementations.
- API: Controllers, Middleware, and Program configuration.
- Clone the repository.
- Update the connection string in
appsettings.json. - Run
dotnet ef database updateto apply migrations. - Run the project and explore via Swagger UI.