This is the best project in terms of scalability and performance, built to handle real-time messaging with efficiency and robustness. Whether you're chatting one-on-one or in groups, this app ensures fast delivery and seamless communication.
- Real-Time Messaging: Instant delivery of messages, even under high load.
- Scalability: Designed to scale horizontally with ease, handling thousands of concurrent users.
- High Throughput: Optimized for high message throughput using Kafka.
- Reliability: Ensures message delivery and integrity with robust error handling and retry mechanisms.
- Group Messaging: Supports group chats with all the same performance guarantees as one-to-one messaging.
- Seen Message Status: Real-time updates of message status (seen/unseen) for better user experience.
- Node.js & Express.js: Server-side framework for building a fast, scalable backend.
- Prisma ORM: Simplifies database management and queries, providing a type-safe interface to the database.
- PostgreSQL: Reliable and powerful relational database for storing user data, messages, and conversations.
- Kafka: Distributed streaming platform used for high-throughput, real-time data pipelines and messaging.
- Redis: In-memory data structure store used for caching and real-time message notifications via Pub/Sub.
- Socket.IO: Enables real-time, bidirectional communication between web clients and servers.
- Zustand: State management library for React to handle global states, particularly for managing the video call state.
- React & Vite: Frontend framework and tooling for building a fast, interactive user interface.
- React-query : Data fetching library use in react vite for interacting with the backend.
- WebRTC: Handles peer-to-peer video calling functionality.
- Node.js & Express.js: Chosen for its non-blocking, event-driven architecture, ideal for real-time applications.
- Prisma ORM: Provides a high level of abstraction, type safety, and easy database migration management, making it perfect for complex relational data models.
- PostgreSQL: Known for its reliability, PostgreSQL ensures data integrity and supports complex queries needed for messaging systems.
- Kafka: Used for its ability to handle large streams of data with low latency, making it the backbone of the messaging pipeline.
- Redis: Employed for its speed and simplicity, Redis is perfect for caching and Pub/Sub scenarios, ensuring real-time updates and notifications.
- Socket.IO: Offers real-time communication capabilities, essential for live messaging and notification systems.
- React & Vite: Ensures a fast, responsive, and interactive user interface with modern frontend development practices.
- WebRTC: Facilitates peer-to-peer video calls, adding a layer of interactivity to the chat application.
- React-query: It helps in manage state and fetch data in this. It can automatically refetch data and update the UI, so users always have access to latest information.
- Zustand: Simplifies state management in complex applications like video calls, keeping the frontend responsive and efficient.
Visit the app: Open your browser and go to https://progressive-chat-app-frontend.vercel.app/.