Ein vollständiger ToDo-Manager mit Flask REST-API, JSON-Datenspeicherung und modernem Web-Interface.
- REST API
- JSON-Datenspeicherung in
todos.json - Web-Interface
- Filterfunktionen nach Status
- Statistiken über ToDo-Verteilung
- Unit-Tests für alle wichtigen Funktionen
- Automatisches Speichern nach jeder Aktion
- ID: Eindeutige Identifikation
- Titel: Kurze Beschreibung der Aufgabe
- Beschreibung: Detaillierte Beschreibung
- Status:
offen,in Bearbeitung,erledigt - Erstellt am: Zeitstempel der Erstellung
- Aktualisiert am: Zeitstempel der letzten Änderung
- Python 3.7 oder höher
- pip (Python Package Manager)
http://localhost:5000
GET /todosBeispiel:
curl http://localhost:5000/todosMit Status-Filter:
curl "http://localhost:5000/todos?status=offen"GET /todos/<id>Beispiel:
curl http://localhost:5000/todos/1703501234567POST /todosBeispiel:
curl -X POST http://localhost:5000/todos \
-H "Content-Type: application/json" \
-d '{
"titel": "Einkaufen gehen",
"beschreibung": "Milch, Brot und Eier kaufen",
"status": "offen"
}'PUT /todos/<id>Beispiel:
curl -X PUT http://localhost:5000/todos/1703501234567 \
-H "Content-Type: application/json" \
-d '{
"titel": "Einkaufen erledigt",
"status": "erledigt"
}'DELETE /todos/<id>Beispiel:
curl -X DELETE http://localhost:5000/todos/1703501234567GET /todos/statistikBeispiel:
curl http://localhost:5000/todos/statistikAntwort:
{
"gesamt": 5,
"status_verteilung": {
"offen": 2,
"in Bearbeitung": 1,
"erledigt": 2
}
}ToDoManagerFlask/
├── app.py # Hauptanwendung
├── test_todo_manager.py # Unit-Tests
├── requirements.txt # Abhängigkeiten
├── README.md # Diese Datei
├── templates/ # HTML-Templates
│ └── index.html # Web-Interface
└── todos.json # JSON-Datenbank
- Live-Statistiken über ToDo-Verteilung
- Filterfunktionen nach Status
- Inline-Bearbeitung von ToDos
- Datei:
todos.json - Automatisches Laden beim Start
- Automatisches Speichern nach Änderungen
- Backup-empfehlung für Produktionsumgebung
Die API gibt strukturierte Fehlerantworten zurück:
{
"error": "Fehlermeldung"
}HTTP-Status-Codes:
200: Erfolg201: Erstellt400: Ungültige Anfrage404: Nicht gefunden500: Server-Fehler