32 lines
1.3 KiB
Plaintext
32 lines
1.3 KiB
Plaintext
**PROJECT NAME:** TodoSovellus
|
|
|
|
**GOAL:** Create a simple task management application for individuals to keep track of their daily tasks and manage them efficiently.
|
|
|
|
**CORE FEATURES:**
|
|
1. **Add Task**: Users can add new tasks with a title, description, due date, and status (e.g., pending, completed).
|
|
2. **View Tasks**: Users can view all tasks or filter by status (pending, completed).
|
|
3. **Edit Task**: Users can update the details of an existing task.
|
|
4. **Delete Task**: Users can remove tasks that are no longer needed.
|
|
5. **Mark as Completed**: Users can mark a task as completed.
|
|
6. **Filter Tasks**: Users can filter tasks based on their status (pending, completed).
|
|
7. **Task Details**: Users can view detailed information about each task.
|
|
|
|
**DATA MODEL:**
|
|
1. **Tasks**
|
|
- id (integer, primary key)
|
|
- title (string)
|
|
- description (text)
|
|
- due_date (date)
|
|
- status (enum: pending, completed)
|
|
|
|
**API ENDPOINTS:**
|
|
1. **GET /tasks**: Retrieve all tasks.
|
|
2. **POST /tasks**: Create a new task.
|
|
3. **GET /tasks/{id}**: Retrieve details of a specific task by ID.
|
|
4. **PUT /tasks/{id}**: Update an existing task.
|
|
5. **DELETE /tasks/{id}**: Delete a task.
|
|
6. **GET /tasks/status/{status}**: Filter tasks by status (pending, completed).
|
|
|
|
**CONSTRAINTS:**
|
|
- Must use SQLite as the database.
|
|
- No authentication is required for accessing endpoints. |