Zum Inhalt

Manuelle Alerts / Reminder

ID: PA-003 · Service: push-alerts · Status: 🟢 aktiv · Use Case: UC-PA-003


Benutzer können selbst Push-Nachrichten mit Zeitpunkt, Titel und optionalem Text erstellen. Der Scheduler sendet die Nachricht zum konfigurierten Zeitpunkt. Typische Anwendungsfälle: Erinnerungen, selbst gesetzte Deadlines, kontextbezogene Notizen mit Zeitbezug.


Typ

functional

Datenmodell

Typ: manual

Felder

Feld Wert
Titel Pflichtfeld, max. 100 Zeichen
Body Optional, max. 300 Zeichen
Schedule At Pflichtfeld, Zeitstempel in der Zukunft (UTC)
Url Optional, Ziel-URL beim Klick (relativ zur PWA-Basis)
Active bool (false nach Versand oder manueller Löschung)

API

Endpoints

Eintrag 1

Methode: POST

Path: /api/alerts/reminders

Beschreibung: Neuen Reminder erstellen

Auth: required

Body
Feld Wert
Titel string (required)
Body string (optional)
Schedule At datetime ISO 8601 (required, must be future)
Url string (optional)
Antwort
Feld Wert
ID int
Titel string
Schedule At datetime
Active bool

Eintrag 2

Feld Wert
Methode GET
Path /api/alerts/reminders
Beschreibung Alle offenen Reminder des Benutzers auflisten
Auth required
Filter nur active=true und schedule_at in der Zukunft

Eintrag 3

Feld Wert
Methode DELETE
Path /api/alerts/reminders/{id}
Beschreibung Reminder löschen (nur eigene, nur wenn noch nicht gesendet)
Auth required

Scheduling

Feld Wert
Beschreibung Der Scheduler prüft jede Minute alle Reminder mit schedule_at <= now() und active=true. Für jeden gefundenen Reminder wird die Push-Nachricht an alle aktiven Subscriptions des Benutzers gesendet.
Cron-Ausdruck * * * * *
Nach Versand active = false, Eintrag in alert_history

Validierung

  • schedule_at muss in der Zukunft liegen (min. 1 Minute)
  • title darf nicht leer sein
  • Benutzer muss aktive Subscription haben (Warnung, kein Fehler beim Anlegen)

Frontend

Formular

Felder

  • Titel (Textfeld)
  • Text / Notiz (Textarea, optional)
  • Datum (Date Picker)
  • Uhrzeit (Time Picker)
  • Link / Zielseite (Dropdown oder Freitext, optional)

Aktion: Speichern → Bestätigung mit Datum/Uhrzeit der Erinnerung

Abnahmekriterien

  • [ ] Reminder mit Zeitpunkt in der Vergangenheit wird abgelehnt (HTTP 422)
  • [ ] Push-Nachricht wird zum konfigurierten Zeitpunkt (±1 Minute) gesendet
  • [ ] Nach Versand ist der Reminder in der Liste nicht mehr sichtbar (active=false)
  • [ ] Benutzer kann offene Reminder löschen (solange noch nicht gesendet)
  • [ ] Versand wird in alert_history protokolliert

Depends On

  • PA-001
  • AUTH-001

Changelog

Eintrag 1

Version: 1.0

Changes: Initiale Version