Skip to content

A scalable real-time chat system with distributed server architecture using Socket.IO, Redis, Kafka, and PostgreSQL — organized via TurboRepo.

Notifications You must be signed in to change notification settings

annattiwary12/Scalable-chatApplication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real-Time Distributed Chat System 🚀

A scalable real-time messaging system built using Socket.IO, Redis (Pub/Sub), Kafka, and PostgreSQL, designed to support distributed servers with reliable message delivery and persistent chat history. Managed with TurboRepo for monorepo orchestration and optimized development workflows. Hosted using Aiven's managed services.


📸 Demo Screenshot

Screenshot 2025-05-27 012034


📦 Monorepo Powered by TurboRepo

This project follows a monorepo structure using TurboRepo to manage the different parts of the system efficiently. TurboRepo enables:

  • 🌀 Fast builds and caching
  • 📁 Clear workspace separation
  • 🔁 Easier development across multiple packages (e.g., server, consumer, db)
  • 🧱 Consistent dependency management

📌 Features

  • 🔁 Real-time Messaging with WebSocket (Socket.IO)
  • Distributed Server Sync using Redis Pub/Sub
  • 📨 Message Durability using Kafka
  • 💾 Chat Persistence using PostgreSQL
  • 📦 TurboRepo Monorepo structure
  • ☁️ Managed Infra via Aiven (Redis, Kafka, Postgres)

📊 Architecture Overview

Screenshot 2025-05-27 234640


🔧 Technologies Used

Tech Purpose
TurboRepo Monorepo management & task orchestration
Socket.IO Real-time communication (WebSocket)
Redis (Aiven) Pub/Sub for syncing distributed servers
Kafka (Aiven) Reliable, fault-tolerant message streaming
PostgreSQL Persistent chat storage
Node.js Kafka consumer, socket server logic


About

A scalable real-time chat system with distributed server architecture using Socket.IO, Redis, Kafka, and PostgreSQL — organized via TurboRepo.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published