Prism
Notification
Service
The next-generation asynchronous communication hub that powers real-time notifications across your entire enterprise platform
The next-generation asynchronous communication hub that powers real-time notifications across your entire enterprise platform
Built for scale, designed for developers, optimized for performance
Redis-powered queue system with high-throughput background processing for massive scale.
Instant bi-directional communication with WebSocket hub for live user experiences.
Rich HTML email templates with personalized content and responsive design.
Automatic retry mechanisms with Dead Letter Queue for failed notifications.
Secure API endpoints with JSON Web Token validation and user authorization.
Built-in health checks, performance metrics, and comprehensive logging.
Support for email, WebSocket, and extensible for SMS, push notifications.
Scalable microservice architecture with event-driven design patterns
graph TD A[External Services
Auth • User • Orders] -->|HTTP POST| B(🌐 API Gateway
/notifications/send) subgraph "🔮 Prism Notification Service" B -->|Enqueue Job| C[📦 Redis Queue
Persistent Storage] D[⚡ Worker Pool
Go Goroutines] -->|BRPop Dequeue| C D -->|Real-time Push| E[🔗 WebSocket Hub
Connection Manager] D -->|Email Delivery| F[📧 Email Service
Template Engine] G[👥 Frontend Clients] <-->|WebSocket Connection| H(🌐 WebSocket API
/ws) H <--> E end subgraph "🔧 External Dependencies" F -->|SMTP Protocol| I[📮 SMTP Server
Mailtrap • SendGrid] B -->|JWT Validation| J[🔐 HashiCorp Vault
Secret Management] F -->|SMTP Credentials| J C -->|Persistence| K[💾 Redis Cluster
High Availability] end subgraph "📊 Monitoring & Observability" L[📈 Prometheus Metrics] M[📋 Structured Logging] N[🏥 Health Checks] end D --> L D --> M B --> N style A fill:#1e293b,stroke:#3b82f6,stroke-width:2px style C fill:#dc2626,stroke:#ef4444,stroke-width:2px style E fill:#7c3aed,stroke:#a855f7,stroke-width:2px style F fill:#059669,stroke:#10b981,stroke-width:2px style J fill:#ea580c,stroke:#f97316,stroke-width:2px
Get up and running in minutes with our streamlined setup process
git clone https://github.com/Lumina-Enterprise-Solutions/prism-notification-service.git
go mod download
cp .env.example .env
go run main.go
/api/v1/notifications/send
{
"user_id": "12345",
"type": "email",
"template": "welcome",
"channels": ["email", "websocket"],
"data": {
"username": "john_doe",
"action": "account_created"
}
}
Use WebSocket connections for real-time notifications and email for important updates that need persistence.
Complete API reference
Comprehensive guides, API documentation, and best practices for integration.
Code samples & demos
Ready-to-use examples for common integration patterns and use cases.
Support & discussions
Join our community for support, feature requests, and collaboration.
Built for mission-critical applications with enterprise-grade features
Join thousands of developers who trust Prism for their mission-critical notification infrastructure.