Task: Todo Management API
Description:
Create a simple Todo management application with basic CRUD operations and status
management.
Core Requirements:
Data Model:
Todo
- Id (Guid)
- Title (required, max 100 chars)
- Description (optional)
- Status (Pending/InProgress/Completed)
- Priority (Low/Medium/High)
- DueDate (optional)
- CreatedDate
- LastModifiedDate
Required Features:
● CRUD operations for todos
● List todos with filtering by status
● Mark todo as complete
● Basic validation (title required, valid dates)
Technical Requirements:
Backend (.NET Core):
● Use ASP.NET Core 7/8
● Use Entity Framework Core
● Implement proper error handling
Frontend:
● Simple Bootstrap interface
● Todo list with status filter
● Create/Edit form
● Delete confirmation
Bonus Points (Optional):
● Implementing using DDD principles
● Adding domain events (e.g., TodoCompletedEvent)
● Adding additional filters (priority, date range)
● Adding sorting options
● Adding basic API documentation
ABP Framework:
● Use basic ABP application template
● Use default authentication
Evaluation Criteria:
Code Organization (40%):
● Clean code structure
● Proper separation of concerns
● Error handling
● Input validation
Technical Implementation (30%):
● Correct use of EF Core
● Basic ABP Framework usage
● API design
● Data validation
Frontend Implementation (30%):
● Bootstrap usage
● User interface
● Form handling
● Error display
Expected Deliverables:
● Source code in a Git repository
● Basic README with setup instructions