Skip to content

web RTC implementation in NEXT-JS and Shad CN, with room creation, password protection, chat AND self hosted coturn

Notifications You must be signed in to change notification settings

Govind783/next-JS-webrtc-coturn

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. with self hosted coturn on ec2.

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 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
  • flask as a simple signalling server and for socket
  • EC2
  • self hosted coturn

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

TODO

  • 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

  • add screen sharing

note

coturn helps with NAT, and we are able to by pass most NATs and ISP's! even the super strict ones in India. if you find the call not working on any specific ISP or behind a very specific nat of FW feel free to drop a message

Backend repo, OSS

  • a simple flask app used as a signalling server to connect candidates and transmit basic info about ICE Backend repo

Turn server config and details

  • learn more the turn config, hosting coturn and traversing restrective NAT's Indepth guide

Do star the Repo 🌟

About

web RTC implementation in NEXT-JS and Shad CN, with room creation, password protection, chat AND self hosted coturn

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published