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

Overview

AppFlowy.IO
⭐️ The Open Source Notion Alternative ⭐️

License: AGPL

You are in charge of your data and customizations.

WebsiteDiscordTwitter

The Open Source Notion Alternative.

Install

macOS

brew install appflowy

Windows

There is currently no Windows installer. However, you can download and install the app from the GitHub Releases section.

  1. Go to AppFlowy's Releases page on GitHub.
  2. Download the current AppFlowy-Windows.zip file
  3. Create a directory in your %userprofile%\documents folder
md %userprofile%\documents\appflowy
  1. Change to that directory
cd %userprofile%\documents\appflowy
  1. Extract the downloaded zip file into the directory you just created.
  2. Run the application :
./app_flowy.exe

Linux

There is currently no Linux installer. However, you can download and install the app from the GitHub Releases section.

  1. Go to AppFlowy's Releases page on GitHub.
  2. Download the current AppFlowy-Linux.tar.gz file.
  3. Create a directory in your /opt/ folder.
md /opt/appflowy
  1. Change to that directory
cd /opt/appflowy
  1. Extract the downloaded compressed file into the directory you just created.
tar -xvf AppFlowy-Linux.tar.gz
  1. Run the application :
./app_flowy

Built With

Stay Up-to-Date

AppFlowy Github

Getting Started

Linux

Please follow these instructions to build on Linux.

Windows

Please follow these instructions to build on Windows.

macOS

How to build on MacOS, please follow these simple steps.

Step 1:

git clone https://github.com/AppFlowy-IO/appflowy.git

Step 2:

cd appflowy/frontend
make install_rust
source $HOME/.cargo/env
make install_cargo_make
cargo make install_targets

🚀 Skip install_rust or install_cargo_make if you already installed it. FYI, AppFlowy uses https://github.com/sagiegurari/cargo-make to construct the build scripts

Step 3:

Follow the instructions here to install Flutter. As AppFlowy uses the stable channel, you need to switch the channel. Just type:

flutter channel stable

Step 4:

You should enable the specified platform first if you don't enable it before and then select the desktop device.

# for windows
flutter config --enable-windows-desktop

# for macos
flutter config --enable-macos-desktop

# for linux
flutter config --enable-linux-desktop
  • Open the app_flowy folder located at xx/appflowy/frontend with Visual Studio Code or other IDEs at your disposal.

  • Go to the Run and Debug tab and then click the run button. Run the project

  • If you want to build for the other platform, you should modify the build_sdk.sh before running. build_sdk Please also check the device selection, AppFlowy only supports Desktop by now: device

  • If you encounter any issues, have a look at Troubleshooting first. If your issue is not included in the page, please create an issue or ask on Discord.

Roadmap

AppFlowy Roadmap

If you'd like to propose a feature, submit an issue here.

Releases

Please see the changelog for more details about a given release.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Please look at CONTRIBUTING.md for details.

Why Are We Building This?

Notion has been our favorite project and knowledge management tool in recent years because of its aesthetic appeal and functionality. Our team uses it daily, and we are on its paid plan. However, as we all know Notion has its limitations. These include weak data security and poor compatibility with mobile devices. Likewise, alternative collaborative workplace management tools also have their constraints.

The limitations we encountered using these tools rooted in our past work experience with collaborative productivity tools lead to our firm belief that there is, and will be a glass ceiling on what's possible in the future for tools like Notion. This emanates from these tools probable struggles to scale horizontally at some point. It implies that they will likely be forced to prioritize for a proportion of customers whose needs can be quite different from the rest. While decision-makers want a workplace OS, the truth is that it is not very possible to come up with a one-size fits all solution in such a fragmented market.

When a customer's evolving core needs are not satisfied, they either switch to another or build one from the ground up, in-house. Consequently, they either go under another ceiling or buy an expensive ticket to learn a hard lesson. This is a requirement for many resources and expertise, building a reliable and easy-to-use collaborative tool, not to mention the speed and native experience. The same may apply to individual users as well.

All these restrictions necessitate our mission - to make it possible for anyone to create apps that suit their needs well.

  • To individuals, we would like to offer Notion's functionality along with data security and cross-platform native experience.
  • To enterprises and hackers, AppFlowy is dedicated to offering building blocks, that is, collaboration infra services to enable you to make apps on your own. Moreover, you have 100% control of your data. You can design and modify AppFlowy your way, with a single codebase written in Flutter and Rust supporting multiple platforms armed with long-term maintainability.

We decided to achieve this mission by upholding the three most fundamental values:

  • Data privacy first
  • Reliable native experience
  • Community-driven extensibility

To be honest, we do not claim to outperform Notion in terms of functionality and design, at least for now. Besides, our priority doesn't lie in more functionality at the moment. Instead, we would like to cultivate a community to democratize the knowledge and wheels of making complex workplace management tools, while enabling people and businesses to create beautiful things on their own by equipping them with a versatile toolbox of building blocks.

