File size: 1,770 Bytes
25ead9d
 
 
 
 
7cfbe54
25ead9d
 
 
 
 
 
 
 
 
 
 
 
 
 
7cfbe54
25ead9d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# ✦ TaskMaster β€” Flask Task Manager

A clean, fully functional personal task manager built with Flask.
No database required β€” works out of the box!

---

## πŸš€ Quick Start

```bash
# 1. Install Flask
pip install flask

# 2. Run the app
python app.py

# 3. Open browser
# β†’ http://127.0.0.1:5000
```

---

## πŸ—‚ Project Structure

```
taskmaster/
β”œβ”€β”€ app.py              ← Flask app + REST API
β”œβ”€β”€ requirements.txt    ← Dependencies (just Flask)
└── templates/
    └── index.html      ← Beautiful single-page UI
```

---

## πŸ”Œ REST API

| Method | Endpoint              | Description           |
|--------|-----------------------|-----------------------|
| GET    | `/api/tasks`          | List tasks (filterable)|
| POST   | `/api/tasks`          | Create a new task     |
| PATCH  | `/api/tasks/<id>`     | Update a task         |
| DELETE | `/api/tasks/<id>`     | Delete a task         |
| GET    | `/api/stats`          | Get summary stats     |

### Query params for GET /api/tasks
- `?done=true/false`
- `?priority=high/medium/low`
- `?category=work/personal/learning/general`

### POST /api/tasks body
```json
{
  "title": "My task",
  "priority": "high",
  "category": "work",
  "due_date": "2026-06-30"
}
```

---

## ✨ Features

- Add tasks with title, priority, category, and due date
- Mark tasks as done / pending
- Delete tasks
- Filter by status, priority, or category
- Live stats dashboard (total / done / pending / urgent)
- Toast notifications
- Fully responsive design
- Zero database β€” pure Python in-memory store

---

## πŸ›  Tech Stack

- **Backend:** Python + Flask
- **Frontend:** Vanilla HTML/CSS/JS (no frameworks)
- **Storage:** In-memory (dict) β€” add SQLite easily if you want persistence