Skip to content

🌐 Scalable Chat Application πŸš€ A robust chat infrastructure with Node.js, TypeScript, Kafka, Redis, Socket.IO, PostgreSQL, Prisma, and AWS (S3, SES) for the backend. Beautiful cross-platform mobile client using React Native & Expo. Features scalable architecture with Redis Pub/Sub and Kafka, real-time communication, and secure data handling.

Notifications You must be signed in to change notification settings

Aadarsh-guru/Scalable-Chat-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Scalable Chat Backend

Description

🌐 Scalable and Real-time Chat Application

A robust and scalable chat infrastructure using cutting-edge technologies. This project leverages Node.js, TypeScript, Kafka, Redis, Socket.IO, PostgreSQL, and Prisma to create a high-performance solution for real-time chat applications, along with a cross-platform mobile client built with React Native and Expo.

Backend Features

  • πŸš€ Scalable Architecture: Utilizes Redis Pub/Sub for WebSocket scaling and Kafka for efficient database throughput management
  • πŸ”„ Real-time Communication: Leverages Socket.IO to ensure seamless and real-time communication between clients
  • πŸ›’οΈ Persistent Storage: Integrates with PostgreSQL and Prisma for reliable and efficient data storage
  • πŸ“€ Media Storage: Utilizes S3 buckets for secure and scalable storage of multimedia files
  • πŸ“¨ Email Service: AWS SES integration for reliable email delivery
  • πŸ”„ TypeScript: Enhances code maintainability and scalability with static typing

Mobile Client Features

  • πŸ“± Cross-Platform: Built using React Native and Expo TypeScript
  • 🎨 Modern UI: Beautiful and intuitive user interface
  • πŸ”„ Real-time Updates: Instant messaging and notifications
  • πŸ“Έ Media Sharing: Support for images and files
  • πŸŒ™ Dark Mode: Comfortable viewing experience

Tech Stack

Backend

  • Node.js
  • TypeScript
  • Redis (Pub/Sub)
  • Kafka
  • Socket.IO
  • PostgreSQL
  • Prisma
  • Express.js
  • AWS S3 & SES

Client

  • React Native
  • Expo
  • TypeScript
  • Socket.IO Client
  • React Navigation

Getting Started

Backend Setup

  1. Clone the repository
git clone https://github.com/Aadarsh-guru/Scalable-Chat-System.git
cd Scalable-Chat-System
  1. Install dependencies
npm install
  1. Configure environment
cp .env.sample .env
  1. Start the server
npm start

Client Setup

  1. Navigate to client directory
cd client
  1. Install dependencies
npm install
  1. Configure environment
cp .env.sample .env
  1. Start the development server
npm start
  1. Open the app in Expo Go by scanning the QR code

🌟 Star this repository if you find it helpful!

About

🌐 Scalable Chat Application πŸš€ A robust chat infrastructure with Node.js, TypeScript, Kafka, Redis, Socket.IO, PostgreSQL, Prisma, and AWS (S3, SES) for the backend. Beautiful cross-platform mobile client using React Native & Expo. Features scalable architecture with Redis Pub/Sub and Kafka, real-time communication, and secure data handling.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published