Introducing

Flutter and Rust on AppFlowy

AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.

AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.

Why Open Source?

The founders of AppFlowy have been using Notion for a while now and they love it. But they are also huge fans of open-source software. They wanted to build an open-source alternative to Notion that is easy to use and customizable.

As a notion alternative, the end user can customize its UI easily and can also add new features to it. The app can be built for both mobile and desktop platforms and is written in flutter and rust.

The end user can also host AppFlow-Server - which is written in rust - on their own server and can be in charge of their own data.

What will you learn?

This is a 4 session - once-a-week - training program that is intended for advanced beginners or intermediate level software engineers who are familiar with the dartlang (flutter) and rust programming languages.

In this training program, you will learn how to build a full-stack application using flutter and rust. You will learn how to build a flutter app that can be deployed on both mobile and desktop platforms. You will also learn how to build a rust server that can be deployed on a linux server.

You will learn about the architecture of the AppFlowy stack and how to contribute effectively to this open source project, so demonstrating your true competency to potential employers.

What is the format for each Session?

Each session will be 1.5 hours long and will be conducted online through a pair/group programming format, using a dedicated pair programming tool, Tuple.

Session 1: The Basics and Introduction to AppFlowy

In this session, you will learn about the basics of the AppFlowy stack and how to get started with the project. You will learn how to build the flutter app and how to run the rust server locally.

Participants will also learn the fundamentals of open source contribution workflow. This is well covered by existing materials by github, such as

However, not everyone has the time to understand the more detailed parts of the workflow, such as preparing to sign commits, squashing commits, rebasing, and figure out the diverse practices used by different open source projects.

So, we will use this session to cover the basics of open source contribution workflow, and also to help participants get started with the AppFlowy project.

Session 2 and 3: Identifying Issues, Technical Communication and making Pull Requests

In these sessions, participants will learn how to identify issues that they can work on. They will also learn how to communicate with the maintainers of the project and how to make pull requests. Participants will be mentored on how to communicate effectively with the Terrafrom community and the project maintainers and how to make pull requests that are likely to be accepted.

The practical aspects of communicating well, discussing implementation possibilities and making pull requests will be done through pair programming sessions with the trainer.

Session 4: Review and Wrap Up

In the final session, participants will be expected to have made at least one pull request that has been accepted by the AppFlowy maintainers. Participants will be expected to share their experience with the rest of the class and to discuss the challenges they faced and how they overcame them.

The trainer will take the opportunity to review the important skills - both software skills and hard technical skills - that each student has acquired through this practical training program.

As the program mentor, the trainer will also provide feedback on how each participant can continue to improve their skills, build a strong CV to stand out in the job market with a strong track record in open source, beyond this short, high quality and pragmatic training program.