# Benachrichtigungen

## Aktueller Stand

PROCUREX besitzt jetzt ein kleines fachliches `procurex-notification`-Modul. Es konsumiert die
vorhandenen Bestell-, Genehmigungs-, Wareneingangs- und Rechnungsereignisse aus Kafka und legt
idempotente In-App-Benachrichtigungen im eigenen `notification`-Schema ab.

Die API ist:

- `GET /api/v1/notifications` – die letzten 50 Benachrichtigungen passend zu den Rollen des JWT;
- `PATCH /api/v1/notifications/{id}/read` – Benachrichtigung als gelesen markieren.

Das Angular-Frontend zeigt die Einträge nach dem Login barrierearm an. Die fachliche Zuordnung ist
bewusst rollenbasiert, weil die bestehenden Events noch keine Empfänger-ID enthalten:

| Ereignis | Empfängerrolle |
|---|---|
| Bestellung abgesendet | `APPROVER` |
| Bestellung genehmigt/abgelehnt | `BUYER` |
| Wareneingang erfasst / Mengenabweichung | `FINANCE` |

Idempotenz wird über die eindeutige Outbox-Event-ID sichergestellt. Kafka-Redeliveries erzeugen
keine doppelten Einträge.

## Bewusste Grenze

E-Mail, Webhooks, Push, Zustell-Retry/DLQ und persönliche Empfängerzuordnung sind weiterhin nicht
implementiert. Dafür müsste ein separates fachliches Ticket die Empfänger, Datenschutzregeln,
Nachrichten-Templates und Zustellkanäle festlegen. Die In-App-Variante ist damit ein vollständiger
lokaler Nachweis für den aktuellen Lernprojektumfang, aber kein externer Benachrichtigungsdienst.
