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.
- Technology Stack
- Features of the Application
- Installation
- Screenshots of the Project
- Support and Contact
- 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)
- User information is saved in the FireStore database by FireBase.
- The password is hashed first and then stored.
- google_sign_in flutter plugin is used to implement the feature.
- User information is saved in the FireStore database by FireBase.
- 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.
- 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
- A video call can be live streamed using Flutter plugin for Agora Video SDK.
- One host can live stream the video call.
- This is done by unpublishing user's audio stream to the server.
- The server relays this information to all other clients.
- 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 with all the features of chatting (mentioned above) while video calling.
- Chat rooms preserves the messages from the individual chat channel.
- table_calendar flutter plugin is used to add a calendar.
- Monthly, Bi-weekly and weekly views of the calendar are available.
- 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.
- add_2_calendar flutter plugin is used to add events to device's default calendar.
- Reminders for the scheduled event are also provided.
- 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)
To use this project, follow the steps below:
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
Go to the Agora Console and follow the following steps
Use the Channel Name to enter the video room in 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
Email To: [email protected]
(Back to top)