A flutter todo/task listing example app with advance state management using `Momentum` library.

Overview

Pub Version


A flutter todo/task listing example app with advanced state management using Momentum library. Simple on the outside but powerful in the inside. This app has a very simple look and feel. Just todo app but the state management with momentum makes it very powerful. This turned out as a convenient app because of persistent state + persistent navigation (continue where you left off).

  • Persistent State - all state is persisted on the device. If you terminate the app and open it again, the states are retained including user inputs.
  • Persistent Navigation - navigation between pages is persisted using momentum's powerful built-in router service. If you terminate the app and open it again, the page where you left off will be shown, and pressing the system back button navigates you to the correct previous page means navigation history is also persisted.
  • Equatable - skip rebuilds if nothing actually changes. Theming is also optimized with the help of equatable.
  • Undo/Redo - undo/redo all inputs.
  • Create Copy - create a copy of a list.
  • Edit/Delete - in view mode, you can edit or delete a list.
  • Reorderable lists - both lists and input items can be reordered.
  • Search - simple search feature on the home page.
  • App settings - app options that are easily saved using momentum's persistent feature.
  • Draft inputs - when the back button is pressed the inputs will be saved as a draft.

Components

  • CurrentListController<CurrentListModel> - this is where the current list state is being stored. This is used in the View List page.
  • ListController<ListModel> - this is where the list data is validated for duplicates during adding of list, search list, Home page will display all list created, etc.
  • InputController<InputModel> - used in Add New List page and the Edit Existing List. The inputs are handled and validated in this component. Undo/Redo feature is also handled here.
  • SettingsController<SettingsModel> - used in Settings page and also in some other pages to auto-apply settings.
  • ThemeController<ThemeModel> - this is where custom manual theming is handled. Because I'm not too familiar with flutter's theme object structure and props name I decided to do it manually. This is used on every page. This is only injected in the root MyApp() to automatically apply the theme instead of restarting the app.

Gallery

In this image the process was like this:

  • Open the app (Home Page).
  • Go to Add New List page.
  • Input some data.
  • Close and Terminate on task view.
  • Reopen the app again.

And magic happens! All the inputs were retained and not just that but also including the page where you left off. Navigation history is also persisted which means pressing the system back button will navigate you to the correct previous page.

persistent preview

dark mode

You might also like...

A weather app with a minimalist design using the flutter_bloc library for state management.

weather_bloc_app_v2 A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you star

Jul 9, 2022

Neo ToDo - Beautiful neumorphism style todo list

 Neo ToDo - Beautiful neumorphism style todo list

Neo ToDo - Beautiful neumorphism style todo list • Neomorphism style. • Categories of tasks. • Beautiful animations. • Dark theme. • Font Awesome icon

Apr 30, 2022

Amazing task management application with fluid, minimal and modern UI using Flutter! One of The Winner Apps for Google DevFest 2021!

Amazing task management application with fluid, minimal and modern UI using Flutter! One of The Winner Apps for Google DevFest 2021!

Orb "Let your task orbit!" 🪐 Description Orb is an easy-to-use task manager app that help you manage your daily struggles to get your things done eff

Oct 28, 2022

Task management app with flutter, firebase firestore, and firebase auth

to_do_list A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Mar 3, 2022

ProTasks, a collaborative task management app

ProTasks This is the public repository for ProTasks, a collaborative task management app that I created. You can get the app from here Highlighted Too

Jan 3, 2023

task management app by fullstack school

task_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Oct 16, 2021

A playground for me to learn the Riverpod state management library in Flutter.

clothes_shop A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Oct 25, 2021

An example of how to mock state for testing widgets when using riverpod StateNotifierProvider

Testing Riverpod StateNotifierProvider An example of how to mock state for testing widgets when using riverpod StateNotifierProvider. These tests work

Dec 13, 2022

BMI Calculator Flutter App with State Management

BMI Calculator Flutter App with State Management

BMI Calculator 💪 Our Goal The objective of this tutorial is to look at how we can customise Flutter Widgets to achieve our own beautiful user interfa

Dec 13, 2022
Owner
xamantra
Traveling to Hanamura
xamantra
Todo app - an application maintaining user's todo list. Made to learn state management

todo_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Lokesh Ghule 1 Mar 15, 2022
Metask is an intuitive tool for project management and task management.

Metask is an intuitive tool for project management and task management. It is ideal for your personal organization, but also for efficient teams.

Nijat Namazzade 11 Nov 5, 2022
Real estate listing app

Dufuna Real estate listing app Run Locally Clone the project

Stanley Akpama 8 Oct 31, 2022
An open source task manager (todo list) app, developed using Dart language and Flutter framework.

Tasker An open source task manager (todo list) app, developed using Dart language and Flutter framework. Screenrecords     Screenshots                

Erfan Rahmati 42 Dec 29, 2022
Flutter-task-planner-app - A beautiful task planner app design made in flutter.

Flutter Task Planner App Design Task Planner App is built with flutter. App design is based on Task Planner App designed by Purrweb UI. This app is st

Sourav Kumar Suman 692 Jan 2, 2023
Todo Flutter application with sqflite as a local database and bloc state management.

Todo App A Flutter application developed to add todo tasks and handles it I used Sqflite as a local database to store all the tasks I used flutter_sli

Muhhamed Sallam 14 Oct 17, 2022
Todo-App - Flutter Todo App using Bloc, Sqflite, and shared preferences

Todo App A new Flutter application. Getting Started Flutter application using Bl

Haitham Ahmed 11 Nov 8, 2022
Utility Manager Flutter Application is made with Flutter and Supabase which allows user to add task, set remainder to the task, set color to separate tasks and it allows to add URL with URL's informations.

Utility Manager Flutter Application! Utility Manager Flutter Application is made with Flutter and Supabase which allows user to add task, set remainde

Kathirvel Chandrasekaran 6 Jan 6, 2022
Bigo-task - task recieved from bigosoft.co.uk

bigo_task A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Mubashar Ali 0 Jan 1, 2022
App for Shop Management and State Management Learning

?? E-Commerce ?? App for Shop Management and State Management Learning ?? Links ?? ?? Repo · ?? Got Issue ?? Features Authentication System Using Fire

Rohit Jain 2 Jul 19, 2022