This project aims to implement the features present in the Microsoft Teams using React and Firebase deployed using vercel. The main functionality present in the website is the group video conference features with the team members and group conversations that can be started before the meet and continued during the meetings as well after the meeting is over.
Firstly, all the users of the website have to be authenticated. The authentication is done using Firebase Authentication. The authenticated users are saved in the database provided by firebase firestore. The authenticated users are also used to create users in chatengine.io used to build the chat system.
The next feature was to build the video conferencing feature for multiple users to join and converse across different computers. Jitsi's external API is used to connect users over video conferences. Jitsi’s Iframe functions are overridden to make custom features like toggle audio, toggle video, hangup call, tile view, text chat during video calls that are continued even after the call, share screen etc. Images can also be shared in the text chat.
Avatars can be uploaded and chats can be created/deleted. Users can leave the groups/teams. messages/links/files can be sent in the chats and messages can also be deleted.
Every team also consists of a File section where important files can be uploaded. This is implemented by using firebase storage.
There is a section to schedule important meetings using react-calendar and whenever a meet is scheduled, members of the group get an email regarding the same.
The link for the website is in youtube description.