StreamLine is a scalable chat web application developed using modern technologies to ensure high performance, real-time messaging, and scalability. The application supports features such as real-time notifications, group chat, one-to-one chat, and attachment sharing.
- Frontend: React
- Backend: Node.js with Express
- Real-time Communication: Socket.IO
- Message Broker: Apache Kafka
- Message Distribution: Redis (for Pub/Sub and scalability across servers)
- Database: MongoDB
- Containerization: Docker
- Real-time Messaging: Instant messaging with real-time updates.
- User Authentication: Secure user login and registration.
- Group Chat: Create and participate in group chats.
- One-to-One Chat: Private messaging between users.
- Attachments: Share files and media within chats.
- Typing Indicators: Notify users when someone is typing.
- Real-time Notifications: Receive instant notifications for new messages and events.
- Scalable Architecture: : Distributed system with Redis for scalability across multiple servers, Kafka for handling large amount of real time data.