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/notification

List notifications for current user

GET
/api/notification/unread-count

Get unread notification count

PUT
/api/notification/:id/read

Mark notification as read

POST
/api/notification/register-device

Register device for push notifications

GET
/api/notification/preferences

Get notification preferences

PUT
/api/notification/preferences

Update notification preferences

Configuration

NameTypeDefaultDescription
PORTnumber8002Service listening port
DB_HOSTstringlocalhostMSSQL server host
SMTP_HOSTstring-SMTP server for email delivery
SMTP_PORTnumber587SMTP port
FIREBASE_PROJECT_IDstring-Firebase project for Android push
RABBITMQ_URISstring-RabbitMQ connection URIs

RabbitMQ Integration

Consumes from:

  • messages exchange — All notification routing events
  • identity_events exchange — User lifecycle notifications

Dependencies

  • Identity Service — S2S token for user lookups