A backend API built with C# and .NET for managing personal productivity, including projects and tasks.
- User authentication (registration & login)
- Project management
- Task management within projects
- Task prioritization & status tracking
- Clean architecture (Domain / Application / Infrastructure / API)
- C#
- .NET 9
- ASP.NET Core (Minimal API)
- ASP.NET Identity
- Swagger (OpenAPI)
- Entity Framework Core
- Microsoft SQL Server
The project follows Clean Architecture principles, separating responsibilities into layers:
Domain → Core business logic (Entities, Enums, Interfaces)
Application → DTOs, Services
Infrastructure → Database, Repositories, Identity
API → Endpoints, configuration, request handling
- Entities:
Project,ProjectTask - Enums: task priority & status
- Repository interfaces
- Business logic services
- DTOs for data transfer
- Mapping extensions
- Result pattern implementation
- Entity Framework Core
- Database context & configurations
- Repository implementations
- Identity (users)
- Minimal API endpoints
- Authentication endpoints
- Swagger configuration
- Exception handling
- POST
/auth/register - POST
/auth/login - POST
/auth/logout - GET
/auth/me
- GET
/projects - POST
/projects - GET
/projects/{id} - PUT
/projects/{id} - DELETE
/projects/{id}
- GET
/projects/{projectId}/tasks - POST
/projects/{projectId}/tasks - GET
/projects/{projectId}/tasks/{taskId} - PATCH
/projects/{projectId}/tasks/{taskId} - DELETE
/projects/{projectId}/tasks/{taskId}
This project was created to:
- Practice building scalable backend applications
- Learn clean architecture principles
- Demonstrate real-world .NET development skills
MIT License