License

Distributed under the AGPLv3 License. See LICENSE.md for more information.

Acknowledgements

Special thanks to these amazing projects which help power AppFlowy.IO:

Comments
  • [FR] Darkmode

    [FR] Darkmode

    1~3 main use cases of the proposed feature Dark mode UI.

    what types of users can benefit from using your proposed feature Pretty much everyone.

    Additional context Some form of darkmode or "Themes" backed in.

    new feature good first issue for devs 
    opened by rhinotastic 23
  • [FR] Create a new yellow theme for AppFlowy

    [FR] Create a new yellow theme for AppFlowy

    Description

    Solves #1475

    Tasks

    • [x] Create a mechanism to select from multiple theme options
    • [x] Create a new all-colored theme that utilizes all the colors in AppFlowy's logo.

    Impact

    Adding more themes will become much easier.

    Flow

    The previous AppFlowys app only allowed two themes. This theme control was taken care of by the following approach:

    User opens the settings page where they can toggle between the light theme and dark theme.
    

    After the PR is merged, changing the theme will done as follows

    User opens the settings page where they see a list of different themes, from which they select any one.
    

    Naming

    This PR adds a new ThemeType to the app. It adds the requested yellow theme. I have named the theme "Anne" because when I showed her a bunch of themes, this was the theme she liked the most. Also, she has been very supportive and welcoming during my journey of making my first contribution to AppFlowy. This is my way of saying Thanks.

    improvements editor 
    opened by MayurSMahajan 18
  • [Bug] Deb packaging error

    [Bug] Deb packaging error

    Bug Description

    Hi ! I tried to install the Debian package (thx for it) on my Debian 11, but it's doesn't work because Debian’s dpkg package doesn’t support zstd compression. So i get that error :

    dpkg-deb: error: archive '/home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb' uses unknown compression for member 'control.tar.zst', giving up
    dpkg: error processing archive /home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb (--unpack):
     dpkg-deb --control subprocess returned error exit status 2
    Errors were encountered while processing:
     /home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    

    How to Reproduce

    sudo apt install ./AppFlowy_0.0.7_linux-amd64.deb

    Expected Behavior

    Maybe using an other compression method ?

    Operating System

    Debian 11

    AppFlowy Version(s)

    0.0.7

    documentation notes 
    opened by LaBaude32 18
  • [Bug] Blank page

    [Bug] Blank page

    Describe the bug So, I wrote notes in a page withs some highlights yesterday. Today when I opened the app, the page opened and showed the title but no content of that page was visible. There was only a blank white page there. I tried restarting the app & PC both multiple times but it is still the same! I left it open for some time too but nothing happened!

    To Reproduce Steps to reproduce the behavior:

    1. Open the app
    2. Click on the page/ or if u closed the app with that page last time, It will open from that page
    3. See error

    Expected behavior I expected the app to open with the page on which I closed the app last time with all the things which I wrote there visible to me clearly as it was written there

    Screenshots image

    Desktop

    • Windows 11
    • Edge 98
    • 0.0.2
    bug 
    opened by rishabhgusain6 17
  • [FR] Consider Flatpak release via Flathub / Flathub-Beta

    [FR] Consider Flatpak release via Flathub / Flathub-Beta

    1~3 main use cases of the proposed feature Use for most Linux distros. While AppImage and Snap are valid ways of universal package distribution on Linux, Flatpak seems to be the one that is more embraced by distributions that aren't mainline Ubuntu (although Ubuntu users can very easily add Flatpak as source, and it is more embraced by Ubuntu-based distro) and Arch-based (AUR).

    This is especially true with OS with immutable root filesystem, such as Endless OS, Fedora Silverblue/Kinoite, and soon SteamOS 3.0.

    Using Flatpak would be a good way of distributing them for most platforms, especially given that they are usually integrated with the distribution's GUI Software Centers.

    what types of users can benefit from using your proposed feature Linux users in most distributions (Ubuntu users can also easily add Flatpak source).

    Additional context Consider using Flathub-Beta while the project is still in early development.

    new feature 
    opened by bayazidbh 15
  • Push docker image to Docker Hub

    Push docker image to Docker Hub

    Fixes #344

    NOTE: For it to work, we need an admin to configure an account in Docker Hub and set the credentials in environment variables in GithUb as explained in https://docs.docker.com/ci-cd/github-actions/#set-up-a-docker-project

    opened by PabloCastellano 12
  • [Bug] No app icon on Linux

    [Bug] No app icon on Linux

    Describe the bug The application does not correctly show an icon in the app bar.

    To Reproduce Steps to reproduce the behavior:

    1. Launch the application
    2. The application bar shows the default application icon

    Expected behavior The AppFlowy icon should appear in the app bar

    Screenshots image

    Desktop (please complete the following information):

    • OS: Linux
    • Browser N/A
    • Version 0.0.2

    Additional context I believe the correct way to fix this is to create a .desktop file.

    new feature help wanted 
    opened by MikeWallaceDev 12
  • Readme.md | Replaced social media hyperlinked text with icons.

    Readme.md | Replaced social media hyperlinked text with icons.

    0-I replaced the simple Hyperlinked Website, Discord, Twitter text with with their icons. 1-This makes our readme.md file more interactive. 2-Now the user can go to appflowy social media handles with a single click on the particular social media icon, where the user want go!! 4-Any kind of improvement idea is appreciated Rich difference: image

    Thank you!!

    opened by Abubakrce19 11
  • [FR] Support Workspace Settings - name and icon

    [FR] Support Workspace Settings - name and icon

    1~3 main use cases of the proposed feature As a user, I want to rename my workspace and set another icon for it.

    what types of users can benefit from using your proposed feature All the users

    Additional context Currently, the purple icon and the name are hardcoded. We want to enable users to change them through "Settings" image There should be a new section in "Settings" called "Workspace":

    1. Keep the default as it is.
    2. The user can rename the workspace and set an emoji icon.
    3. The changes should be reflected in the left-hand sidebar after pressing the "Update" button on the "Workspace" setting page.
    new feature good first issue for devs 
    opened by annieappflowy 11
  • [Refactor] Migrate the markdown feature from Dart to Rust

    [Refactor] Migrate the markdown feature from Dart to Rust

    We support exporting a page in Markdown format in Dart. Currently, all the data processing-related functions but Markdown are developed in Rust. We would like to refactor the Markdown function from Dart to Rust. The main reason for this is that using Rust to process large files increases performance.

    Need to know Rust

    good first issue for devs 
    opened by annieappflowy 11
  • [FR] Emoji picker

    [FR] Emoji picker

    1~3 main use cases of the proposed feature While mobile OSs and Windows both have system-wide emoji pickers, most Linux systems don't. Gnome for example has one, but only for native GTK apps. Having a dedicated emoji picker (like for example the one in Discord) would make adding emojis in documents much easier.

    what types of users can benefit from using your proposed feature Any user who can't/does not want to use external emoji pickers

    Additional context Example of Discord's emoji picker image

    new feature good first issue for experienced devs help wanted 
    opened by BLKFSH 11
  • [FR] Simplify URL field UX

    [FR] Simplify URL field UX

    Description

    At the moment, clicking on a URL cell, on the edit accessory or the field in an overlay opens up a popup textfield to the bottom. It would be a lot simpler to place the textfield directly in that space like the text or number fields.

    Impact

    Users who place links in the database.

    Additional Context

    No response

    opened by richardshiue 0
  • Tab for lists

    Tab for lists

    Discussed in https://github.com/AppFlowy-IO/AppFlowy/discussions/1645

    Originally posted by Docfips January 4, 2023 Good afternoon,

    I am curious if there was anyway to be able to add the "tab" feature to subtask when using the To-Do?

    • [ ] 1 here
      • [ ] 2 here
