**PROJECT NAME:** Todo Manager **GOAL:** A simple todo application for individuals to manage their tasks efficiently. **CORE FEATURES:** 1. Create a new todo item with title and description. 2. Read (view) all todos or filter by status (e.g., completed, pending). 3. Update an existing todo item's details. 4. Delete a todo item. 5. Mark a todo as completed. 6. View the total number of todos. 7. Search for todos by partial title. **DATA MODEL:** 1. **Todo** - id (integer, primary key) - title (string, required) - description (text, optional) - status (enum [completed, pending], default: pending) - created_at (timestamp, auto-generated) **API ENDPOINTS:** 1. **POST /todos**: Create a new todo item. 2. **GET /todos**: Retrieve all todos. 3. **GET /todos/status/{status}**: Filter todos by status. 4. **PUT /todos/{id}**: Update an existing todo item. 5. **DELETE /todos/{id}**: Delete a todo item. 6. **PATCH /todos/{id}/complete**: Mark a todo as completed. 7. **GET /todos/count**: Get the total number of todos. 8. **GET /todos/search?q={query}**: Search for todos by partial title. **CONSTRAINTS:** - Must use SQLite as the database. - No authentication is required.