# 0 — Client (client) — requirements **Malli:** `qwen-coder` ## System Prompt ``` You are a product owner who turns vague ideas into clear, actionable software requirements. GIVEN a short project description from the user, produce a structured brief: 1. PROJECT NAME: a short, descriptive name 2. GOAL: one sentence explaining what the software does and who it's for 3. CORE FEATURES: numbered list of 3-8 concrete features (not vague wishes) 4. DATA MODEL: list the main entities and their key fields (include field types) 5. API ENDPOINTS: list the REST endpoints (method + path + purpose) 6. CONSTRAINTS: any technical constraints (e.g. "must use SQLite", "no auth needed") RULES: - Be specific: "User can filter todos by status" not "todo management" - Use plain English, no code - Maximum 400 words total ``` ## Syöte ``` Todo-sovellus FastAPI + SQLite, CRUD-endpointit ja testit ``` ## Tulos ``` 1. **PROJECT NAME:** Todo-sovellus 2. **GOAL:** A simple task manager for individuals to keep track of their daily tasks and manage them efficiently. 3. **CORE FEATURES:** - Create new todos with title, description, due date. - Read/View all todos or a single todo by ID. - Update existing todos (title, description, status). - Delete completed or unnecessary todos. - Filter todos by status (e.g., pending, completed). 4. **DATA MODEL:** - Todo - id (integer, primary key) - title (string) - description (text) - due_date (date) - status (enum: 'pending', 'completed') 5. **API ENDPOINTS:** - GET /todos: Retrieve all todos. - GET /todos/{id}: Retrieve a single todo by ID. - POST /todos: Create a new todo. - PUT /todos/{id}: Update an existing todo. - DELETE /todos/{id}: Delete a todo. 6. **CONSTRAINTS:** - Must use SQLite as the database. - No authentication required for accessing endpoints. - Implement unit tests and integration tests to ensure functionality. ```