Search packages, repositories and app categories

GitHub repositoryaleksanderwozniak/deer

Deer

Minimalist Flutter Todo App, built using BLoC pattern

Deer project cover
Stars
459
Forks
104
Last push (UTC)
Nov 11, 2020
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

Deer

Minimalist Todo Planner app built around the idea of efficiency and clean aesthetic.

Showcase

Get it on Google Play

Development

Deer uses BLoC (Business Logic Component) pattern to manage app state. If you want to use Streams in your Flutter project, then I think this is the way to go. BLoC plays exceptionally well with Flutter's reactive nature, especially since Flutter has built-in StreamBuilder widget.

Each screen is splitted into 4 files:

  • actions
  • bloc
  • screen (UI itself)
  • state

Instead of calling setState() in screen file, an action is pushed to bloc's input Stream<Action>. Then, bloc resolves that action and updates the output Stream<State>. Every state update is listened to inside screen with StreamBuilder, which updates the UI when needed. This way we achieve clear separation of concerns.

Usually with BLoC, Sink is used for input Stream, and BehaviorSubject for output Stream.

Check those resources for more details on the pattern:

  • https://youtu.be/PLHln7wHgPE
  • https://youtu.be/RS36gBEp8OI
Using built_value
flutter packages pub run build_runner build --delete-conflicting-outputs
Aleksander Woźniak GitHub avatar
GitHub author

Aleksander Woźniak ↗

Flutter and Kotlin enthusiast

LanguagesDartKotlinObjective-C

Categories

Flutter dependencies

Dependencies used

Dependency list 19 items

App categories

Rankings

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