Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aleksanderwozniak/deer
Minimalist Flutter Todo App, built using BLoC pattern
https://github.com/aleksanderwozniak/deer
bloc bloc-pattern dart deer flutter flutter-bloc-pattern minimalist task todo
Last synced: 28 days ago
JSON representation
Minimalist Flutter Todo App, built using BLoC pattern
- Host: GitHub
- URL: https://github.com/aleksanderwozniak/deer
- Owner: aleksanderwozniak
- License: mit
- Created: 2018-10-26T10:19:39.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-11T16:33:35.000Z (about 4 years ago)
- Last Synced: 2024-11-07T02:03:12.774Z (about 1 month ago)
- Topics: bloc, bloc-pattern, dart, deer, flutter, flutter-bloc-pattern, minimalist, task, todo
- Language: Dart
- Homepage:
- Size: 6.81 MB
- Stars: 442
- Watchers: 16
- Forks: 105
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- fucking-open-source-ios-apps - Deer
- open-source-flutter-apps - Deer - Minimalist Todo Planner built using BLoC pattern by [Aleksander Woźniak](https://github.com/aleksanderwozniak). (Uncategorized / Uncategorized)
README
Deer
Minimalist Todo Planner app built around the idea of efficiency and clean aesthetic.## Showcase
## 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)
- stateInstead of calling `setState()` in screen file, an action is pushed to bloc's input `Stream`.
Then, bloc resolves that action and updates the output `Stream`. 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
```