Skip to content

feat: implement notification system with BullMQ processor and user pr… - #313

Open
akinboyewaSamson wants to merge 2 commits into
DigiNodes:mainfrom
akinboyewaSamson:feat/BE-020-notification-api
Open

feat: implement notification system with BullMQ processor and user pr…#313
akinboyewaSamson wants to merge 2 commits into
DigiNodes:mainfrom
akinboyewaSamson:feat/BE-020-notification-api

Conversation

@akinboyewaSamson

Copy link
Copy Markdown

closes #283

This PR introduces the Notification & Event Delivery API (BE-020) to act as the centralized event distribution hub for the TruthBounty ecosystem. By decoupling notification generation from business logic, this service ensures highly reliable, asynchronous, and user-configurable event delivery across channels.

🎯 Objectives Achieved
Centralized Event Queue: Integrated BullMQ (Redis) to reliably queue, process, and retry protocol events asynchronously.
Preference Engine: Created NotificationPreference entities allowing users to manage opt-outs, configure delivery channels, and set quiet hours.
Multi-channel Architecture: Built foundational routing for IN_APP, EMAIL, PUSH, and WEBHOOK deliveries.
Delivery Tracking: Established lifecycle tracking (QUEUED, DELIVERED, FAILED, DISMISSED) on the Notification entity.
Metrics Dashboard: Added real-time monitoring endpoint for success/failure rates.
Testing: 100% test coverage for the notifications module (Controller, Service, and Processor).
📝 Files Added / Modified
src/notifications/*: Brand new module containing entities, enums, DTOs, controllers, services, and the BullMQ processor.
src/app.module.ts: Imported and registered NotificationsModule and its TypeORM entities.
docs/NOTIFICATION_ARCHITECTURE.md: Added comprehensive documentation outlining the queue and preference architectures.

@akinboyewaSamson

Copy link
Copy Markdown
Author

Kindly review pr

@akinboyewaSamson

Copy link
Copy Markdown
Author

kindly review

@dDevAhmed

Copy link
Copy Markdown
Contributor

@akinboyewaSamson resolve conflicts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BE-020 — Implement Notification & Event Delivery API

3 participants