This app has Auth Functions like Login, Register, and Show pagination data.
The API using apimock from lazycatlabs.
This app also implementing Flutter Clean Architecture with TDD.
maestro-record.mp4
Technology | Recommended Version | Installation Guide |
---|---|---|
Flutter | v3.24.x | Flutter Official Docs |
Dart | v3.5.x | Installed automatically with Flutter |
- Clone this project
flutter pub get
- Run to generate localization files
flutter gen-l10n
- Run to generate freezes files
flutter pub run build_runner build --delete-conflicting-outputs
- Run for staging or
flutter run --flavor stg -t lib/main.dart --dart-define-from-file .env.stg.json
- Run for production
flutter run --flavor prd -t lib/main.dart --dart-define-from-file .env.prd.json
- Test Coverage, we ignore some folders and files which is not necessary to test coverage because it are generated file
- Note: on macOS, you need to have lcov installed on your system (
brew install lcov
) to use this:
flutter test -j8 --coverage;lcov --remove coverage/lcov.info 'lib/core/localization/generated/' 'lib/core/resources/*' 'lib/utils/services/firebase/*' '**/*.g.dart' -o coverage/new_lcov.info ;genhtml coverage/new_lcov.info -o coverage/html
- To generate a launcher icon based on Flavor
dart run flutter_launcher_icons
- To generate native splash screen
dart run flutter_native_splash:create --flavors stg,prd
- To generate mock class
dart pub run build_runner build
- BLoC State Management
- Clean Architecture with TDD
- Unit Test
- Widget Test
- BLoC test
- Theme Configuration:
System, Light, Dark
- Multi-Language:
English, Bahasa
- Login, Register Example
- Pagination Example
- Autofill Username and Password
- Integration Test
- Implement multi-flavor
- Auto routing based on login status
- Implement Go Router
- Login with Biometric / FaceID
- Install Maestro on your machine Maestro
- Run this command to run the test
maestro test maestro-stg/main.yaml #or maestro test maestro-prd/main.yaml