fix(#28): Notification-Strategie definieren
Some checks are pending
Docker Test / test (push) Waiting to run
Some checks are pending
Docker Test / test (push) Waiting to run
This commit is contained in:
parent
e4098e3e2a
commit
c904641677
1 changed files with 32 additions and 0 deletions
32
docs/concepts/notification-strategy.md
Normal file
32
docs/concepts/notification-strategy.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Notification-Strategie
|
||||
|
||||
## Ereignisse
|
||||
|
||||
Die folgenden Ereignisse sind in der Anwendung definiert:
|
||||
|
||||
1. **Neues Angebot** – Ein neues Angebot wurde erstellt.
|
||||
2. **Gegenangebot** – Ein Gegenangebot wurde eingereicht.
|
||||
3. **Deal** – Ein Deal wurde abgeschlossen.
|
||||
4. **Bewertungsfenster** – Das Bewertungsfenster (2-14 Tage) für ein Angebot ist geöffnet.
|
||||
|
||||
## Notification-Queue/Dispatcher-Schnittstelle
|
||||
|
||||
Das Backend muss einen klaren Hook pro Kernereignis haben, um Benachrichtigungen zu versenden. Die Schnittstelle zur Notification-Queue wird wie folgt definiert:
|
||||
|
||||
```ts
|
||||
interface NotificationEvent {
|
||||
type: 'offer' | 'counter-offer' | 'deal' | 'review-window';
|
||||
payload: any;
|
||||
userId: string;
|
||||
timestamp: Date;
|
||||
}
|
||||
|
||||
interface NotificationDispatcher {
|
||||
dispatch(event: NotificationEvent): Promise<void>;
|
||||
}
|
||||
```
|
||||
|
||||
## Retry- und Dedupe-Regeln
|
||||
|
||||
- **Retry**: Bei einem Fehler beim Versand einer Benachrichtigung wird ein Retry-Mechanismus mit exponentiellem Backoff verwendet.
|
||||
- **Dedupe**: Jede Benachrichtigung wird einmalig pro Nutzer und Ereignis versendet, um Duplikate zu vermeiden.
|
||||
Loading…
Add table
Add a link
Reference in a new issue