Unlock Your Flutter Potential with These 5 Open Source Projects
Written on
Introduction
Engaging with open-source projects is an excellent way to sharpen your skills by examining the packages and coding techniques employed by other developers. This is my third article dedicated to such projects, where I highlight some of my favorites along with insights into their interesting packages and coding styles. This edition features notable projects, including a WhatsApp clone, a casual game I developed, and a Flutter application that is compatible with Windows and Mac (the legality of which I am unsure).
If you haven't read my previous articles on open-source projects, I recommend checking out "3 Flutter Open Source Projects That Improve Your Skills (All Levels)" and "4 Flutter Open Source Projects from Which You Can Learn a Lot! (2023)."
1. Lichess
Creator: Vincent Velociter and contributors
Stars: 646 (as of November 2023)
State Management: Riverpod
Key Packages: sqflite, web_socket_channel, among others
Lichess is a captivating project that serves as a free open-source chess platform where I spent countless hours during the pandemic. With its impressive traffic, often surpassing 50,000 concurrent games, the existing app is built on Ionic, and they are now transitioning to a Flutter version. They have enlisted a professional Flutter developer to lead this initiative, offering an ideal opportunity for those looking to enhance their skills while contributing to a project with a substantial user base.
The setup employs Riverpod for state management, and Remi Rousselet, the creator of Riverpod and Freezed, commends Lichess for utilizing his packages. I found their use of websockets particularly intriguing, as evidenced in the auth_socket.dart file.
2. Knucklebones (Casual Game)
Creator: Max Zimmermann
Stars: 4 (as of November 2023)
State Management: Riverpod
Key Features: Rive animations, folder structure
I must admit my bias here—Knucklebones is a casual dice game I created that operates entirely offline, with ranked online gameplay planned for the future. The game filled a gap in the App Store and allowed me to experiment with Rive animations. For more insights into this project, refer to my articles "Knucklebones — My First Flutter Open Source Project" and "Flutter App Architecture and How to Structure Your Folders."
3. Flutter Clean Architecture with Riverpod
Creator: Utsav Ghimire
Stars: 167 (as of November 2023)
State Management: Riverpod
Focus: Architecture, folder structure, abstractions
This project is geared towards advanced developers. I have rarely encountered a Flutter project that adheres to clean architecture principles as rigorously as Utsav Ghimire's work. The structure is distinctly divided into data, domain, and presentation layers, employing a feature-based approach. Repositories are clearly defined, promoting dependency inversion.
I was particularly curious about the implementation of use cases, a significant aspect of clean architecture, though this wasn't explicitly covered in the project. While the majority of the code is well-organized, I noted some superfluous comments that could be removed. This project holds significant value for all developers, especially beginners who may wish to revisit it for a fresh perspective.
4. Flutter Chat Demo (WhatsApp Clone)
Creator: Duy Tran Quang
Stars: 1.6k (as of November 2023)
State Management: Provider
Key Features: Barrel files, Firebase functionalities, Google sign-in, push notifications
The Flutter Chat Demo is a WhatsApp clone that facilitates user sign-in and chatting with friends. Duy Tran Quang has documented his project in two Medium articles: "Building chat app with Flutter and Firebase" and "Flutter chat app extended — push notification messages," which I recommend for those interested in learning more.
Duy employs barrel files to streamline imports, although I’ve found this less beneficial due to my familiarity with quick import methods. However, the ChatPage's lengthy code—containing over 692 lines—could be improved by separating item creation into distinct files.
Conclusion
These five Flutter open-source projects illustrate the creativity and skill of their developers. A huge thank you to the creators for sharing their code! If you have an open-source project you'd like to showcase, please leave a comment. Feedback is always welcome!
More Articles