A lightweight real-time notification system built to learn Redis Pub/Sub and Socket.IO. Notifications published on one server are instantly broadcast to all connected clients, even when they're connected to different Node.js server instances.
This project was built as a learning exercise to understand event-driven architecture, WebSockets, and Redis Pub/Sub.
The project demonstration can be found here:
- Real-time notification broadcasting
- Redis Pub/Sub for cross-server communication
- Socket.IO for instant client updates
- Multi-server synchronization
- Simple responsive frontend
- Dockerized Redis for local development
- Pub/Sub (
PUBLISH,SUBSCRIBE) - Message Broker
- Event-driven Communication
- Node.js
- Express.js
- Socket.IO
- Redis
- Docker
- HTML
- CSS
- JavaScript
NotifyNow/
│
├── backend/
│ ├── controllers/
│ ├── app.js
│ ├── server.js
│ ├── package.json
│ └── .env
│
├── frontend/
│ ├── index.html
│ ├── app.js
│ └── config.js
│
├── public/
│ └── screenshot.png
│
├── README.md
└── LICENSE
Clone the repository
git clone https://github.com/ganeshkarthik016/NotifyNow.gitMove into the backend
cd NotifyNow/backendInstall dependencies
npm installRun Redis with Docker
docker run -d --name redis-server -p 6379:6379 redisStart the server
npm run devOpen the frontend in multiple browser windows (or run multiple backend instances) to see real-time notification broadcasting.
This project helped me understand:
- Redis Pub/Sub
- Socket.IO
- WebSockets
- Event-driven architecture
- Cross-server communication
- Real-time application development
- Running Redis with Docker
Ganesh Karthik
GitHub: https://github.com/ganeshkarthik016
This project is licensed under the MIT License.
