You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
flutter-doable/README.md

15 KiB

Logo of Doable

Doable

Follow Doable on https://floss.social/@doable Translation status License F-Droid version IzzyOnDroid version

At its core Doable is a modern and easy to use Todo app.

It features a beautiful design that follows the latest Material 3 guidelines, a simple user interface that allows you to manage your tasks with ease and last but not least a seamless integration with Nextcloud.

When you open Doable for the first time you might be mistaken to think that it lacks some features you might've been hoping for like separate lists. But fear not! Doable does indeed support such things! The are just not enabled by default. To enable lists and other amazing features check out the "Extensions" section in Doable's settings!

Doable also supports integration with Nextcloud which allows you to backup and synchronize your tasks across multiple devices or just keep a handy backup of them in case something goes wrong. Simple log in to your Nextcloud account and boom! Your Todos will now be synchronized automatically. (You can also use any other backup server that supports the WebDAV interface.)

Features

  • Design and interface

    Doable features a simple yet powerful interface in a beautiful design that closely follows Androids Material 3 guidelines.

  • Settings and customization

    You can customize many aspects of Doable including

    • How tasks will be sorted
    • The colors of the app
    • How to handle certain cases as tasks being overdue or being due today
    • ...
  • Extensions

    Doable allows you to further customize your experience by enabling certain extensions. Extensions can change the behavior of the app and allow you to user features that are not included out of the box. The current extensions consist of the following:

    • Todo search: This extension adds a search button to the overview that allows you to search for a specific Todo.
    • Lists: As the name suggests this adds list support to Doable. Want to separate your work and personal tasks? Simply create different lists for them!
    • Markdown: This is one is also fairly straight forward: Enable this extension and you will be able to use (basic) Markdown inside the title and description of your Todos!
  • Nextcloud integration

    You can log into your Nextcloud account to automatically synchronize your tasks across devices.

Introduction screen New task sheet A task being selected Detail view of a task
Introduction screen New task sheet A task being selected Detail view of a task

Installation

From a release

You can simply download the latest release apk from the releases page and install it! You might have to go into the settings and allow installing apps from an external source tho.

F-Droid

To install this app via F-Droid simply add my repository to the app and search for "Doable"!

You can find the repository here.

Build it yourself

Since this is open and free software you can also just compile the program yourself! To do that you simply need to be on the latest flutter master branch or any other branch, assuming it includes all the features used here.

You can switch the channel flutter uses with the following two commands.

flutter channel master
flutter upgrade

After that you can simply run flutter build apk to generate an apk ready to be installed on your phone.

Note

Until Dart 3 is released you need to pass the following flags to the command, otherwise the project won't compile.

--enable-experiment=records,patterns

Be careful if you choose the main branch for compiling your apk, be aware that the app name and its android id will be different from the ones you would get from the stable branch. Since I use the main as my default branch and to test my app, I changed the app name / label to "Doable DEBUG" and the id to at.flobii.doable_debug. If you want to change those, either compile from the stable branch or simply change them. Below you can find a table detailing what needs to be changed.

File: line(s) What you need to change
android/app/build.gradle: 53 at.flobii.doable_debugat.flobii.doable
android/app/src/main/AndroidManifest.xml: 1, 20 at.flobii.doable_debugat.flobii.doable, "Doable DEBUG" → "Doable"
android/app/src/debug/AndroidManifest.xml: 1 at.flobii.doable_debugat.flobii.doable
android/app/src/profile/AndroidManifest.xml: 1 at.flobii.doable_debugat.flobii.doable
android/app/src/main/kotlin/at/flobii/doable/MainActivity.kt: 1 at.flobii.doable_debugat.flobii.doable

Besides the name changes you should also consider updating the version name and code in the pubspec.yaml file, since those are also only changed on the stable branch.

Contribute

You want to contribute to Doable? Great! You don't know how you can help? Well, here are your options!

Create an issue

The simplest way to support and help Doable is by creating an issue whenever you have an idea / feature request or you want to provide feedback or maybe you've found a bug / problem!

Translating

If you speak a language Doable is not yet translated into you can help by translating it! Simply follow this link to Doable's Weblate page to find out more!

Note

Any language above 75% translation will be included in the app intern language picker!

When a language drops below that threshold it will be hidden from the intern language picker, until it is above 75% translation again.

Translation status

Translation status

Pull requests

PRs are also appreciated! If you do make one, please provide a description why this PR is necessary so that I can understand its purpose quicker! And thanks in advance for spending your time on contributing!

CONTRIBUTORS file

The CONTRIBUTORS file features a (hopefully) complete list of all the people that contributed to Doable. If you feel like you should be included you can either:

  • Open an issue
  • Make a PR
  • Write me a message on Doable's Mastodon account