flutter_template
A Flutter template application showcasing - Clean architecture, Responsive design, State management, Decoupled widgets using the connector pattern, Dependency Injection, Widget, Unit, Golden and E2E testing, Navigation, Localization, Material 3 dynamic theming, Continuous Integration and Continuous Deployment.
File Explorer
Download Latest Version (.zip)- cd.yml
- ci.yml
- e2e.yml
- update_goldens.yml
- pull_request_template.md
- dev.xml
- dev_profile.xml
- prod.xml
- prod_profile.xml
- prod_release.xml
- qa.xml
- qa_profile.xml
- qa_release.xml
- launch.json
- MainActivityTest.java
- AndroidManifest.xml
- MainActivity.kt
- ic_flutter_template_github.xml
- launch_background.xml
- launch_background.xml
- ic_launcher.png
- ic_launcher.png
- ic_launcher.png
- ic_launcher.png
- ic_launcher.png
- styles.xml
- styles.xml
- AndroidManifest.xml
- AndroidManifest.xml
- build.gradle
- gradle-wrapper.properties
- .gitignore
- build.gradle
- gradle.properties
- settings.gradle
- OFL.txt
- OpenSans-Bold.ttf
- OpenSans-ExtraBold.ttf
- OpenSans-Light.ttf
- OpenSans-Medium.ttf
- OpenSans-Regular.ttf
- OpenSans-SemiBold.ttf
- en-US.json
- hi-IN.json
- pre_populated_cities.sqlite
- {{name.snakeCase()}}_page_body.dart
- {{name.snakeCase()}}_page_body_content.dart
- {{name.snakeCase()}}_page.dart
- {{name.snakeCase()}}_screen.dart
- {{name.snakeCase()}}_screen_intent.dart
- {{name.snakeCase()}}_screen_state.dart
- {{name.snakeCase()}}_view_model.dart
- {{name.snakeCase()}}_view_model_impl.dart
- .gitignore
- post_gen.dart
- pubspec.yaml
- brick.yaml
- CHANGELOG.md
- LICENSE
- README.md
- app_setup.dart
- favorites_test.dart
- language_test.dart
- test_actions.dart
- test_bundle.dart
- AppFrameworkInfo.plist
- Debug-dev.xcconfig
- Debug-prod.xcconfig
- Debug-qa.xcconfig
- Release-dev.xcconfig
- Release-prod.xcconfig
- Release-qa.xcconfig
- Contents.json
- Icon-App-1024x1024@1x.png
- Icon-App-20x20@1x.png
- Icon-App-20x20@2x.png
- Icon-App-20x20@3x.png
- Icon-App-29x29@1x.png
- Icon-App-29x29@2x.png
- Icon-App-29x29@3x.png
- Icon-App-40x40@1x.png
- Icon-App-40x40@2x.png
- Icon-App-40x40@3x.png
- Icon-App-60x60@2x.png
- Icon-App-60x60@3x.png
- Icon-App-76x76@1x.png
- Icon-App-76x76@2x.png
- Icon-App-83.5x83.5@2x.png
- Contents.json
- flutter_template_github@1x.png
- flutter_template_github@2x.png
- flutter_template_github@3x.png
- README.md
- Contents.json
- LaunchScreen.storyboard
- Main.storyboard
- AppDelegate.swift
- Info.plist
- Runner-Bridging-Header.h
- IDEWorkspaceChecks.plist
- WorkspaceSettings.xcsettings
- contents.xcworkspacedata
- dev.xcscheme
- prod.xcscheme
- qa.xcscheme
- project.pbxproj
- IDEWorkspaceChecks.plist
- WorkspaceSettings.xcsettings
- contents.xcworkspacedata
- RunnerUITests.m
- .gitignore
- Podfile
- result.dart
- unknown_object_thrown_exception.dart
- base_async_use_case.dart
- base_stream_use_case.dart
- base_unsafe_use_case.dart
- base_use_case.dart
- date_in_millis_use_case.dart
- date_in_millis_use_case_impl.dart
- format_date_use_case.dart
- format_date_use_case_impl.dart
- domain_module.dart
- date.dart
- date_time.dart
- time.dart
- preference_keys.dart
- theme_mode.dart
- city.dart
- day_weather.dart
- weather.dart
- get_is_dynamic_theme_enabled.dart
- get_is_dynamic_theme_enabled_impl.dart
- get_theme_mode_use_case.dart
- get_theme_mode_use_case_impl.dart
- set_is_dynamic_theme_enabled.dart
- set_is_dynamic_theme_enabled_impl.dart
- set_theme_mode_use_case.dart
- set_theme_mode_use_case_impl.dart
- fetch_favorite_cities_weather_use_case.dart
- fetch_favorite_cities_weather_use_case_impl.dart
- get_favorite_cities_stream_use_case.dart
- get_favorite_cities_stream_use_case_impl.dart
- get_favorite_cities_weather_stream_use_case.dart
- get_favorite_cities_weather_stream_use_case_impl.dart
- remove_favorite_city_use_case.dart
- remove_favorite_city_use_case_impl.dart
- search_cities_use_case.dart
- search_cities_use_case_impl.dart
- set_city_favorite_use_case.dart
- set_city_favorite_use_case_impl.dart
- flavor.dart
- flavor_config.dart
- flavor_values.dart
- context_ext.dart
- dotenv_ext.dart
- object_ext.dart
- string_ext.dart
- theme_ext.dart
- logger.dart
- mapper.dart
- mapper2.dart
- mapper3.dart
- global_type_alias.dart
- unit.dart
- interactor_module.dart
- theme_interactor.dart
- theme_interactor_impl.dart
- theme_mode_mapper.dart
- favorite_weather_interactor.dart
- favorite_weather_interactor_impl.dart
- ui_weather_list_mapper.dart
- city_search_result_mapper.dart
- search_city_interactor.dart
- search_city_interactor_impl.dart
- ui_city_mapper.dart
- app_router.dart
- base_navigator.dart
- base_navigator_impl.dart
- routes.dart
- navigation_module.dart
- home_navigator.dart
- home_navigator_impl.dart
- search_navigator.dart
- search_navigator_impl.dart
- renderer_not_registered_exception.dart
- unhandled_effect_exception.dart
- intent_handler.dart
- intent_handler_callback.dart
- base_page.dart
- list_item_renderer.dart
- color_palette.dart
- card_theme_data.dart
- snackbar_theme_data.dart
- template_app_theme_data.dart
- text_theme.dart
- theme_intent.dart
- theme_state.dart
- theme_view_model.dart
- theme_view_model_impl.dart
- base_view_model.dart
- view_model_provider.dart
- view_model_provider_ext.dart
- app_bar_back_button.dart
- app_bar_title.dart
- ui_list.dart
- responsive_builder.dart
- responsive_screen_type_builder.dart
- scaffold_body_with_loading_indicator.dart
- snackbar.dart
- dynamic_theme_switch.dart
- dynamic_theme_switch_content.dart
- theme_picker.dart
- theme_picker_content.dart
- theme_listener.dart
- home_page_body.dart
- home_page_body_content.dart
- ui_day_weather_heading_list_item.dart
- ui_day_weather_heading_renderer.dart
- ui_weather_list_item.dart
- ui_weather_renderer.dart
- home_page.dart
- home_screen.dart
- home_screen_intent.dart
- home_screen_state.dart
- home_view_model.dart
- home_view_model_impl.dart
- ui_city_list_item.dart
- ui_city_renderer.dart
- search_page_body.dart
- search_page_body_content.dart
- search_page_loading_shimmer.dart
- search_page_results.dart
- search_page_results_content.dart
- search_page.dart
- search_screen.dart
- search_screen_intent.dart
- search_screen_state.dart
- search_view_model.dart
- search_view_model_impl.dart
- presentation_module.dart
- responsive_breakpoints.dart
- screen_type.dart
- ui_list_item.dart
- ui_toolbar.dart
- effect.dart
- intent.dart
- routes.dart
- screen.dart
- screen_state.dart
- ui_city.dart
- ui_day_weather_heading.dart
- ui_weather.dart
- translation_keys.dart
- translation_loader.dart
- translations.dart
- template_app.dart
- date_mapper.dart
- date_repository.dart
- date_repository_impl.dart
- date_time_mapper.dart
- time_mapper.dart
- repository_module.dart
- preferences_repository.dart
- preferences_repository_impl.dart
- theme_repository.dart
- theme_repository_impl.dart
- domain_city_mapper.dart
- domain_weather_mapper.dart
- local_city_mapper.dart
- local_weather_mapper.dart
- weather_repository.dart
- weather_repository_impl.dart
- connection.dart
- mobile.dart
- unsupported.dart
- web.dart
- foreign_key_helper.dart
- app_database.dart
- migrations.dart
- dio_provider.dart
- open_weather_api_key_interceptor.dart
- json_date_time_converter.dart
- service_module.dart
- local_current_weather.dart
- remote_current_weather.dart
- remote_current_weather_clouds.dart
- remote_current_weather_coord.dart
- remote_current_weather_main.dart
- remote_current_weather_sys.dart
- remote_current_weather_weather.dart
- remote_current_weather_wind.dart
- local_location.dart
- remote_location.dart
- preferences_service.dart
- preferences_service_impl.dart
- fake_weather_local_service.dart
- weather_local_service.dart
- weather_local_service_impl.dart
- fake_weather_remote_service.dart
- weather_remote_service.dart
- weather_remote_service_impl.dart
- app.dart
- main.dart
- pre-commit
- build-runner.sh
- build.sh
- bump-build-number.sh
- commit-version.sh
- device-preview.sh
- generate-all.sh
- generate-translations.sh
- gh-action-read-and-set-version-env.sh
- install_certs.sh
- README.md
- run.sh
- set-flavor-and-apk-path-to-env.sh
- setup-hooks.sh
- get_favorite_cities_stream_use_case_impl_test.dart
- set_city_favorite_use_case_impl_test.dart
- test_exceptions.dart
- mock_extensions.dart
- stream_extensions.dart
- fake_search_view_model.dart
- mocks.dart
- test_helpers.dart
- widget_tester_ext.dart
- search_page_default_state.iphone11.png
- search_page_default_state.smallPhone.png
- search_page_favorite_icon.iphone11.png
- search_page_favorite_icon.smallPhone.png
- search_page_loading.iphone11.png
- search_page_loading.smallPhone.png
- search_page_no_results.iphone11.png
- search_page_no_results.smallPhone.png
- search_page_results.iphone11.png
- search_page_results.smallPhone.png
- search_page_golden_test.dart
- flutter_test_config.dart
- search_page_test.dart
- search_view_model_test.dart
- search_page_body_content_test.dart
- search_page_results_content_test.dart
- domain_city_mapper_impl_test.dart
- weather_repository_impl_test.dart
- city_models.dart
- local_city_data_models.dart
- local_weather_companion_models.dart
- remote_city_models.dart
- remote_weather_models.dart
- ui_city_models.dart
- weather_models.dart
- Icon-192.png
- Icon-512.png
- Icon-maskable-192.png
- Icon-maskable-512.png
- favicon.png
- index.html
- manifest.json
- sql-wasm.js
- sql-wasm.wasm
- .env
- .env.dev
- .env.qa
- .env.test
- .gitignore
- .metadata
- analysis_options.yaml
- build.yaml
- dart_test.yaml
- flutter_template_github.svg
- LICENSE
- mason-lock.json
- mason.yaml
- pubspec.lock
- pubspec.yaml
- README.md
- sonar-project.properties
// repository documentation
Was this content helpful?
(0 ratings)
