Problem Statement
Currently, the chat app only supports text, audio, and image sharing. Adding real-time voice and video calls would significantly elevate the app to compete with mainstream chat clients.
Proposed Solution
Integrate WebRTC video/voice calls:
- Signaling: Implement socket signals (
call-user, make-answer, ice-candidate) in backend/src/lib/socket.js to establish direct WebRTC peer connections.
- Media Streams: Capture user webcam/microphone inputs using
navigator.mediaDevices.getUserMedia.
- UI Components: Build call invitation overlays, video containers, and control buttons (mute, end call) in the frontend.
Alternatives Considered
Using third-party SDKs like Agora or Zoom, but building it natively with WebRTC keeps the project open-source and free of vendor lock-in.
Additional Context
Level: Advanced
Affected Files: backend/src/lib/socket.js, frontend/pages/ChatPage.jsx (or a CallModal component)
Can you please assign this issue to me? I would like to work on this.
Problem Statement
Currently, the chat app only supports text, audio, and image sharing. Adding real-time voice and video calls would significantly elevate the app to compete with mainstream chat clients.
Proposed Solution
Integrate WebRTC video/voice calls:
call-user,make-answer,ice-candidate) inbackend/src/lib/socket.jsto establish direct WebRTC peer connections.navigator.mediaDevices.getUserMedia.Alternatives Considered
Using third-party SDKs like Agora or Zoom, but building it natively with WebRTC keeps the project open-source and free of vendor lock-in.
Additional Context
Level: Advanced
Affected Files:
backend/src/lib/socket.js,frontend/pages/ChatPage.jsx(or a CallModal component)Can you please assign this issue to me? I would like to work on this.