https://github.com/nicosnicolaou16/sampleblocpatternanddriftwithsinglestate
This project is an application that uses the BLoC architecture pattern with a single state, Dio as the network manager, and Drift as the database solution. The database is implemented using Drift classes, without the need for a Drift file.
https://github.com/nicosnicolaou16/sampleblocpatternanddriftwithsinglestate
bloc-architecture bloc-pattern bloc-pattern-single-state dart dependency-injection dio-network-manager drift-database flutter getit
Last synced: 2 months ago
JSON representation
This project is an application that uses the BLoC architecture pattern with a single state, Dio as the network manager, and Drift as the database solution. The database is implemented using Drift classes, without the need for a Drift file.
- Host: GitHub
- URL: https://github.com/nicosnicolaou16/sampleblocpatternanddriftwithsinglestate
- Owner: NicosNicolaou16
- Created: 2023-12-01T22:16:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-23T22:20:21.000Z (6 months ago)
- Last Synced: 2025-03-23T06:41:23.601Z (3 months ago)
- Topics: bloc-architecture, bloc-pattern, bloc-pattern-single-state, dart, dependency-injection, dio-network-manager, drift-database, flutter, getit
- Language: Dart
- Homepage:
- Size: 212 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sample Bloc Pattern And Drift With Single State
This project is an application that uses the BLoC architecture pattern with a single state, Dio as
the network manager, and Drift as the database solution. The database is implemented using Drift
classes, without the need for a Drift file.> [!IMPORTANT]
> Similar project with (Drift Class) :point_right: [SampleBlocPatternWithSingleState](https://github.com/NicosNicolaou16/SampleBlocPatternWithSingleState) :point_left:# 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.
[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.
[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))
[Get It (Dependencies Injection)](https://pub.dev/packages/get_it) is a lightweight dependency
injection package for Flutter that allows you to register and access services globally, promoting
cleaner and more maintainable code.# Versioning
Flutter SDK version: 3.27.1
Dart Version: 3.6.0# References/Tutorials Follow
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://drift.simonbinder.eu/docs/getting-started/advanced_dart_tables/
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
https://pub.dev/packages/get_it# 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)