Skip to content

theNahraf/Notification-Service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”” NotifyStack β€” Scalable Multi-Channel Notification SaaS

NPM Version License: MIT

NotifyStack is a distributed notification engine that simplifies global multi-channel delivery (Email, SMS, Push, In-App). Built for high-availability, it features automatic provider failover, real-time analytics, and a "Zero-Config" SDK. Scalable Notification System...

πŸš€ Dashboard: https://notifystack.shop
πŸ”— Production API: https://api.notifystack.shop


πŸ”₯ The Problem: Reliable Delivery is Hard

Most applications break when a single notification provider (like SendGrid or Twilio) experiences an outage. NotifyStack solves this with Infrastructure-as-a-Service that handles the complexity of delivery so you don't have to.

πŸš€ Key Features

πŸ›‘οΈ 1. Intelligent Failover & Circuit Breakers

Our worker engine monitors provider health in real-time. If a primary provider yields a 5xx error or high latency, the Circuit Breaker opens, and traffic is instantly shifted to fallback providers (Mailgun/SMTP) without dropping your request.

πŸ“¦ 2. "Zero-Config" Node.js SDK

Stop managing multiple API keys and endpoints. The official SDK defaults to our production-ready infrastructure out of the box. Just npm install @ayush0x44/notifystack.

⚑ 3. High-Throughput Architecture

Built on Redpanda (Kafka) and Redis, NotifyStack handles spike-heavy traffic by decoupling API ingestion from final delivery, ensuring your main application never slows down.

πŸ”” 4. In-App Notification Center

A premium React widget that provides your users with a real-time notification feed. It handles polling, unread counts, and "Mark as Read" logic natively.


πŸ› οΈ Technology Stack

  • Backend: Node.js (Express), PostgreSQL (Neon.tech)
  • Messaging: Redpanda Cloud (Production Kafka)
  • Caching & Rate Limiting: Upstash Redis
  • Frontend: React, Tailwind CSS, Framer Motion, Shadcn UI
  • Infrastructure: Render (Web Services & Workers), Vercel (Frontend)
  • Branding: Custom 3D Asset generation & Premium Design System

πŸ—οΈ Architecture Overview

The system follows a high-availability distributed architecture where the API layer handles ingestion and the Worker layer handles reliable multi-channel delivery.

graph LR
    Client[Client App / SDK] -- "POST /notifications" --> API(API Service)
    
    API -- "Auth / Idempotency" --> Redis[(Redis)]
    API -- "Audit Log / Source of Truth" --> DB[(PostgreSQL)]
    API -- "Enqueue (Redpanda)" --> Kafka{{Kafka Bus}}
    
    Kafka -- "Consume (N Replicas)" --> Worker(Worker Service)
    
    Worker -- "Circuit Breaker / Health" --> Redis
    Worker -- "Update Sent Status" --> DB
    
    Worker -- "Email Route" --> SendGrid[SendGrid]
    Worker -- "Fallback Route" --> Mailgun[Mailgun]
    Worker -- "SMS Route" --> Twilio[Twilio]
    
    Worker -- "Permanent Failure" --> DLQ{{Dead Letter Queue}}
Loading

πŸ“¦ SDK Installation

npm install @ayush0x44/notifystack

Quick Usage

const { NotifySDK } = require("@ayush0x44/notifystack");
const sdk = new NotifySDK("ntf_live_xxxx");

await sdk.track("USER_WELCOME", {
  email: "ayush@example.com",
  name: "Ayush"
});

🀝 Contributing

Issues and pull requests are welcome! See the ARCHITECTURE.md for internal details.


πŸ“„ License

MIT Β© Ayush

About

πŸš€ A highly scalable, plug-and-play notification infrastructure. Seamlessly integrate multi-channel alerts (Email, SMS, Push, In-App) into any application with built-in message queuing, ready-to-use SDKs, and a powerful admin dashboard.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages