A full-stack real-time chat and video call platform for language exchange, featuring 1-on-1 messaging, group chats, video calls, and more. Built with scalable technologies and a responsive, modern UI.
- π§ Real-time Messaging β Includes typing indicators, emoji reactions, and Stream-powered chat.
- π JWT Authentication β Secure login with user-role-based protected routes.
- πΉ 1-on-1 & Group Video Calls β Screen sharing and recording support.
- ποΈ Friend System β Send/receive friend requests with real-time updates.
- β‘ Optimized MongoDB Schemas β Designed for performance and data integrity.
- π Responsive UI β Built with TailwindCSS and enhanced via AI tools.
- Backend: Node.js, Express.js, MongoDB, JWT
- Frontend: React, TailwindCSS, TanStack Query
- Real-Time Communication: Stream Chat API
- AI Tools Used for UI Enhancements: Cursor, Claude AI
This project was inspired by and built upon the amazing tutorial by Codesistency on YouTube: π₯ Real-Time Chat App Tutorial
I followed along with the backend tutorial and used their GitHub repository as a reference when needed. While much of the backend logic is aligned with the tutorial, I made UI and UX improvements with the help of AI tools like Cursor and Claude to enhance the frontend experience.
Big thanks to Codesistency for the in-depth explanation and clean structure!
/frontend # React frontend
/backend # Node.js backend
-
Clone the repo:
git clone https://github.com/MuhammedRefaatMetwally/Real-Time-Chat-Video-Call.git cd Real-Time-Chat-Video-Call -
Setup Backend:
cd backend npm install npm run dev -
Setup Frontend:
cd frontend npm install npm run dev