Skip to content

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.

Notifications You must be signed in to change notification settings

NicosNicolaou16/SampleBlocPatternAndDriftWithSingleState

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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) 👉 SampleBlocPatternWithSingleState 👈

The Project Contain the following technologies and libraries

Bloc Patterns using single state 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)
Dio Network Manager is responsible for making requests and retrieving data from the remote server.
Cached Network Image is a package that it is responsible for loading the images and supports offline functionality.
Drift Database is responsible for saving the retrieved data from the remote server, querying data from the local database, and supporting offline functionality. (Drift Database Documentation)
Get It (Dependencies Injection) 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)

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages