Flutter training project that has the main concepts of an application:
- Bloc architecture
- List/Details views
- Network Apis
- Flavors
- Localization
- Text styling
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_development.dart
# Staging
$ flutter run --flavor staging --target lib/main_staging.dart
# Production
$ flutter run --flavor production --target lib/main_production.dart
*Flutter Training works on iOS, Android, Web, and Windows.
To run all unit and widget tests use the following command:
$ flutter test --coverage --test-randomize-ordering-seed random
To view the generated coverage report you can use lcov.
# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/
# Open Coverage Report
$ open coverage/index.html
you can change it manually check this.
use the suffix Directional for paddings and alignment(that has a start instead of left and end instead of right) eg: EdgeInsetsDirectional, BorderRadiusDirectional, AlignmentDirectional,....
- https://docs.flutter.dev/get-started/codelab
- https://www.youtube.com/watch?v=THCkkQ-V1-8&t=11s
- https://bloclibrary.dev/#/fluttertodostutorial
- https://docs.flutter.dev/development/data-and-backend/json
- https://docs.flutter.dev/cookbook/design/fonts
- Very good cli for initializing the app with flavors and localization
- Advanced json to dart for generating models from json
- Dart data class for generating copyWith function
- Bloc generating bloc classes(Bloc, State, Event)
- Assets generator
- Assets autocompletion