This project showcases the implementation of Clean Architecture and Bloc presentation in a Flutter application.
- Flutter v3.7.10
- Clean Architecture
- Presentation use Bloc
Software architectural pattern: Clean Architecture
State management: flutter_bloc
REST API: Dio
Dependency injection: get_it, injectable, injectable_generator
Navigation: auto_route, auto_route_generator
Data class, json: freezed, freezed_annotation, json_annotation, json_serializable
Local Database: Isar, hive, hive_flutter
Assets generator: flutter_gen_runner
Clone the project
git clone https://github.com/kylequang/Flutter-Clean-Architecture-Bloc
Go to the project directory
cd my-project
Set up to run
flutter clean
flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs
After that Login/SignUp TMDB
1.Create API key
2.Copy and go to project
3.Create a .env file in the root of your project
4.api_key = "your_api_key"
Run with Flavor (dev | stag | prod):
flutter run --flavor dev -t lib/main_dev.dart
flutter run --flavor prod -t lib/main_prod.dart
flutter run --flavor stag -t lib/main_stag.dart
To run this project, you will need to add the following environment variables to your .env file
API_KEY
ANOTHER_API_KEY
If you have any feedback, please reach out to us at [email protected] or FB Lê Quang Kỳ
For support, email [email protected].
lib
├── gen
│ ├── assets.gen.dart
│ └── fonts.gen.dart
├── l10n
│ ├── app_en.arb
├── main.dart