rohitxdev / relay

Free video conferencing app made using react, typescript, express and agora sdk.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Relay

A free video conferencing app made with React, Typescript, Express.js, Redis, and Agora SDK which uses webRTC protocol under the hood.

Github Release

Version

MIT License

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

AGORA_APP_ID

AGORA_APP_CERTIFICATE

DB_URL

API Reference

Get room ID

  GET /api/get-room-id

Generate room ID and add it to database.

Verify room ID

  GET /api/verify-room-id/${roomId}
Parameter Type Description
roomId string Required. Room ID to be verified

Check if the room ID is valid by querying the database.

Get access token

  GET /api/get-access-token?roomId=${roomId}&username=${username}
Parameter Type Description
roomId string Required. Room ID
username string Required. Username of client

Get access token for the given room ID and also add username to database.

Get username

  GET /api/get-username/${uid}
Parameter Type Description
uid string Required. UID of the user

Get username of the remote user with the given UID.

Delete username

  DELETE /api/delete-username/${username}
Parameter Type Description
username string Required. Username of client

Delete username of the client from database when leaving room.

Authors

Tech Stack

Client: React, Redux, SCSS, Typescript, Vite.

Server: Node, Express, Typescript, Redis.

Features

  • Video conferencing with upto 20 people in a call
  • Switch cameras on supported devices
  • Screen sharing with audio on supported devices
  • Floating client video in 2 user call
  • Fullscreen mode
  • Progressive Web App (PWA)

Screenshots

Run Locally

Clone the project

  git clone https://github.com/rohitman47/relay.git

Go to the project directory

  cd relay

Install dependencies

  npm install

Start the server

  npm run dev

Demo

https://relay.rohitman47.xyz

About

Free video conferencing app made using react, typescript, express and agora sdk.

License:GNU General Public License v3.0


Languages

Language:TypeScript 74.7%Language:SCSS 23.6%Language:HTML 1.7%