In order to run the project, you need to get an API key first from Google Books API. After you get the API key, you need to create a .env
file in the root directory and add the following line:
API_KEY=YOUR_API_KEY
This project contains 3 flavors:
- development
- staging
- production
To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:
# Development
$ flutter run --flavor development --target lib/main.dart --dart-define APP_ENV=dev
# Staging
$ flutter run --flavor staging --target lib/main.dart --dart-define APP_ENV=stage
# Production
$ flutter run --flavor production --target lib/main.dart --dart-define APP_ENV=prod
*This project is tested on iOS and Android.
- This project uses Google Books API to fetch books and display them in a list. You can search for books using the search bar and add books to your favorites list. Remove them from the list if you wish. It's created using the Very Good CLI.
- This is a project that mainly uses BLoC with clean architecture pattern.
- API tests are written using Mockito.
- dio and retrofit for network calls.
- fancy_dio_inspector for network call inspection (It's written by me and Gökhan Çavuş).
- equatable for value equality.
- flutter_bloc for state management.
- get_it and injectable for dependency injection.
- mockito for mocking.
- easy_localization for localization.
- either_dart for error handling.
- flutter_screenutil for responsive UI.
- hive_flutter for local storage.