Notification Service
NestJS:8002Support
The Notification Service provides multi-channel notification delivery including in-app, email, SMS, and push notifications for iOS and Android devices.
Key Features
- Multi-Channel — In-app, email (Nodemailer), SMS, push (Firebase + APNs), web push
- WebSocket — Real-time notifications via Socket.IO
- Templates — Notification template management
- User Preferences — Per-user notification channel preferences
- Device Registration — Track user devices for push notifications
- RabbitMQ Consumer — Event-driven notification triggering
API Endpoints
GET
/api/notificationList notifications for current user
GET
/api/notification/unread-countGet unread notification count
PUT
/api/notification/:id/readMark notification as read
POST
/api/notification/register-deviceRegister device for push notifications
GET
/api/notification/preferencesGet notification preferences
PUT
/api/notification/preferencesUpdate notification preferences
Configuration
| Name | Type | Default | Description |
|---|---|---|---|
| PORT | number | 8002 | Service listening port |
| DB_HOST | string | localhost | MSSQL server host |
| SMTP_HOST | string | - | SMTP server for email delivery |
| SMTP_PORT | number | 587 | SMTP port |
| FIREBASE_PROJECT_ID | string | - | Firebase project for Android push |
| RABBITMQ_URIS | string | - | RabbitMQ connection URIs |
RabbitMQ Integration
Consumes from:
messagesexchange — All notification routing eventsidentity_eventsexchange — User lifecycle notifications
Dependencies
- Identity Service — S2S token for user lookups