30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
**PROJECT NAME:** Todo-sovellus
|
|
|
|
**GOAL:** The software is a simple task manager for individuals to keep track of their daily tasks and manage them efficiently.
|
|
|
|
**CORE FEATURES:**
|
|
1. Create new todos with title, description, due date, and status.
|
|
2. Read (view) all todos or filter by status (e.g., pending, completed).
|
|
3. Update existing todos (change title, description, due date, status).
|
|
4. Delete todos that are no longer needed.
|
|
5. Mark a todo as complete.
|
|
6. View the total number of todos and count by status.
|
|
|
|
**DATA MODEL:**
|
|
1. **Todo**
|
|
- id (integer, primary key)
|
|
- title (string, required)
|
|
- description (text, optional)
|
|
- due_date (date, optional)
|
|
- status (enum: 'pending', 'completed')
|
|
|
|
**API ENDPOINTS:**
|
|
1. **GET /todos** - Retrieve all todos.
|
|
2. **GET /todos?status=...** - Filter todos by status (e.g., `/todos?status=pending`).
|
|
3. **POST /todos** - Create a new todo.
|
|
4. **PUT /todos/{id}** - Update an existing todo.
|
|
5. **DELETE /todos/{id}** - Delete a todo.
|
|
|
|
**CONSTRAINTS:**
|
|
- Must use SQLite as the database.
|
|
- No authentication is required for accessing endpoints. |