📖 Push-Alert-Service – Use Cases
UC-PA-001 – Push-Benachrichtigungen aktivieren
Beschreibung
Ein Benutzer aktiviert Push-Benachrichtigungen in der PWA.
Ziel
Browser-Subscription wird gespeichert; der Benutzer empfängt ab sofort Push-Nachrichten.
Akteure
- Benutzer
Vorbedingungen
- Benutzer ist eingeloggt
- Browser unterstützt Web Push API
- HTTPS-Verbindung (Voraussetzung der Push API)
Ablauf
- Benutzer öffnet Alert-Einstellungen in der PWA
- Benutzer klickt „Push-Benachrichtigungen aktivieren"
- Browser zeigt Berechtigungsabfrage
- Bei Erlaubnis: Service Worker erstellt Push-Subscription
- Subscription (endpoint, keys) wird ans Backend gesendet und gespeichert
- Bestätigung: „Push-Nachrichten aktiviert"
Fehlerfälle
- Benutzer verweigert Berechtigung → Info-Meldung, kein Fehler
- Browser unterstützt Push nicht → Hinweis mit Alternativbeschreibung
Abhängigkeiten
- PA-001
UC-PA-002 – Push-Benachrichtigungen deaktivieren
Beschreibung
Ein Benutzer deaktiviert Push-Benachrichtigungen oder ein Gerät.
Ziel
Subscription wird deaktiviert; keine weiteren Push-Nachrichten an dieses Gerät.
Ablauf
- Benutzer öffnet Alert-Einstellungen
- Benutzer klickt „Deaktivieren" für ein Gerät oder global
- Subscription wird im Backend als inaktiv markiert
Abhängigkeiten
- PA-001
UC-PA-003 – Manuellen Alert / Reminder erstellen
Beschreibung
Ein Benutzer legt eine Erinnerung mit Zeitpunkt, Titel und optionalem Text fest.
Ziel
Zum gewählten Zeitpunkt erhält der Benutzer eine Push-Nachricht.
Akteure
- Benutzer
Vorbedingungen
- Push-Subscription ist aktiv
Ablauf
- Benutzer öffnet Alert-Einstellungen → „Neuer Reminder"
- Benutzer gibt ein:
- Titel (Pflicht)
- Text (optional)
- Datum und Uhrzeit (Pflicht)
- Ziel-URL beim Klick (optional)
- System speichert Alert-Regel (type=manual)
- Zum konfigurierten Zeitpunkt sendet das Backend die Push-Nachricht
Fehlerfälle
- Zeitpunkt in der Vergangenheit → Validierungsfehler
- Keine aktive Subscription → Hinweis vor dem Speichern
Abhängigkeiten
- PA-001, PA-003
UC-PA-004 – Automatischen Alert konfigurieren
Beschreibung
Ein Benutzer aktiviert oder deaktiviert automatische Alert-Regeln (z. B. Lunch-Warnung).
Ziel
Der Benutzer steuert, welche automatischen Events ihn per Push erreichen.
Ablauf
- Benutzer öffnet Alert-Einstellungen → „Automatische Alerts"
- Liste der verfügbaren Trigger wird angezeigt (z. B. „Fehlende Mittagsbestellung")
- Benutzer aktiviert / deaktiviert einzelne Regeln per Toggle
- Änderungen werden sofort gespeichert
Abhängigkeiten
- PA-001, PA-002
UC-PA-005 – Automatischer Alert ausgelöst (System)
Beschreibung
Ein interner Service-Check erkennt eine definierte Bedingung und löst eine Push-Nachricht aus.
Ziel
Der Benutzer wird proaktiv informiert, ohne die App öffnen zu müssen.
Akteure
- System (Scheduler / Service-Check)
Ablauf
- Scheduler führt einen konfigurierten Check aus (z. B. täglich 07:00: Lunch-Check)
- Bedingung ist erfüllt (z. B. kein Mittagessen für Account X in 2+ Wochen)
- System prüft: Hat der Benutzer diese Regel aktiviert + aktive Subscription?
- System sendet Push-Nachricht über pywebpush / VAPID
- Versand wird in alert_history protokolliert
Fehlerfälle
- Subscription abgelaufen (Browser hat entzogen) → Subscription deaktivieren, in History loggen
- Push-Service nicht erreichbar → Retry nach 15 min, max. 3 Versuche
Abhängigkeiten
- PA-001, PA-002
UC-PA-006 – Alert-Verlauf einsehen
Beschreibung
Ein Benutzer sieht alle gesendeten Push-Nachrichten der letzten 30 Tage.
Ziel
Nachvollziehbarkeit der versendeten Alerts (wann, warum, Status).
Ablauf
- Benutzer öffnet Alert-Einstellungen → „Verlauf"
- Liste der letzten Alerts wird angezeigt: Zeitpunkt, Titel, Status (sent / failed)
- Fehlgeschlagene Alerts sind als solche markiert
Abhängigkeiten
- PA-004
UC-PA-007 – Klick auf Push-Nachricht
Beschreibung
Der Benutzer klickt auf eine empfangene Push-Nachricht im Browser / auf dem Gerät.
Ziel
PWA öffnet sich und navigiert zur relevanten Seite (z. B. Lunch-Übersicht).
Ablauf
- Browser zeigt empfangene Push-Nachricht an (auch wenn PWA geschlossen)
- Benutzer klickt auf die Nachricht
- Service Worker fängt den Klick ab und öffnet die PWA
- Falls
urlim Payload gesetzt: Navigation zur Ziel-URL
Abhängigkeiten
- PA-001
UC-PA-008 – Internen Sofort-Alert auslösen (System) ❌ zurückgebaut
Status: Zurückgebaut am 2026-07-13, siehe
PA-006(obsolete). In der Praxis nicht praktikabel (Chrome für Android ignoriertrequireInteraction). Beschreibung bleibt als Referenz stehen.
Beschreibung
Ein anderer Plattform-Service (z. B. der Trade Optimizer) löst über die interne API sofort eine Push-Nachricht mit zur Laufzeit berechnetem Inhalt aus – unabhängig vom Regel- oder Zeitplan-System.
Ziel
Der Benutzer erhält unmittelbar eine Push-Nachricht mit aktuellen Werten (z. B. Order-Daten), ohne dass zuvor eine Alert-Regel angelegt werden musste.
Akteure
- System (aufrufender Service, im Namen des eingeloggten Benutzers)
Vorbedingungen
- Aufrufender Service verfügt über einen gültigen JWT des Benutzers
- Benutzer hat idealerweise eine aktive Push-Subscription (sonst kein Fehler, siehe unten)
Ablauf
- Aufrufender Service sendet
POST /api/alerts/instantmit Titel, Text, optionalemtag/urlundtrigger_key - Push-Alert-Service sendet die Nachricht sofort über pywebpush an alle aktiven Subscriptions
- Notification wird als persistent (kein Auto-Dismiss) dargestellt
- Versand wird in
alert_historyprotokolliert (rule_id = null) - Response enthält den
tagzur späteren Referenzierung
Fehlerfälle
- Keine aktive Subscription → Status
skipped, kein Fehler an aufrufenden Service - Push-Service nicht erreichbar → Retry-Logik wie in PA-004
Abhängigkeiten
- PA-001, PA-006
UC-PA-009 – Aktiven Sofort-Alert zurückziehen (System) ❌ zurückgebaut
Status: Zurückgebaut am 2026-07-13, siehe
PA-007(obsolete).
Beschreibung
Ein anderer Service zieht eine zuvor über UC-PA-008 ausgelöste Sofort-Notification zurück, z. B. weil die zugehörige Order verworfen wurde.
Ziel
Die Notification verschwindet beim Benutzer, auch wenn sie bereits zugestellt wurde – es bleiben keine veralteten Werte sichtbar.
Akteure
- System
Vorbedingungen
- Notification wurde zuvor über UC-PA-008 mit bekanntem
tagausgelöst
Ablauf
- Aufrufender Service sendet
DELETE /api/alerts/instant/{tag} - Push-Alert-Service sendet ein "silent close"-Signal an alle aktiven Subscriptions
- Service Worker im Browser schließt alle Notifications mit passendem
tag
Fehlerfälle
- Notification wurde bereits vom Nutzer manuell entfernt → kein Fehler (idempotent)
- Gerät offline beim Versand des Close-Signals → Notification bleibt bestehen bis zur nächsten Synchronisation (bekannte Einschränkung von Web Push)
Abhängigkeiten
- PA-001, PA-007
Changelog
| Version | Datum | Änderungen |
|---|---|---|
| 1.2 | 2026-07-13 | UC-PA-008 und UC-PA-009 als zurückgebaut markiert (siehe PA-006/PA-007, obsolete) |
| 1.1 | 2026-07-08 | UC-PA-008 und UC-PA-009 neu – Sofort-Alerts, ausgelöst per interner Service-API (z.B. vom Trade Optimizer) und deren Zurückziehen (PA-006, PA-007) |
| 1.0 | 2026-06-25 | Initiale Version |