From a055eb2b0a14944386801a23565ce4c54b0955a0 Mon Sep 17 00:00:00 2001 From: PBBFA24AAL Date: Sun, 9 Aug 2026 02:18:23 +0200 Subject: [PATCH] Add ER diagram and test protocol --- docs/ER-Diagramm.svg | 89 +++++++++++++++++++++++++++++++++++++++++++ docs/Testprotokoll.md | 27 +++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 docs/ER-Diagramm.svg create mode 100644 docs/Testprotokoll.md diff --git a/docs/ER-Diagramm.svg b/docs/ER-Diagramm.svg new file mode 100644 index 0000000..3351cb0 --- /dev/null +++ b/docs/ER-Diagramm.svg @@ -0,0 +1,89 @@ + + ER-Diagramm des Habit Trackers + Datenmodell mit den Tabellen users, categories, habits, habit_logs und reminders. + + + + + + + + Habit Tracker — ER-Diagramm + Fünf Tabellen mit klaren Fremdschlüssel-Beziehungen + + + 1 : n + + 1 : n + + 1 : n + + 1 : n + + + + + users + PK id + name + email UNIQUE + password_hash + created_at + Ein Konto besitzt mehrere Habits. + + + + + + categories + PK id + name + color + Kategorie eines Habits ist optional. + + + + + + habits + PK id + FK user_id → users.id + FK category_id → categories.id + title · description + target_per_week + created_at + Zentrale Tabelle der Anwendung. + + + + + + habit_logs + PK id + FK habit_id → habits.id + completed_on · created_at + UNIQUE: habit_id + completed_on + + + + + + reminders + PK id + FK habit_id → habits.id + reminder_time · weekday · is_active + Erinnerung gehört zu genau einem Habit. + + diff --git a/docs/Testprotokoll.md b/docs/Testprotokoll.md new file mode 100644 index 0000000..6bed4ef --- /dev/null +++ b/docs/Testprotokoll.md @@ -0,0 +1,27 @@ +# Testprotokoll — Habit Tracker + +**Projekt:** Habit Tracker +**Teststand:** `develop` +**Ausführung:** Vor der Abgabe jeden Test mit einem aktuellen Screenshot oder einer kurzen Notiz nachweisen. + +| ID | Testfall | Schritte | Erwartetes Ergebnis | Tatsächliches Ergebnis | Status | +| --- | --- | --- | --- | --- | --- | +| T01 | Registrierung mit gültigen Daten | Name, gültige E-Mail und Passwort mit mindestens 8 Zeichen eingeben. | Konto wird angelegt; Hinweis führt zum Login. | | Offen | +| T02 | Registrierung mit ungültigen Daten | Leeren Namen, ungültige E-Mail oder zu kurzes Passwort eingeben. | Verständliche Fehlermeldung; Konto wird nicht angelegt. | | Offen | +| T03 | Doppelte E-Mail-Adresse | Bereits registrierte E-Mail erneut registrieren. | Hinweis, dass die E-Mail bereits verwendet wird. | | Offen | +| T04 | Login mit falschem Passwort | Richtige E-Mail, falsches Passwort eingeben. | Kein Login; neutrale Fehlermeldung. | | Offen | +| T05 | Habit erstellen | Eingeloggt Habit mit Kategorie und Wochenziel erstellen. | Habit erscheint im Dashboard mit Kategorie und Wochenziel. | | Offen | +| T06 | Habit-Validierung | Leeren Namen, mehr als 120 Zeichen oder Wochenziel außerhalb 1–7 eingeben. | Feldbezogene Fehlermeldung; Eingaben bleiben sichtbar. | | Offen | +| T07 | Filter | Kategorie- und Statusfilter nacheinander verwenden. | Nur passende Habits werden angezeigt. | | Offen | +| T08 | Tagesprotokoll und Wochenfortschritt | Habit abhaken und die Seite erneut laden. | Status wechselt; Wochenfortschritt erhöht sich genau einmal. | | Offen | +| T09 | Schutz fremder Habits | Mit zweitem Konto eine fremde Habit-ID für Bearbeiten/Löschen aufrufen. | Fremde Habit ist nicht sichtbar, nicht änderbar und nicht löschbar. | | Offen | +| T10 | CSRF-Schutz | Formular ohne oder mit verändertem CSRF-Token absenden. | Aktion wird abgelehnt; keine Daten werden geändert. | | Offen | +| T11 | Responsive Ansicht | Dashboard und Formular bei Smartphone-Breite prüfen. | Navigation, Formulare und Aktionen bleiben ohne horizontales Scrollen bedienbar. | | Offen | +| T12 | Reminder-Funktion | Nach Umsetzung: Erinnerung mit Uhrzeit und Wochentag anlegen, ändern und löschen. | Erinnerung wird korrekt angezeigt und gespeichert. | | Offen | + +## Abnahme vor der Präsentation + +- Alle Zeilen T01–T11 ausführen und das Ergebnis eintragen. +- Bei Fehlerfällen mindestens einen Screenshot sichern. +- T12 erst nach vollständiger Umsetzung der Reminder-Funktion als bestanden markieren. +- Screenshots im Ordner `docs/screenshots/` eindeutig benennen, zum Beispiel `01-login.png` oder `05-wochenfortschritt.png`.