Direction:
Create a Notifications module to support sending transactional emails, push notifications, and in-app notifications with a deliverability queue and retry logic.
Key responsibilities:
- Unified API for creating notifications (POST /notifications) and endpoints to fetch user notifications (GET /users/:id/notifications) and mark read/archived.
- Implement email sending via a provider (SendGrid/Mailgun) with templating and throttling.
- Support push notifications (FCM/APNs) and an in-app store for unread counts.
- Queue notifications in a reliable job queue with retry/backoff and dead-letter handling.
- Tests for delivery, retry behavior, and UI-facing unread counts.
Acceptance criteria:
- APIs to create, list, mark-read, and delete notifications are implemented and documented.
- Email and push integrations send messages in test mode; failures are retried according to backoff policy.
- Notification queue persists jobs and exposes metrics (pending, failed counts).
- Unit and integration tests validate end-to-end flows and failure handling.
Direction:
Create a Notifications module to support sending transactional emails, push notifications, and in-app notifications with a deliverability queue and retry logic.
Key responsibilities:
Acceptance criteria: