Bookstore is a flutter app that uses the Google Books APIs to show users books and lets them add/remove books from their favorite list. Authetication is handled using Sign in With Google. Users favorite list is stored in Firebase Cloud Firestore
Currently the Add to favorite
& Remove from favorite
is pretty much ambigous. Pressing on the Heart
icon of book card checks if the book is already in favorites. Based on that it either removes the book from favorites or add the book in favorites. There's not much of a visual feedback to that. Only a toast is shown.
- clone the git repository
git clone https://github.com/NafiAsib/bookstore.git
- cd into the directory
cd bookstore
- install dependencies
flutter pub get
You'll need to add your google-services.json that contains your fingerprint(SHA-1) in order to Sign Up work
- run
flutter pub run flutter_native_splash:create
to generate splash screen
- run
flutter pub run flutter_launcher_icons:main
to generate app icon
This app utilizes bloc to manage states. Typical data flow is shown with diagram below:
- Data models are generated with json_serializable
- Images are show using cached_network_image
- keyboard_dismisser is used to handle unfocusing of keyboard
flutter build apk --release
- Gradients generated using FLUTTER GRADIENT GENERATOR
- Apps png icon from Get Free SVG