Apna Video Caling App
A real-time video calling web application built using the MERN stack, WebSockets, and WebRTC. It allows users to make peer-to-peer video calls, chat instantly, and share their screen for smooth online communication.
About This Project
Apna Video Calling App is a full-stack real-time communication platform inspired by modern meeting apps like Zoom and Google Meet. I built this project to understand how real-time video communication works behind the scenes using WebRTC and WebSockets.
The application enables users to connect directly through peer-to-peer communication, which helps reduce latency and improves call quality. Along with video calling, users can also send real-time messages during the call and share their screen for presentations, collaboration, or remote assistance.
Building this project helped me gain practical experience in handling WebRTC signaling, socket-based communication, media stream management, and real-time frontend state updates. It was a challenging but highly valuable project because it involved both frontend and backend architecture.
Key Features
- Real-time peer-to-peer video calling
- Instant chat messaging during calls
- Screen sharing support
- Low-latency communication using WebRTC
- Real-time signaling with WebSockets
- Responsive and clean user interface
Tech Stack
Frontend
- React.js
- JavaScript
- HTML
- CSS
Backend
- Node.js
- Express.js
- Socket.IO
Database
- MongoDB
Real-Time Technologies
- WebRTC
- WebSockets
Challenges I Solved
- Establishing peer-to-peer connection between users
- Managing offer/answer exchange for WebRTC signaling
- Handling ICE candidates for stable connection
- Synchronizing chat and media streams in real time
- Implementing screen sharing without breaking active calls