An open API service indexing awesome lists of open source software.

https://github.com/nicosnicolaou16/sampledriftdatabasewithblocpattern

This project is an application that utilizes the BLoC architecture pattern, Dio for network management, and Drift for local database storage.
https://github.com/nicosnicolaou16/sampledriftdatabasewithblocpattern

bloc-architecture bloc-flutter bloc-pattern dart dio-network-manager drift-database flutter

Last synced: 2 months ago
JSON representation

This project is an application that utilizes the BLoC architecture pattern, Dio for network management, and Drift for local database storage.

Awesome Lists containing this project

README

        

# Sample Drift Database With Bloc Pattern

This project is an application that utilizes the BLoC architecture pattern, Dio
for network management, and Drift for local database storage.

# This Project contains:

[Bloc Patterns](https://pub.dev/packages/flutter_bloc) along with repositories
and services, separates business logic, data access, and UI by using streams to handle state and
manage data flow. ([Bloc Pattern Documentation](https://bloclibrary.dev/getting-started/))

[Dio Network Manager](https://pub.dev/packages/dio) is responsible for making requests and
retrieving data from the remote server.

[Drift Database](https://drift.simonbinder.eu/docs/getting-started/) is responsible for saving the
retrieved data from the remote server, querying data from the local database, and supporting offline
functionality. ([Drift Database Documentation](https://pub.dev/packages/drift))

[Cached Network Image](https://pub.dev/packages/cached_network_image) is a package that it is
responsible for loading the images and supports offline functionality.

> [!IMPORTANT]
> Similar project with :point_right: [SampleBlocPatternWithSingleState](https://github.com/NicosNicolaou16/SampleBlocPatternWithSingleState) :point_left:

# Versioning

Flutter SDK version: 3.27.1

Dart Version: 3.6.0

# Feeds/Urls/End Point (parsing some data from response)

## (Links References for Ends Points)

https://github.com/r-spacex/SpaceX-API (GitHub)

https://docs.spacexdata.com/?version=latest (Postman)

# References

https://bloclibrary.dev/#/gettingstarted

https://bloclibrary.dev/#/fluttertimertutorial?id=flutter-timer-tutorial

https://ppantaleon.medium.com/flutter-blocbuilder-vs-blocconsumer-vs-bloclistener-a4a3ce7bfa9a

https://stackoverflow.com/questions/59188021/why-usually-theres-a-repository-layer-on-bloc-pattern

https://stackoverflow.com/questions/73811123/how-to-stop-dio-get-when-the-internet-is-off

https://stackoverflow.com/questions/61381265/stop-showing-error-from-http-or-dio-request

https://pub.dev/packages/dio#handling-errors