Skip to content

This is a project under Microsoft Engage mentorship program '21 by Hargun kaur

Notifications You must be signed in to change notification settings

hkaur008/microsoft-engage-project

Repository files navigation

Microsoft Engage Mentorship program'21 project

Microsoft Teams Clone

🚩 Overview

In COVID 19 pandemic , it has become cruicial for many people to work remotely from their home.Mostly Schools, Colleges and Companies started operating their works through Video Conferencing and Business Communication platforms such as Microsoft Teams who play a vital role to empower communities and stay connected. It is an integration of video calling and chat application with variety of features for developers, students, teams to work together in a collabrative environment.
This is solely built during the period of Microsoft Engage Mentorship program'21 conducted by Microsoft provide mentorship and to enrich freshmen with various software development techniques.

Problem statement (as given)

To build a fully functional prototype with at least one mandatory functionality - a minimum of two participants should be able connect with each other using the product to have a video conversation.

  • Status : Accomplised by extending to group calling app from 2 people
Adopt feature:

Include a chat feature in your application where meeting participants can share info without disrupting the flow of the meeting. Through this feature the participants should be able have conversation befor joining, while in the meet and after leaving the meeting.

  • Status : Accomplised

🔗 Links for project:

Video link : https://youtu.be/Xolry9YlK7I
Live demo : Azure : https://microsoftengageproject.azurewebsites.net Heroku : https://microdemo.herokuapp.com/

🌐 Web flow

🚩 Agile methology and workflow:

Agile methology was followed by implementation of sprint of 4 days in a week , continuous integration and developmet while hosting the app both on Azure and Heroku. Work was proceeded in different branches using git version control and successfully developed patches were merged to ruling branch . Customer view points and Teams as an inspiration was taken in mind to develop this project. Bugs were solved according to priority scale Priority scale : P5 (maximum) to P1 (Least)

Week Task Remarks
1 Design phase P4: basic app built by exploring technologies , P3: Setup server Peer.js , express , socket.io P2: Chatbox Successfull setup implementation and chat box
2 P4: Screen Sharing , P3: Filters , P2:Send messages button , P5: PeerId undefined(Bug) All bugs resolved
3 P4: List of Participants, P5: Firebase reference error , P3:Hand raise , P5: PeerId undefined(Bug) , P4: Video call connection Problem statement tasking completed
4 Desgin phase and build P4: Chat Before and after with chat rooms , Testing and review P3:Hosting on Azure , P5: Service unavaible error 505 (Bug) , P4: Homepage , P3:Record of participants Adopted task completed , Branch changing resolved bug

🚩 Features:

List of Feature at ./features.md

Feature Images
Hompage
Mouse Interactive UI is motivation of connecting around the globe feature using particle.js . Options for users : Profile Login : To see all records of user ,access chatroom and meeting , Join Meet , Start new Meeting
Meeting Screenimage White board image
Tool bar Mute Unmute
Participant List , Hand Raise , Invite Participants image Screen Sharing image
Chat integration : Chat during meeting Emojis integration
Chat Screen image
Animated GIF-downsized Photo - filters Animated GIF-downsized_large (1)
Chat After and Before meeting :
image image
List of participants in the room (On clicking on file button meeting record gets downloaded as right side) image Meeting Record with timing image

Other Features : Users can independently:

  1. chose to stop or resume video of any particpants
  2. mute or unmute its audio and decrease f increase volume
  3. view on fullscreen as well

🚩 Technologies used:

Programming Languages : NodeJSJavaScript HTML5 CSS3BootstrapjQuery

Version Control : Git

Hosting : Azure Heroku

Frameworks/Libraries : Express , Ejs , Socket.io , Peerjs, UUID

You can also see the list of dependencies in the package.json file.

🚩Installation/Environment Setup

1. Clone App

  • Make a new folder and open the terminal there.
  • Write the following command and press enter.
  $ git clone https://github.com/hkaur008/microsoft-engage-project.git

2. Install node packages

  • Write the following command and press enter to download all required node modules.
$ npm install 

3. Run Locally

  • While you are still inside the cloned folder, write the following command to run the website locally.
  $ npm start
NOTE: The port by default will be http://localhost:443/

🚩 Future Scopes:-

Feature Explanation
Specific Team group Atmosphere manager As Teams is a chat conversational platform as well, wanted to build a chat room positivity meter to analyse chat text to extract user sentiments and emotional state during the conversation using Microsoft Cognitive Services or ML APIs.
Send Code integration A microsoft teams inspired feature for developers to work in collabrative environment and code together.
Blind mode Switching to this mode user will hear the tool description through audios, and can video call their families as well.

Thank you ! Microsoft Team for such a wonderful mentorship program ❤️ You can also check My weekly record during this program

About

This is a project under Microsoft Engage mentorship program '21 by Hargun kaur

Resources

Stars

Watchers

Forks