Skip to content

Govind783/nextJS-videocall-and-chat

Repository files navigation

Next.js Video Calling Application

A secure, privacy-focused video calling application built with Next.js and WebRTC, featuring real-time chat and room management capabilities.

Features ✨

Room Management

  • Create public or password-protected rooms
  • Share room URLs with participants
  • Set maximum participants per room
  • Mesh architecture for peer-to-peer connections
  • TODO: Implement SFU (Selective Forwarding Unit) for better scalability

Video & Audio Features

  • Toggle audio and video streams anytime
  • High-quality real-time video communication
  • Instant notifications when participants leave
  • Client-side only data processing - we never access your streams

Chat Functionality

  • Real-time chat alongside video calls
  • No message storage - complete privacy
  • Instant message delivery

Privacy & Security

  • Client-side only data processing
  • No storage of participant information
  • No interception or access to audio/video streams
  • No chat message persistence
  • Optional password protection for rooms

Tech stack

  • Next JS
  • shad CN
  • tailwind
  • raw web RTC API's
  • socket-io

UI/UX

  • Dark mode support using shadcn
  • Responsive design
  • Intuitive controls
  • Toast notifications for important events

UI Preview 📸


We take your privacy seriously:

  • No storage of personal information
  • No recording or interception of audio/video streams
  • No persistence of chat messages
  • All communication is peer-to-peer
  • No server-side processing of media streams

Backend Repository 🔗

Video Call Backend

TODO

  • right now the app works great when the connected devices are on same network, different networks of the same ISP providers but fails when the ISP of device one is different than the ISP of the second device
  • the app follows a mesh architecture for connecting the calls which is decent for 3-4 people but does not scale so well and puts extreme load on the users device for <4 people in a call, so implement SFU