Skip to content

Prateet-Github/notification-system

Repository files navigation

Notification System

A scalable notification service built with NestJS, Prisma, PostgreSQL, Redis, and BullMQ.

Features

  • Multi-channel notifications
    • Email
    • SMS
    • Push
    • In-App
  • User notification preferences
  • Delivery tracking
  • Priority-based processing
  • Queue-driven architecture
  • Delivery-level retries

Tech Stack

  • NestJS
  • TypeScript
  • Prisma
  • PostgreSQL
  • Redis
  • BullMQ

Architecture

Notification API
        ↓
Create Notification
        ↓
Create Deliveries
        ↓
Queue Routing

email-queue
sms-queue
push-queue
inapp-queue

        ↓

Workers
        ↓

Providers
        ↓

External Channels

Status

Work in Progress

Current Progress

  • Notification creation
  • Delivery record creation
  • User preferences
  • Redis setup
  • BullMQ setup
  • Queue architecture design
  • Queue routing

Next Steps

  • Workers
  • Channel providers
  • Retry mechanism
  • Dead Letter Queues (DLQ)
  • Observability & metrics

About

A notification service supporting email, SMS, push and in-app channels.

Topics

Resources

Stars

Watchers

Forks

Contributors