This is a RESTful Web API project built with ASP.NET Core 8, following the Clean Architecture pattern. It allows full CRUD operations on user entities, task lists, and individual tasks. It uses Entity Framework Core for SQL Server or In-Memory database integration and includes automatic API documentation via Swagger.
✅ Full CRUD operations for users
✅ Full CRUD operations for task lists
✅ Full CRUD operations for individual tasks
✅ Integration with SQL Server or In-Memory DB
✅ Clean Architecture: layered separation (Domain, Application, Infrastructure, WebAPI)
✅ Auto-generated Swagger documentation
✅ Seed data generation with In-Memory DB
- ASP.NET Core 8
- C#
- Entity Framework Core 8
- SQL Server / In-Memory Database
- Swagger / OpenAPI (Swashbuckle)
- AutoMapper
- Clean Architecture principles
Users
GET /api/User/GetAll→ Get all usersGET /api/User/{id}→ Get a user by IDPOST /api/User→ Create a new user
Task Lists
GET /api/TaskList/{id}→ Get a task list by IDPOST /api/TaskList→ Create a new task list
Task Items
GET /api/TaskItem/GetAll→ Get all tasksGET /api/TaskItem/{id}→ Get a task by IDPOST /api/TaskItem→ Create a new taskPUT /api/TaskItem/{id}→ Update a taskDELETE /api/TaskItem/{id}→ Delete a task
When UseInMemoryDB is enabled in appsettings.json, the application auto-generates:
- 2 users
- 1 task list per user
- 2 task items per list
-
Input validation with FluentValidation
-
Authentication using JWT
-
Global exception handling
-
Logging with Serilog
-
Unit and integration tests