This is a simple video conferencing app built using VideoSDK SDK and MERN stack. The goal of the project is to practice MERN Stack, know about SDK, This project is built for educational purposes.
-
The site deals with high-resolution real-time video streams and hence utilizes a lot of resources. Hence, this link may crash several times due to the limited resource allocation of the free hosting services.
- Like-Realtime Communication(very minimal latency)
- High-quality audio-visual communication
- Features like switching media devices such as camera, mic, speaker; Screen Sharing, Call Chat, Raising Hand, Meeting Recording(Recording will be available at the SDK provider's dashboard)
- Network Status monitoring
- Interactive and self-explanatory User Interface.
- Clone the repository by
git clone https://github.com/sayakghorai34/PeerMeet.git
- Go to the
VideoSDK
homepage https://www.videosdk.live/ and follow the instructions to create yourAPI
andSECRET
. The VideoSDK API screen would look like this:
- Go to the server directory by running
cd server
- Rename the
.env copy
to.env
- Paste your
API
andSECRET
underAPI_KEY
andSECRET_KEY
. - Run
npm i
to install all the dependencies/ node modules. - Run
npm start
to start the server.
- Go to the frontend directory by
cd frontend
- Run
npm i
to install all the dependencies/ node modules. - Run
npm start
to start the server. - This should automatically open
http://localhost:3000
or some other available port if already occupied.
- Implement Login & oAuth for the sake of the user's distinct API and SECRET usages.
- Currently, the user will be using the developer's API and SECRET so the meeting recordings won't be available to the users, but the developer can access it. The Developer can also monitor activities such as meeting duration, participants, meeting stats and analytics, and many more things. So, generally, it will raise user privacy and security issues. If we implement the Login feature and store the data using some database, MongoDB preferably, we can store the user's own API and SECRET of all individual users. Then the backend server can generate the token using the user's credentials and all data will be stored within the user's reach. They will be able to see their meeting logs and recordings and everything will stay within the VideoSDK server with the consent of the user that they must have agreed upon during Account setup.
- Optimise the code for better performance within limited resource
- Optimise media stream for negotiating with media quality, and network bandwidth.
- Implemented a bit of Lazy loading for resource optimization
- Explored and modified the Media Streams (video and audio track) such as implementing multi-track video, and audio processing, for a better experience
- Modularized and break down large modules into small small components