Skip to content

Gaurisha21/Microsoft-Teams-Clone-Engage2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 

Repository files navigation

Microsoft Teams Clone: Engage 2021

Banner

Microsoft Teams Clone is a flutter app developed for Microsoft Engage 2021. As a part of the program, the mentees were assigned the task to develop a clone of the Teams App with the feature of Video Calling and Chatting by implementing the Agile Methodology. The main aim of the project is to develop a professional video calling environment with ease of use and simplicity.

Table of contents

Technology Stack

Flutter FireBase Dart GitHub Agora

  • Flutter and Dart were used to develop the app.
  • Firebase was used for the database.
  • Agora.IO was used to provide real-time communication via video calling.
    (Back to top)

Features of the Application

App Overview

 Register and Login with Email ID and Password

  • User information is saved in the FireStore database by FireBase.
  • The password is hashed first and then stored.

 Login with Google

  • google_sign_in flutter plugin is used to implement the feature.
  • User information is saved in the FireStore database by FireBase.

 Chat

  • Individual chatting channels stored in FireBase database.
  • Chatting Features:
    • Personal chatting with other users.
    • Texting with Emojis.
    • Texting with Stickers.
    • Time stamps for each received text.
    • Image sharing with Zoom in and out feature.

 Video Calling

  • Flutter plugin for Agora Video SDK is used to integrate video calling.
  • Agora Video SDK provides real-time voice and video communications.
  • All clients connected on a particular channel publish their audio and video tracks to the server.
  • The server is then broadcasts the received tracks to the other participants present in the call.
  • Video Call in a Group With upto 4 people

  Live Streaming

  • A video call can be live streamed using Flutter plugin for Agora Video SDK.
  • One host can live stream the video call.

 Mute/Unmute Audio

  • This is done by unpublishing user's audio stream to the server.
  • The server relays this information to all other clients.

 Web Cam Freeze/Unfreeze

  • Freeze the web cam feed during the video call.
  • This is done by disabling the web came while diplaying the last captured frame.

 Chat rooms while Video Calling (Adapt Feature)

  • Chat rooms with all the features of chatting (mentioned above) while video calling.
  • Chat rooms preserves the messages from the individual chat channel.

 In-App Calendar

  • table_calendar flutter plugin is used to add a calendar.
  • Monthly, Bi-weekly and weekly views of the calendar are available.

 In-App Event Scheduler

  • Scheduling event like video calls, meetings etc. in the app.
  • The events are stored in the FireStore Database.
  • The event can store details like Title, Description, Meeting Channel Starting and Ending Date and Time of the event.

 Event Scheduling in Device's Default Calender

  • add_2_calendar flutter plugin is used to add events to device's default calendar.
  • Reminders for the scheduled event are also provided.

 Note Taking

  • Jote down notes in the app itself.
  • All notes for individual user are stored in the user specific databse in FireBase.
  • Details like Title, Date and Time of taking note, Note are stored.
    (Back to top)

Installation

To use this project, follow the steps below:

1. Clone this repository.

Initialise git on your terminal.

git init
git clone https://github.com/Gaurisha21/Microsoft-Teams-Clone-Engage2021.git

Change the directory.

cd "MS Teams"/msteams

2. Generate the Token for the App

Go to the Agora Console and follow the following steps
Steps to Generate Token

Use the Channel Name to enter the video room in the app.

3. Add the Token to the App

Open the settings.dart file in the MS Teams->msteams->lib->utils folder and add the app ID and the Token.

  const APP_ID = "";
  String Token = 'YOUR_TOKEN';

Open the chatVideoCall.dart file in the MS Teams->msteams->lib->Chat folder and add the app ID and the Token.

  const APP_ID = "";
  const Token = 'YOUR_TOKEN';

Run the packages get command in your project directory:

  # install dependencies
  flutter pub get

Once the build is complete, run the run command to start the app.

  # start app
  flutter run


(Back to top)

Screenshots of the Project

  • Launch

      

                 Launch Page


  • Register and Login

             

                 Sign Up Page                             Register with Email Id Page

             

        Login with Email Id Page                       Login with Google Page


  • Home Page and Slide Menu

             

                 Home Page                                                Slide Menu


  • Video Calling and Live Streaming

                    

     Video Call/Live Stream Page                           Video Call Page                                    Live Stream Page


  • Chatting

             

               Chat Log Page                                      Personal Window


  • Calendar

                    

             Monthly View Page                             Bi-weekly View Page                                    Weekly Page


  • Event Scheduler

                    

  In-App/Default Scheduler Page                   In-App Scheduler Page                       Default Calendar Scheduler


  • Note Taking

             

              Note List Page                                     Note Creation Page


(Back to top)

Support and Contact

Email To: [email protected]
(Back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published