Skip to content

[FEATURE] Peer-to-Peer Voice and Video Calling via WebRTC #574

Description

@knoxiboy

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:

  1. Signaling: Implement socket signals (call-user, make-answer, ice-candidate) in backend/src/lib/socket.js to establish direct WebRTC peer connections.
  2. Media Streams: Capture user webcam/microphone inputs using navigator.mediaDevices.getUserMedia.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions