Skip to content

Latest commit

Β 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RelayChat Logo RelayChat

High-Throughput, Event-Driven Real-Time Chat Platform
Built with Next.js, Node.js (TypeScript), Apache Kafka, Redis Streams, Socket.IO, and PostgreSQL.


πŸ“Œ Overview

RelayChat is a scalable, real-time messaging application designed for high-concurrency environments. It utilizes an event-driven architecture powered by Apache Kafka for asynchronous message persistence and Redis Streams for scaling WebSocket connections across multi-node server clusters.


πŸ”₯ Key Features

  • ⚑ Sub-Second Messaging: Low-latency bidirectional WebSocket communication via Socket.IO.
  • πŸ”„ Event-Driven Pipeline: High-throughput message ingestion decoupled via Apache Kafka producer/consumer pipelines.
  • 🌐 Distributed WebSockets: Redis Stream Adapter enables horizontal scaling of Socket.IO instances.
  • πŸ”’ Passcode-Protected Rooms: Secure chat room creation, user joining, and dynamic authentication.
  • πŸ“ Media & File Attachments: Cloudinary & Multer integration for uploading images and document attachments.
  • πŸ”‘ OAuth Authentication: NextAuth.js integration for social logins (Google, GitHub).
  • 🎨 Modern & Responsive UI: Built with Next.js, Tailwind CSS, and Radix UI / Shadcn.

πŸ“¦ Tech Stack

Domain Technologies
Frontend Next.js (App Router), React 19, TypeScript, Tailwind CSS, Radix UI / Shadcn, Socket.io-Client, NextAuth.js
Backend Node.js, Express.js, TypeScript, Socket.IO, Prisma ORM
Messaging & Caching Apache Kafka (KafkaJS), Redis (ioredis & @socket.io/redis-streams-adapter)
Database & Storage PostgreSQL, Cloudinary (Media Storage), Multer

πŸš€ Quick Start

# 1. Clone & setup backend
git clone https://github.com/your-username/relay-chat.git
cd relay-chat/backend && npm install
npx prisma db push && npm run dev

# 2. Open new terminal & setup frontend
cd relay-chat/frontend && npm install
npm run dev

About

A real-time chat application built with React, Node.js, Socket.IO, Kafka, and PostgreSQL, featuring scalable messaging and persistent chat history.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages