**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.