This is a flutter mini-project initially built as a tech demo This flutter app covers alot of flutter technologies such as:
- stateless/stateful widgets.
- proper constrained UI design that allows the app to work seamlessly on different screen sizes.
- global theme values for multiple widgets.
- streams with rxjava and
StreamBuilder
. - BloC pattern with provider and InheritedWidget.
- repository pattern with multiple sources and local caches.
- code is properly structured in dart packages.
- proper date and time formatting using Intl package.
popular technologies that are NOT implemented in this project:
- firebase.
- handling of multiple screen routing.
- custom animations.
TODO:
- implement a local cache using sqflite and use it in the
repository.dart
.