Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔔 NotifyNow

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.


📸 Screenshot

NotifyNow


🎥 Demo Video

The project demonstration can be found here:

▶️ Watch Demo


✨ Features

  • 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

🧠 Redis Concepts Used

  • Pub/Sub (PUBLISH, SUBSCRIBE)
  • Message Broker
  • Event-driven Communication

🛠️ Tech Stack

Backend

  • Node.js
  • Express.js
  • Socket.IO
  • Redis
  • Docker

Frontend

  • HTML
  • CSS
  • JavaScript

📂 Project Structure

NotifyNow/
│
├── backend/
│   ├── controllers/
│   ├── app.js
│   ├── server.js
│   ├── package.json
│   └── .env
│
├── frontend/
│   ├── index.html
│   ├── app.js
│   └── config.js
│
├── public/
│   └── screenshot.png
│
├── README.md
└── LICENSE

🚀 Run Locally

Clone the repository

git clone https://github.com/ganeshkarthik016/NotifyNow.git

Move into the backend

cd NotifyNow/backend

Install dependencies

npm install

Run Redis with Docker

docker run -d --name redis-server -p 6379:6379 redis

Start the server

npm run dev

Open the frontend in multiple browser windows (or run multiple backend instances) to see real-time notification broadcasting.


🎯 Learning Objectives

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

👨‍💻 Author

Ganesh Karthik

GitHub: https://github.com/ganeshkarthik016


📄 License

This project is licensed under the MIT License.

About

A lightweight real-time notification system built with Redis Pub/Sub, Socket.IO, and Node.js.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages