This is App with Auth Function like Login and Register. All API using reqres.in.
This app also implementing Flutter Clean Architecture with TDD.
demo.mp4
Technology | Recommended Version | Installation Guide |
---|---|---|
Flutter | v3.0.4 | Flutter Official Docs |
Dart | v2.17.5 | Installed automatically with Flutter |
- Clone this project
- Run
flutter pub get
- Run
flutter gen-l10n
to generate localization files - Run
flutter pub run build_runner build --delete-conflicting-outputs
to generate freezes files - Run
flutter run --flavor stg -t lib/main_stg.dart
for staging or - Run
flutter run --flavor prd -t lib/main_prd.dart
for production - Run Test
flutter test
- To generate launcher icon based on Flavor
flutter pub run flutter_launcher_icons:main -f flutter_launcher_icons*
- To generate mock class
flutter 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
- Implement Go Router
Architecture Proposal by Resocoder
lib/
โโโ config.dart
โโโ core
โย ย โโโ app_route.dart
โย ย โโโ core.dart
โย ย โโโ core_mapper.dart
โย ย โโโ error
โย ย โย ย โโโ error.dart
โย ย โย ย โโโ exceptions.dart
โย ย โย ย โโโ failure.dart
โย ย โโโ localization
โย ย โย ย โโโ generated
โย ย โย ย โย ย โโโ strings.dart
โย ย โย ย โย ย โโโ strings_en.dart
โย ย โย ย โย ย โโโ strings_id.dart
โย ย โย ย โโโ intl_en.arb
โย ย โย ย โโโ intl_id.arb
โย ย โย ย โโโ l10n.dart
โย ย โย ย โโโ localization.dart
โย ย โโโ network
โย ย โย ย โโโ dio_client.dart
โย ย โย ย โโโ dio_interceptor.dart
โย ย โย ย โโโ list_api.dart
โย ย โย ย โโโ network.dart
โย ย โโโ resources
โย ย โย ย โโโ dimens.dart
โย ย โย ย โโโ images.dart
โย ย โย ย โโโ palette.dart
โย ย โย ย โโโ resources.dart
โย ย โย ย โโโ styles.dart
โย ย โโโ usecase
โย ย โย ย โโโ usecase.dart
โย ย โโโ widgets
โย ย โโโ button.dart
โย ย โโโ button_notification.dart
โย ย โโโ button_text.dart
โย ย โโโ circle_image.dart
โย ย โโโ color_loaders.dart
โย ย โโโ drop_down.dart
โย ย โโโ empty.dart
โย ย โโโ loading.dart
โย ย โโโ my_appbar.dart
โย ย โโโ parent.dart
โย ย โโโ spacer_h.dart
โย ย โโโ spacer_v.dart
โย ย โโโ text_f.dart
โย ย โโโ toast.dart
โย ย โโโ widgets.dart
โโโ dependencies_injection.dart
โโโ features
โย ย โโโ auth
โย ย โย ย โโโ auth.dart
โย ย โย ย โโโ data
โย ย โย ย โย ย โโโ data.dart
โย ย โย ย โย ย โโโ datasources
โย ย โย ย โย ย โย ย โโโ auth_remote_datasources.dart
โย ย โย ย โย ย โย ย โโโ datasources.dart
โย ย โย ย โย ย โโโ models
โย ย โย ย โย ย โย ย โโโ login_response.dart
โย ย โย ย โย ย โย ย โโโ models.dart
โย ย โย ย โย ย โย ย โโโ register_response.dart
โย ย โย ย โย ย โโโ repositories
โย ย โย ย โย ย โโโ auth_repository_impl.dart
โย ย โย ย โย ย โโโ repositories.dart
โย ย โย ย โโโ domain
โย ย โย ย โย ย โโโ domain.dart
โย ย โย ย โย ย โโโ entities
โย ย โย ย โย ย โย ย โโโ entities.dart
โย ย โย ย โย ย โย ย โโโ login.dart
โย ย โย ย โย ย โย ย โโโ register.dart
โย ย โย ย โย ย โโโ repositories
โย ย โย ย โย ย โย ย โโโ auth_repository.dart
โย ย โย ย โย ย โย ย โโโ repositories.dart
โย ย โย ย โย ย โโโ usecases
โย ย โย ย โย ย โโโ post_login.dart
โย ย โย ย โย ย โโโ post_register.dart
โย ย โย ย โย ย โโโ usecases.dart
โย ย โย ย โโโ presentation
โย ย โย ย โโโ login
โย ย โย ย โย ย โโโ cubit
โย ย โย ย โย ย โย ย โโโ auth_cubit.dart
โย ย โย ย โย ย โย ย โโโ auth_state.dart
โย ย โย ย โย ย โย ย โโโ cubit.dart
โย ย โย ย โย ย โโโ login.dart
โย ย โย ย โย ย โโโ login_page.dart
โย ย โย ย โโโ presentation.dart
โย ย โย ย โโโ register
โย ย โย ย โโโ cubit
โย ย โย ย โย ย โโโ cubit.dart
โย ย โย ย โย ย โโโ register_cubit.dart
โย ย โย ย โย ย โโโ register_state.dart
โย ย โย ย โโโ register.dart
โย ย โย ย โโโ register_page.dart
โย ย โโโ features.dart
โย ย โโโ general
โย ย โย ย โโโ general.dart
โย ย โย ย โโโ presentation
โย ย โย ย โโโ main
โย ย โย ย โย ย โโโ main.dart
โย ย โย ย โย ย โโโ main_page.dart
โย ย โย ย โย ย โโโ menu_drawer.dart
โย ย โย ย โโโ presentation.dart
โย ย โย ย โโโ settings
โย ย โย ย โย ย โโโ cubit
โย ย โย ย โย ย โย ย โโโ cubit.dart
โย ย โย ย โย ย โย ย โโโ settings_cubit.dart
โย ย โย ย โย ย โโโ settings.dart
โย ย โย ย โย ย โโโ settings_page.dart
โย ย โย ย โโโ splashscreen
โย ย โย ย โโโ splash_screen_page.dart
โย ย โย ย โโโ splashscreen.dart
โย ย โโโ users
โย ย โโโ data
โย ย โย ย โโโ data.dart
โย ย โย ย โโโ datasources
โย ย โย ย โย ย โโโ datasources.dart
โย ย โย ย โย ย โโโ user_remote_datasources.dart
โย ย โย ย โโโ models
โย ย โย ย โย ย โโโ models.dart
โย ย โย ย โย ย โโโ users_response.dart
โย ย โย ย โโโ repositories
โย ย โย ย โโโ repositories.dart
โย ย โย ย โโโ users_repository_impl.dart
โย ย โโโ domain
โย ย โย ย โโโ domain.dart
โย ย โย ย โโโ entities
โย ย โย ย โย ย โโโ entities.dart
โย ย โย ย โย ย โโโ users.dart
โย ย โย ย โโโ repositories
โย ย โย ย โย ย โโโ repositories.dart
โย ย โย ย โย ย โโโ users_repository.dart
โย ย โย ย โโโ usecases
โย ย โย ย โโโ get_users.dart
โย ย โย ย โโโ usecases.dart
โย ย โโโ presentation
โย ย โย ย โโโ dashboard
โย ย โย ย โย ย โโโ cubit
โย ย โย ย โย ย โย ย โโโ cubit.dart
โย ย โย ย โย ย โย ย โโโ users_cubit.dart
โย ย โย ย โย ย โย ย โโโ users_state.dart
โย ย โย ย โย ย โโโ dashboard.dart
โย ย โย ย โย ย โโโ dashboard_page.dart
โย ย โย ย โย ย โโโ dashboard_success.dart
โย ย โย ย โโโ presentation.dart
โย ย โโโ users.dart
โโโ main_prd.dart
โโโ main_stg.dart
โโโ my_app.dart
โโโ utils
โโโ ext
โย ย โโโ context.dart
โย ย โโโ ext.dart
โย ย โโโ string.dart
โโโ helper
โย ย โโโ common.dart
โย ย โโโ constant.dart
โย ย โโโ data_helper.dart
โย ย โโโ go_router_refresh_stream.dart
โย ย โโโ helper.dart
โย ย โโโ pref_manager.dart
โโโ services
โย ย โโโ firebase_services.dart
โย ย โโโ services.dart
โโโ utils.dart
test/
โโโ features
โย ย โโโ auth
โย ย โย ย โโโ data
โย ย โย ย โย ย โโโ datasources
โย ย โย ย โย ย โย ย โโโ models
โย ย โย ย โย ย โย ย โย ย โโโ login_response_test.dart
โย ย โย ย โย ย โย ย โย ย โโโ register_response_test.dart
โย ย โย ย โย ย โย ย โโโ repositories
โย ย โย ย โย ย โย ย โโโ auth_remote_datasources_test.dart
โย ย โย ย โย ย โโโ repositories
โย ย โย ย โย ย โโโ auth_repository_impl_test.dart
โย ย โย ย โโโ domain
โย ย โย ย โย ย โโโ usecases
โย ย โย ย โย ย โโโ post_login_test.dart
โย ย โย ย โย ย โโโ post_register_test.dart
โย ย โย ย โโโ presentation
โย ย โย ย โโโ login
โย ย โย ย โย ย โโโ cubit
โย ย โย ย โย ย โย ย โโโ auth_cubit_test.dart
โย ย โย ย โย ย โย ย โโโ auth_cubit_test.mocks.dart
โย ย โย ย โย ย โย ย โโโ auth_state_test.dart
โย ย โย ย โย ย โโโ login_page_test.dart
โย ย โย ย โโโ register
โย ย โย ย โโโ cubit
โย ย โย ย โย ย โโโ register_cubit_test.dart
โย ย โย ย โย ย โโโ register_cubit_test.mocks.dart
โย ย โย ย โย ย โโโ register_state_test.dart
โย ย โย ย โโโ register_page_test.dart
โย ย โโโ general
โย ย โย ย โโโ presentation
โย ย โย ย โโโ settings
โย ย โย ย โโโ cubit
โย ย โย ย โย ย โโโ settings_cubit_test.dart
โย ย โย ย โโโ settings_page_test.dart
โย ย โโโ users
โย ย โโโ data
โย ย โย ย โโโ datasources
โย ย โย ย โย ย โโโ models
โย ย โย ย โย ย โย ย โโโ users_response_test.dart
โย ย โย ย โย ย โโโ repositories
โย ย โย ย โย ย โโโ users_remote_datasources_test.dart
โย ย โย ย โโโ repositories
โย ย โย ย โโโ users_repository_impl_test.dart
โย ย โโโ domain
โย ย โย ย โโโ usecases
โย ย โย ย โโโ get_users_test.dart
โย ย โโโ presentation
โย ย โโโ dashboard
โย ย โโโ cubit
โย ย โย ย โโโ users_cubit_test.dart
โย ย โย ย โโโ users_cubit_test.mocks.dart
โย ย โย ย โโโ users_state_test.dart
โย ย โโโ dashboard_page_test.dart
โโโ helpers
โโโ data_dummy
โย ย โโโ list_user_empty_response.json
โย ย โโโ list_user_response.json
โย ย โโโ login_success_response.json
โย ย โโโ login_unsuccessful_response.json
โย ย โโโ register_success_response.json
โย ย โโโ register_unsuccessful_response.json
โโโ json_reader.dart
โโโ paths.dart
โโโ test_mock.dart
โโโ test_mock.mocks.dart