Pipelinen parannuksia building blockeilla

This commit is contained in:
Jaakko Vanhala
2026-04-12 18:48:14 +03:00
parent c1a5f8aff5
commit b2ee8b9031
175 changed files with 13311 additions and 237 deletions

View File

@@ -0,0 +1,40 @@
**PROJECT NAME:** Todo-sovellus
**GOAL:** Create a simple task management application for individuals to keep track of their daily tasks and manage them efficiently.
**CORE FEATURES:**
1. Add new tasks with title, description, due date, and status.
2. View all tasks with filtering by status (e.g., pending, completed).
3. Update existing tasks including changing the title, description, due date, and status.
4. Delete tasks that are no longer needed.
5. Mark tasks as completed or pending.
6. Search for tasks by keywords in the title or description.
7. Export task list to a CSV file.
**DATA MODEL:**
1. **Task**
- id (integer, primary key)
- title (string, required)
- description (text, optional)
- due_date (date, optional)
- status (enum ['pending', 'completed'], default 'pending')
2. **User**
- id (integer, primary key)
- username (string, unique, required)
- email (string, unique, required)
- password_hash (string, required)
**API ENDPOINTS:**
1. **GET /tasks** - Retrieve all tasks with optional filters by status.
2. **POST /tasks** - Create a new task.
3. **GET /tasks/{task_id}** - Retrieve a specific task by ID.
4. **PUT /tasks/{task_id}** - Update an existing task.
5. **DELETE /tasks/{task_id}** - Delete a task.
6. **POST /users/register** - Register a new user.
7. **POST /users/login** - Authenticate and return a token for authorized access.
**CONSTRAINTS:**
- Must use SQLite as the database.
- No authentication is required for accessing CRUD operations.
- Implement unit tests for all API endpoints.