0.1.25 • Published 2 years ago

cvr-rui v0.1.25

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Getting Started with CVR react UI component

NOTE : This package won't work starting 01/12/2021!! Please don't use this package anytime after 30th November 2021.!!

As CVR now has a lot changes and advancements since the 1st release and we at centedge are not getting enough time to update this package, we have switched off the default backend infrastructure for this package. We will try to come up with a next version in a month or two with a lot of improvements. Until then, bon Voyage!!

This is the pre-baked react ui for CVR(Centedge Video Rooms). This can be integrated to any react application to provide the power of video conferencing with a pre created ui / ux along with the flexibility to configure according to your own wish / desires. Our goal is to make it highly agile without compromising on product experience as well as development speed. Now build a production grade video conferencing application in React in minutes.

Note

This react ui is running with the help of a small scale video back-end infrastructure sponsored by Centedge along with some generosity from AWS. That's why you don't need a Credit card OR an API key / secret combo OR even a Signup at Centedge to run this app! As this is a small scale setup, we don't advise anybody to build production grade video applications using this npm package which internally depends on infrastructure from Centedge. The back-end setup currently can handle 6 participants in one room including moderator and can handle 5 such rooms simultaneously! Please feel free to play around and tinker around using this package. If you want to build something serious using this and need more number of rooms or more number of participants in each room, feel free to drop us an email at hello@centedge.io and we will be happy to create a production grade infrastructure setup for you.

Demo

https://meet.centedge.io/cf/demo-room

Configuration Details

The detailed description about all the available config options can be found out in the below link. https://www.centedge.io/cvr-rui

Example

A functional example app built using this package can be found in this github repo. https://github.com/sauravkp/demo-react-videoroom

A step by step blog post to understand the above example app can be found here. https://www.centedge.io/post/building-a-webrtc-video-conferencing-app-in-one-hour

Installation

npm i cvr-rui or yarn add cvr-rui

API

import ParticipantPage from 'cvr-rui';

Usage

import "./App.css";
import ParticipantPage from "cvr-rui";



function MainApp() {

  const callEnded = () =>{
        console.log('hey, the call has been ended!!');
        // Then do something here
  }

  const callStarted = () =>{
      console.log('hey, the call has been started!!');
      // // Then do something here
  }

  const webVideoConfig = {
    theme:'light', // light or dark
    joinButtonColor:'secondary', // primary or secondary or disabled or any othe color property that material ui accepts
    roomName:'my-unique-room', // your unique room name
    userName:'admin-user', // your unique user name
    participantType:'moderator', // in case a admin user / moderator else leave it blank
    adminApprovalRequiredToJoinRoom:false, // this option can be enabled to let other users seek the approval of this admin user before joining room
    screenShot:true,// make it false if you dont want to enable screenshot capture option of the pinned user on the room, valid for moderator only
    docUpload:true,// make it false if you dont want to enable document request by moderator to the pinned user on the room, valid for moderator only
    screenSharing:true, // make it false if you dont want to enable screen sharing on the room
    chatOption:true, // make it false if you don't want to enable chat option in the room
    chatPushAPI:'', // yet to be implemented - api to store the chat messages
    recordingPushAPI:'', //yet to be implemented - api to store the recording of this room if enabled, currently recording is disabled by default!
    screenShotUploadURL:'', //url to upload the screenshot taken
    documentUploadURL:'', // url to upload documents in case your application needs users to end documents as and when asked by the admin user / moderator
    apiAccessAuthToken:'', // api access token to access the url
    callStartFunction:callStarted,
    callEndFunction:callEnded,
    
  }
  return (
    <div className="App">
      <ParticipantPage config={webVideoConfig} />
    </div>
  );
}

export default MainApp;

That's it!! With this you wil get a join button which you can integrate in any page of your app. Once you click on the join button, magic happens!!

Package Owner