shortcuts 
opened by annieappflowy 0
  • [Bug] Editor toolbar glitch

    [Bug] Editor toolbar glitch

    Bug Description

    Sometimes the toolbar will have a glitch and show all the options as selected. See recording below

    How to Reproduce

    Reproducible based on the difference in block width.

    I am holding down the left mouse button from the bottom line and then dragging as shown in the recording below

    Expected Behavior

    This shouldn't happen

    Operating System

    Fedora Linux 36

    AppFlowy Version(s)

    0.0.9

    Screenshots

    https://user-images.githubusercontent.com/71320345/211159258-1d52b0fc-2160-496a-9bca-70f28ae000a2.mp4

    Additional Context

    No response

    bug editor 
    opened by richardshiue 0
  • [FR] Make behavior of deleting currently-viewed page consistent

    [FR] Make behavior of deleting currently-viewed page consistent

    Description

    When the currently-viewed page is deleted, there are two possible behaviors. For documents, a banner appears at the top of the page indicating that the document has been moved to the trash. For database-related views, (i.e. table-view and kanban board), the current page closes and replaced by last previously opened page. It would be better if we chose one and roll with it for all views.

    Impact

    All users

    Additional Context

    No response

    notes 
    opened by richardshiue 1
  • Releases(0.0.9)
    Chance Dart is a free Open Source project that lets you create random strings, integers, and other things to help with tiresome tasks, especially when building automated tests or wherever else you require anything random.

    Chance Dart Random generator helper for Dart Homepage • Documentation Overview Chance Dart is a free Open Source project that lets you create random s

    Ayotomide 55 Dec 27, 2022
    Portarius is a free, open-source, cross-platform mobile application that allows you to manage your Portainer sessions.

    Portarius [Latin: Porta/Door Arius/Keeper] Features User management See running/stopped containers (and also start/stop and restart them) See containe

    Zbe 54 Jan 7, 2023
    Starter project for Flutter plugins willing to access native and synchronous rust code using FFI

    Flutter Rust FFI Template This project is a Flutter Plugin template. It provides out-of-the box support for cross-compiling native Rust code for all a

    Jør∂¡ 561 Dec 7, 2022
    Ruqe brings the convenient types and methods found in Rust into Dart, such as the Result, Option, pattern-matching, etc.

    ruqe Ruqe brings the convenient types and methods found in Rust into Dart, such as the Result, Option, pattern-matching, etc. Additionally, the librar

    Alexander Nitiola 12 Dec 28, 2022
    🦀🦀 High performance Crypto library of Rust implementation for Flutter

    r_crypto Rust backend support crypto flutter library, much faster than Dart-implementation library, light-weight library. Some crypto support hardware

    Tino 28 Dec 17, 2022
    LanChat fluter + rust demo

    LanChat Flutter + Rust demo showcasing how simple the integration is! Usage ./run It requires cargo and flutter correctly configured. Info Simple exam

    null 11 Oct 31, 2022
    Data Migrator - provide a universal translator for data by being portable, diverse, and efficient in migrating and converting data across discrete schemas

    Data Migrator - provide a universal translator for data by being portable, diverse, and efficient in migrating and converting data across discrete schemas

    Tanner Meade 77 Jan 2, 2023
    Open source Flutter-based GUI application that enables you to interact with Amphitheatre

    Amphitheatre Desktop Amphitheatre Desktop is an open source Flutter-based application that enables you to interact with Amphitheatre using a GUI inste

    Amphitheatre 17 Dec 16, 2022
    This is a simple open source project where you can easily contribute by uploading algorithms that are not specified in the list.

    Support this project by giving it a thumbs up! AlgoBook A new Flutter application for algorithms. This app is mainly to refer to the algorithms that a

    Gloria Thomas 18 Jul 23, 2022
    This demo shows how you can open an expansion tile while closing an already open expansion tile.

    Expansion Tile Open/Close Demo This demo shows you how to open an expansion tile while simultaneously closing an already open tile while maintaining a

    Trey Thomas 3 Oct 21, 2022
    Totally *legal* Instagram automation, crosses your user follower/following data to find who you follow, but doesnt follow you

    untruth-instagram-followers Totally *legal* Instagram automation. Crosses a user follower/following data to find who he follows, but that doesn't foll

    Olha o Robô 3 Oct 12, 2022
    An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter

    GitTouch An open-source app for GitHub, GitLab, Bitbucket, Gitea and Gitee(码云), built with Flutter Installation Click badges above to install it from

    GitTouch 1.3k Dec 28, 2022
    An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter

    GitTouch An open-source app for GitHub, GitLab, Bitbucket, Gitea and Gitee(码云), built with Flutter Installation Click badges above to install it from

    GitTouch 1.3k Jan 4, 2023
    Open-source And Fully Functional Digital Signature App Built With Flutter

    Open-source and fully functional digital signature app "E-Gol" ?? Don't forget to star ⭐ the repo if you like what I have created ?? . ?? ScreenShots

    Ruslan Hasanov 14 Oct 19, 2022
    Keyviz is a free and open-source tool to visualize your keystrokes ⌨️ in real-time.

    Keyviz Keyviz is a free and open-source software to visualize your ⌨️ keystrokes in realtime! Let your audience know what handy shortcuts/keys you're

    Rahul Mula 1.9k Jan 2, 2023
    An Open Source Todo App Built with Flutter

    taskit Not Just Another Todo App. P.S: An App build to test the features of Flutter and will continue to update as the world of flutter expands along

    Bala Krishna 21 Oct 9, 2022
    Prism is a beautiful open-source wallpapers app for Android. It is built with Dart on top of Google's Flutter Framework.

    Prism Prism is a beautiful open-source wallpapers app for Android. It is built with Dart on top of Google's Flutter Framework. Prism brings you exclus

    Hash Studios 473 Dec 31, 2022
    Free & Open-Source To-Do App. Built Using Flutter

    TaskFlow ⭐️ Free & Open Source To-Do App ⭐️ Features The whole app is FREE, you can add unlimited number of tasks and there are NO ADS. The app is FAS

    Imira Randeniya 4 Sep 11, 2022
    It's an open source project for the steps tracking (Pedometer) built with Flutter.

    Flutter Steps Tracker It's an open source project for the steps tracking (Pedometer) built with Flutter and integrated with Firebase as the initial ba

    Tarek Alabd 56 Nov 5, 2022