A real-time video chat application built using WebRTC for peer-to-peer communication and Socket.IO for signaling. Users can create or join rooms and communicate via live audio and video directly in the browser.
- 🔴 Real-time video & audio calling
- 👥 Peer-to-peer communication using WebRTC
- 🔁 Signaling handled with Socket.IO
- 🧭 Client-side routing using React Router DOM
- 🌐 Separate client & server architecture
- ⚡ Fast development with Vite
- 🖥️ Clean and responsive UI
- React.js
- JavaScript
- HTML
- CSS
- React Router DOM
- WebRTC
- Node.js
- Express.js
- Socket.IO
- HTTP
video-chat-app/
│
├── client/ # React frontend
├── server/ # Node.js backend
└── README.md
git clone
cd video-chat-appcd client
npm installcd server
npm installcd server
node index.jsThe server will start listening for Socket.IO connections.
cd client
npm run devThe React application will run on:
http://localhost:5173
(Port may vary depending on configuration)
- User opens the app and creates or joins a room.
- Socket.IO handles signaling (offer, answer, ICE candidates).
- WebRTC establishes a peer-to-peer connection.
- Audio and video streams are shared directly between users.
- Modern browser (Chrome, Edge, Firefox)
- Camera and microphone access enabled
- Node.js installed
- 🔇 Mute / Unmute audio
- 🎥 Turn camera on/off
- 🧑🤝🧑 Multiple users in one room
- 💬 Real-time chat during video calls
- 🔐 Authentication and private rooms
This project is created for learning and educational purposes.