Skip to content

AayushiMohan/VideoConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 

Repository files navigation

🎥 VideoConnect

VideoConnect Banner

Live Demo

React Node.js Socket.io LiveKit Vercel Railway

A scalable real-time video conferencing platform supporting 40–50 concurrent users

🌐 Live App: video-connect-beryl.vercel.app

FeaturesTech StackGetting StartedProject Structure


Features

  • HD Video Calling — Real-time video conferencing with up to 50 users
  • Audio/Video Toggle — Mute/unmute mic and turn camera on/off
  • Screen Sharing — Share your screen with all participants
  • Group Chat — Real-time chat sidebar with Socket.io
  • Shareable Room Codes — Create rooms with unique codes and share instantly
  • SFU Architecture — Uses LiveKit SFU for scalable media routing (no P2P bottleneck)
  • Secure — JWT-based token authentication for room access
  • Responsive — Works on desktop and mobile browsers

Tech Stack

Layer Technology
Frontend React.js, LiveKit Components, CSS3
Backend Node.js, Express.js
Real-time Communication WebRTC, LiveKit SFU
Chat Socket.io
Authentication LiveKit JWT Tokens
Frontend Deployment Vercel
Backend Deployment Railway

Getting Started

Prerequisites

1. Clone the repository

git clone https://github.com/AayushiMohan/VideoConnect.git
cd VideoConnect

2. Setup Backend

cd server
npm install

Create a .env file in the server folder:

LIVEKIT_API_KEY=your_api_key
LIVEKIT_API_SECRET=your_api_secret
LIVEKIT_URL=wss://your-project.livekit.cloud
PORT=5000

Start the server:

node index.js

3. Setup Frontend

cd client
npm install
npm start

4. Open the app

Visit http://localhost:3000 in your browser 🎉


Project Structure

VideoConnect/
├── client/                   # React Frontend
│   └── src/
│       ├── App.js            # Home page — create/join room
│       ├── Room.jsx          # Video call screen
│       ├── Chat.jsx          # Real-time chat sidebar
│       └── App.css           # Styling
│
└── server/                   # Node.js Backend
    ├── index.js              # Express + Socket.io + LiveKit token API
    └── package.json

How It Works

User creates/joins room
        ↓
Backend generates LiveKit JWT token
        ↓
Frontend connects to LiveKit SFU
        ↓
SFU routes media streams to all participants
        ↓
Socket.io handles real-time chat messages
        ↓
Everyone sees and chats with everyone ✅

Upcoming Features

  • ✅ Deploy on Vercel + Railway
  • Participant list panel
  • Raise hand feature
  • Meeting recording
  • Breakout rooms
  • AI meeting summary using Claude API

Built by Aayushi Mohan — Free to use, open source 🚀

About

Real-time video conferencing platform built with React, Node.js, WebRTC, Socket.io, and LiveKit. Supports room creation, screen sharing, chat, and audio/video controls.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages