https://github.com/jayemscript/nestjs-notification-worker
A self-hosted, plug-and-play notification microservice for NestJS apps — real-time, webhook, and in-app delivery powered by Socket.IO, BullMQ, Redis, and MongoDB.
https://github.com/jayemscript/nestjs-notification-worker
bullmq microservice mongodb nestjs notifications realtime redis self-hosted socket-io typescript webhook worker-service
Last synced: about 18 hours ago
JSON representation
A self-hosted, plug-and-play notification microservice for NestJS apps — real-time, webhook, and in-app delivery powered by Socket.IO, BullMQ, Redis, and MongoDB.
- Host: GitHub
- URL: https://github.com/jayemscript/nestjs-notification-worker
- Owner: jayemscript
- License: mit
- Created: 2026-04-29T00:59:36.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-06T05:53:06.000Z (about 2 months ago)
- Last Synced: 2026-05-06T07:30:16.239Z (about 1 month ago)
- Topics: bullmq, microservice, mongodb, nestjs, notifications, realtime, redis, self-hosted, socket-io, typescript, webhook, worker-service
- Language: TypeScript
- Homepage:
- Size: 136 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Security: docs/SECURITY.md
Awesome Lists containing this project
README
# nestjs-notification-worker
A self-hosted notification microservice built with NestJS. Supports real-time in-app notifications, webhook delivery, and scheduled jobs — designed to plug into any NestJS application.
## Stack
- **NestJS** — core framework
- **MongoDB + Mongoose** — notification storage
- **Redis + BullMQ** — job queue and scheduling
- **Socket.IO** — real-time delivery
- **Docker** — local development
## Channels
- In-app (Socket.IO)
- Webhook (HTTP POST to any registered URL) — coming soon
## Requirements
- Node.js 18+
- pnpm
- Docker (for local Redis)
- MongoDB Atlas or local MongoDB instance
## Environment Variables
See `.env.example` for the full list. Minimum required:
```env
PORT=4000
MONGO_URI=mongodb://localhost:27017
MONGO_DB_NAME=notifications
REDIS_URL=redis://localhost:6379
JWT_SECRET=your_jwt_secret
API_KEYS=your_api_key
```
## Getting Started
```bash
# Clone the repo
git clone https://github.com/jayemscript/nestjs-notification-worker.git
# Install dependencies
pnpm install
# Copy environment file
cp .env.example .env
# Start Redis
docker-compose up -d
# Run the service
pnpm run start:dev
```
## Docs
- [API Documentation](./docs/API_DOCUMENTATION.md)
- [Environment Variables](./docs/environment-variables.md)
- [Changelog](./CHANGELOG.md)
## License
MIT