Skip to content

Ishan2608/NextRoom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Next Room | WebRTC Video Conferencing

Built By Human

Next Room is a production-ready, peer-to-peer video meeting platform built with WebRTC, Socket.io, and Node.js. It features a custom mesh network architecture allowing multiple users to connect, chat, and share media in real-time without external plugins.

Key Features

  • P2P Video & Audio: Low-latency communication via WebRTC mesh networking.
  • Dynamic Media Toggling: Seamlessly enable or disable camera and microphone mid-call with automatic track synchronization.
  • In-Call Chat: Real-time messaging using Socket.io for team coordination.
  • Room Management: Private rooms with unique 6-digit meeting codes for secure access.
  • Responsive UI: Modern, glassmorphic design built for high-definition video focus.

Screenshots

Home Page

Home Page Screen Shot

Meeting Room

Home Page Screen Shot

Tech Stack

  • Frontend: HTML5, CSS3 (Custom Variables & Animations), JavaScript (ES Modules), jQuery.
  • Backend: Node.js, Express.
  • Real-Time: Socket.io (Signaling & Chat).
  • Communication: WebRTC (RTCPeerConnection, MediaStream API).

Architecture: Multi-User Mesh

Next Room utilizes a Mesh Topology. When a new participant joins, every existing user in the room creates a dedicated 1-to-1 RTCPeerConnection with the newcomer. This ensures that media is sent directly between users, reducing server-side load and latency.

Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • NPM or Yarn

Installation

  1. Clone the repository:
git clone https://github.com/Ishan2608/NextRoom.git
cd next-room
  1. Install dependencies:
npm install
  1. Start the server:
npm start
npm run dev
  1. Open your browser and navigate to http://localhost:3000.

Contribution

This project was built as part of a deep dive into low-level WebRTC concepts and real-time system design. Feel free to fork the repo and submit pull requests for features like screen sharing or recording.

About

A complete Video Calling and Chatting Web Application made for the purpose of practicing to use WebRTC and WebSocket at core, without any SDKs or APIs. It has been built as a clone of Google Meet using only HTML, CSS, and JS

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors