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

https://github.com/nicosnicolaou16/sampleblocpatternwithsinglestate

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

bloc-architecture bloc-pattern bloc-pattern-single-state dart dio-network-manager drift-database flutter flutter-apps flutter-example

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# Sample Bloc Pattern With Single State

[![Linktree](https://img.shields.io/badge/linktree-1de9b6?style=for-the-badge&logo=linktree&logoColor=white)](https://linktr.ee/nicos_nicolaou)
[![Static Badge](https://img.shields.io/badge/Site-blue?style=for-the-badge&label=Web)](https://nicosnicolaou16.github.io/)
[![X](https://img.shields.io/badge/X-%23000000.svg?style=for-the-badge&logo=X&logoColor=white)](https://twitter.com/nicolaou_nicos)
[![LinkedIn](https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white)](https://linkedin.com/in/nicos-nicolaou-a16720aa)
[![Medium](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://medium.com/@nicosnicolaou)
[![Mastodon](https://img.shields.io/badge/-MASTODON-%232B90D9?style=for-the-badge&logo=mastodon&logoColor=white)](https://androiddev.social/@nicolaou_nicos)
[![Bluesky](https://img.shields.io/badge/Bluesky-0285FF?style=for-the-badge&logo=Bluesky&logoColor=white)](https://bsky.app/profile/nicolaounicos.bsky.social)
[![Dev.to blog](https://img.shields.io/badge/dev.to-0A0A0A?style=for-the-badge&logo=dev.to&logoColor=white)](https://dev.to/nicosnicolaou16)
[![YouTube](https://img.shields.io/badge/YouTube-%23FF0000.svg?style=for-the-badge&logo=YouTube&logoColor=white)](https://www.youtube.com/@nicosnicolaou16)
[![Static Badge](https://img.shields.io/badge/Developer_Profile-blue?style=for-the-badge&label=Google)](https://g.dev/nicolaou_nicos)

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

# The Project Contain the following technologies and libraries

[Bloc Patterns using single state](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: [SampleDriftDatabaseWithBlocPattern](https://github.com/NicosNicolaou16/SampleDriftDatabaseWithBlocPattern) :point_left:

# Versioning

Flutter SDK version: 3.38.5

Dart Version: 3.10.4

# Feeds/Urls/End Point (parsing some data from the 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/#/flutterinfinitelisttutorial

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