Short Intro: Microsoft Teams Clone is a Video conference application with a rich integrated chat experience, to connect with friends,family & colleagues. Developed as a redesign of Microsoft Teams during my menteeship at Microsoft Engage 2021.
Microsoft Teams Clone by Karanjot Singh
About
Microsoft Teams Clone is a Video conference application with a rich integrated chat experience, to connect with friends,family & colleagues. Developed as a redesign of Microsoft Teams during my menteeship at Microsoft Engage 2021, It implements the following features of the original app
- Instant Messaging
Share your opinion and have fun with your team. Send GIFs, stickers, and emojis in a group chat or in one-to-one messages. - Online Meetings
Instantly go from group chat to video conference with the touch of a button. - Collaborate
Easily find, share files in real time, in chat to keep the work on 🙂
This application is written using Flutter & Dart, It leverages Gradle and AndroidX and utilises StreamChat SDK, Google Firebase and Jisi Meet Android SDK.
Contents
- Download
- Features
- Development
- Project Setup
- Coding Style & Conventions
- Overview of the codebase
- Contributing
- Implementation
- Technologies Used
- Agile Methodologies
- App Permissions
- Demo & Screenshots
- Wiki
- Project References
- License
- Connect with me
Download
Android 6.0 and above only
FAT APK Bundle
Architecture Specefic APKs
Please refer to the Guide here to know the difference.
Features
Chat Functionality
- Google Sign In
- Upto 2000 Active users at same time
- Create Group / personal chats outside a meeting
- Pin messages.
- Delete / edit messages.
- Photo, Audio, Videos, etc.
- GIFs via GIPHY
- Chat reactions & Emojis.
- Reply on threads.
- Integrated Video rooms.
- User mentions.
- Mute Conversations
Video Conferencing Functionality
- Toggle Video / Audio
- Share Screen
- Anonymous Join In
- Raise Hand
- Set Meeting Password
- Share files
- In meet private chat
- Record the meeting
- Share Links
- Broadcast Live
- Low Bandwidth mode
- Minimised mode
UI / UX
- Onboarding Screens
- Fully Responsive UI
- Minimalist UI
- Dark / Light Theme
Complete Feature List
Development
Project Setup
- Please refer to the Project setup wiki page for full instructions.
Coding Style
- Please refer to the Coding style wiki page for full instructions.
Overview of the codebase
- For more please refer to the Codebase overview wiki page for detailed explanation.
Contributing
- Please refer to the Contributor wiki page for steps.
Implementation
Technologies Used
- Flutter null safe 2.2.2
- Google Firebase for user authentication
- Stream Chat SDK for integrated chat functionality
- Jitsi Meet SDK for video meetings & conferences
- Other dependencies in
pubspec.yaml
Agile Methodologies
- Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.
- This application follows the Effective Dart: Style & the repository is maintained following Agile Methodologies and Gitflow Workflow
- Hence, The development of this project was iterative: Design, Code, Redesign, Fix Errors. All new features were created using new git branches and merged into main from time to time. Gitflow Workflow
- Issues, Ideas and Todos were tracked using a board for each sprint – Design, Build & Adapt
App Permissions
- Internet access
- Access to camera
- Access to microphone
- Access to Storage
Demo
Click to play
Project References
- Flutter API reference
- Stream Chat Flutter Docs
- pub.dev API reference
- Flutter Samples
- Undraw
- Special Thanks to @imtoori (Stream SDK Devloper) for helping me throughout this project.
Wiki
Please head to the Wiki page here.
License
Microsoft Teams Clone is released under the MIT License.
Download Microsoft Teams Clone app source code on GitHub
Provides the list of the opensource Flutter apps collection with GitHub repository.