π 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.
- π 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
- π± 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
- Node.js
- TypeScript
- Redis (Pub/Sub)
- Kafka
- Socket.IO
- PostgreSQL
- Prisma
- Express.js
- AWS S3 & SES
- React Native
- Expo
- TypeScript
- Socket.IO Client
- React Navigation
- Clone the repository
git clone https://github.com/Aadarsh-guru/Scalable-Chat-System.git
cd Scalable-Chat-System
- Install dependencies
npm install
- Configure environment
cp .env.sample .env
- Start the server
npm start
- Navigate to client directory
cd client
- Install dependencies
npm install
- Configure environment
cp .env.sample .env
- Start the development server
npm start
- Open the app in Expo Go by scanning the QR code
π Star this repository if you find it helpful!