4008063323.net

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.

5. Spotube (Free Spotify Premium)

Creator: Kingkor Roy Tirtho and collaborators

Stars: 5.3k (as of November 2023)

State Management: Riverpod

Key Features: GoRouter, Hive, Windows and Mac support

Spotube allows users to listen to music akin to Spotify without any costs or advertisements. While I question the app's legality, its code offers beginners a great starting point for learning routing with GoRouter and utilizing Riverpod for state management.

The project also introduces Flutter for desktop applications, which requires consideration of elements such as keyboard shortcuts. I would recommend adopting a feature-based folder structure for better organization, especially as the project expands and more developers contribute.

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

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

Weekend Creativity Boost: Midjourney Prompts to Explore

Discover inspiring Midjourney prompts to spark your creativity this weekend. Explore artistic themes and styles for unique creations.

Navigating the Quest for Fulfillment: Is B+ Enough?

Exploring ambition and contentment in writing, questioning the true meaning of success.

Navigating Life’s Uncertainties on the Lone Path: A Personal Journey

A reflective exploration of overcoming fears and embracing individuality on life's challenging path.

Space Mining: Navigating Legal and Ethical Challenges Ahead

Exploring the implications of space mining on law and ethics, as well as the potential environmental impacts and responsibilities toward extraterrestrial life.

Embracing Change: How Divorce Transformed My Life for the Better

A reflection on how divorce led to personal growth and renewal.

Navigating Company Acquisitions: Lessons in Team Management

Insights on managing teams during company acquisitions, emphasizing integration, culture, and leadership.

Harnessing the Power of Positive Affirmations for Stress Relief

Explore how positive affirmations can boost self-esteem and manage stress effectively.

# When Your Values Clash: The Importance of Sticking to Your Ethics

Explore the significance of maintaining personal ethics in relationships, illustrating how compromising values can harm self-worth.