- Express server handles HTTP requests
- Socket.IO manages real-time communication
- TypeScript ensures type safety
- WebRTC signaling server coordinates peer connections
- HTML5 for structure
- CSS3 for styling and animations
- JavaScript handles WebRTC and Socket.IO client operations
- Media stream handling for video/audio
-
call-user: Initiates a call to another usersocket.emit('call-user', { offer: RTCSessionDescription, to: targetSocketId });
update-user-list: Updates the active users listcall-made: Notifies of incoming callanswer-made: Handles call answerremove-user: Removes disconnected user
- Chrome (version 80+)
- Firefox (version 75+)
- Safari (version 13+)
- Edge (Chromium-based, version 80+)
-
Video/Audio Not Working
- Check browser permissions
- Ensure camera/microphone is not in use
- Verify SSL certificate in production
-
Connection Issues
- Check network connectivity
- Verify WebRTC is not blocked
- Check firewall settings
-
Performance Issues
- Reduce video quality
- Check network bandwidth
- Close other media applications
-
Fork the repository
-
Create your feature branch
git checkout -b feature/AmazingFeature
-
Commit your changes
git commit -m 'Add some AmazingFeature' -
Push to the branch
git push origin feature/AmazingFeature
-
Open a Pull Request
- Use TypeScript for type safety
- Follow ESLint configuration
- Write unit tests for new features
- Update documentation as needed
This project is licensed under the ISC License. See the package.json file for details.
- WebRTC Community
- Socket.IO Team
- TypeScript Team
- All contributors