Microsoft Teams Clone by Karanjot Singh
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.
- Download
- Features
- Development
- Implementation
- Demo & Screenshots
- Wiki
- Project References
- License
- Connect with me
Android 6.0 and above only
Please refer to the Guide here to know the difference.
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
- Please refer to the Project setup wiki page for full instructions.
- Please refer to the Coding style wiki page for full instructions.
- For more please refer to the Codebase overview wiki page for detailed explanation.
- Please refer to the Contributor wiki page for steps.
- 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 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
- Internet access
- Access to camera
- Access to microphone
- Access to Storage
Click to play
- 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.
Please head to the Wiki page here.
Microsoft Teams Clone is released under the MIT License.
Drop by and say hello!