├── .all-contributorsrc ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── api_sdk ├── .gitignore ├── .metadata ├── README.md ├── lib │ ├── api_constants.dart │ ├── firebase_method │ │ ├── api_handles │ │ │ └── firebase_api.dart │ │ └── auth_services │ │ │ └── firebase_auth.dart │ ├── graphql_method │ │ ├── graphql_handler.dart │ │ └── graphql_operation │ │ │ ├── mutations │ │ │ ├── add_star.dart │ │ │ ├── mutations.dart │ │ │ └── remove_star.dart │ │ │ └── queries │ │ │ └── readRepositories.dart │ ├── main.dart │ └── rest │ │ ├── api_helpers │ │ ├── api_base_helper.dart │ │ └── api_exception.dart │ │ └── rest_api_handler_data.dart ├── pubspec.lock ├── pubspec.yaml └── test │ └── widget_test.dart ├── app ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android │ ├── .gitignore │ ├── app │ │ ├── build.gradle │ │ └── src │ │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── app │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-mdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-v21 │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable-xhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-night │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ └── profile │ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ └── settings.gradle ├── assets │ └── images │ │ ├── 2.0x │ │ └── logo.png │ │ ├── 3.0x │ │ └── logo.png │ │ └── logo.png ├── ios │ ├── .gitignore │ ├── Flutter │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Podfile │ ├── Podfile.lock │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── 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 │ │ └── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── Runner-Bridging-Header.h ├── lib │ ├── main.dart │ └── src │ │ ├── app.dart │ │ ├── config │ │ ├── color_constants.dart │ │ ├── image_constants.dart │ │ ├── string_constants.dart │ │ └── theme_data.dart │ │ ├── routes │ │ └── index.dart │ │ ├── screens │ │ ├── home │ │ │ └── index.dart │ │ └── onboarding │ │ │ ├── authentication_screen.dart │ │ │ ├── login_screen.dart │ │ │ └── signup_screen.dart │ │ ├── splash_screen.dart │ │ ├── utils │ │ ├── app_state_notifier.dart │ │ └── size_utils.dart │ │ └── widgets │ │ └── cache_image_widget.dart ├── pubspec.lock ├── pubspec.yaml ├── test │ └── widget_test.dart └── web │ ├── favicon.png │ ├── icons │ ├── Icon-192.png │ ├── Icon-512.png │ ├── Icon-maskable-192.png │ └── Icon-maskable-512.png │ ├── index.html │ └── manifest.json ├── clean_project.sh ├── examples ├── book-store-firebase │ ├── .gitignore │ ├── README.md │ ├── api_sdk │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── lib │ │ │ ├── api_constants.dart │ │ │ ├── firebase_method │ │ │ │ ├── api_handles │ │ │ │ │ └── firebase_api.dart │ │ │ │ └── auth_services │ │ │ │ │ └── firebase_auth.dart │ │ │ ├── main.dart │ │ │ ├── models │ │ │ │ └── user.dart │ │ │ └── rest │ │ │ │ ├── api_helpers │ │ │ │ ├── api_base_helper.dart │ │ │ │ └── api_exception.dart │ │ │ │ └── rest_api_handler_data.dart │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ └── test │ │ │ └── widget_test.dart │ ├── app │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── android │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── app │ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── profile │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ └── gradle-wrapper.properties │ │ │ └── settings.gradle │ │ ├── assets │ │ │ ├── books │ │ │ │ ├── kafkaontheshore.jpg │ │ │ │ ├── loveisadogfromhell.jpg │ │ │ │ ├── norwegian.jpg │ │ │ │ ├── pulpfiction.jpg │ │ │ │ └── women.jpg │ │ │ └── images │ │ │ │ ├── 2.0x │ │ │ │ └── logo.png │ │ │ │ ├── 3.0x │ │ │ │ └── logo.png │ │ │ │ └── logo.png │ │ ├── ios │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ ├── 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 │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ ├── lib │ │ │ ├── main.dart │ │ │ └── src │ │ │ │ ├── app.dart │ │ │ │ ├── config │ │ │ │ ├── color_constants.dart │ │ │ │ ├── image_constants.dart │ │ │ │ ├── string_constants.dart │ │ │ │ └── theme_data.dart │ │ │ │ ├── routes │ │ │ │ └── index.dart │ │ │ │ ├── screens │ │ │ │ ├── bookstore │ │ │ │ │ ├── add_books.dart │ │ │ │ │ ├── book_card.dart │ │ │ │ │ ├── book_details.dart │ │ │ │ │ └── modify_books.dart │ │ │ │ ├── home │ │ │ │ │ └── index.dart │ │ │ │ └── onboarding │ │ │ │ │ ├── authentication_screen.dart │ │ │ │ │ ├── login_screen.dart │ │ │ │ │ └── signup_screen.dart │ │ │ │ ├── splash_screen.dart │ │ │ │ ├── utils │ │ │ │ ├── app_state_notifier.dart │ │ │ │ ├── size_utils.dart │ │ │ │ └── validators.dart │ │ │ │ └── widgets │ │ │ │ └── cache_image_widget.dart │ │ ├── linux │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ └── generated_plugins.cmake │ │ │ ├── main.cc │ │ │ ├── my_application.cc │ │ │ └── my_application.h │ │ ├── macos │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ ├── Flutter-Release.xcconfig │ │ │ │ └── GeneratedPluginRegistrant.swift │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── app_icon_1024.png │ │ │ │ │ ├── app_icon_128.png │ │ │ │ │ ├── app_icon_16.png │ │ │ │ │ ├── app_icon_256.png │ │ │ │ │ ├── app_icon_32.png │ │ │ │ │ ├── app_icon_512.png │ │ │ │ │ └── app_icon_64.png │ │ │ │ ├── Base.lproj │ │ │ │ └── MainMenu.xib │ │ │ │ ├── Configs │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ ├── Debug.xcconfig │ │ │ │ ├── Release.xcconfig │ │ │ │ └── Warnings.xcconfig │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ ├── Info.plist │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ └── Release.entitlements │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ ├── web │ │ │ ├── favicon.png │ │ │ ├── icons │ │ │ │ ├── Icon-192.png │ │ │ │ ├── Icon-512.png │ │ │ │ ├── Icon-maskable-192.png │ │ │ │ └── Icon-maskable-512.png │ │ │ ├── index.html │ │ │ └── manifest.json │ │ └── windows │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ ├── CMakeLists.txt │ │ │ ├── generated_plugin_registrant.cc │ │ │ ├── generated_plugin_registrant.h │ │ │ └── generated_plugins.cmake │ │ │ └── runner │ │ │ ├── CMakeLists.txt │ │ │ ├── Runner.rc │ │ │ ├── flutter_window.cpp │ │ │ ├── flutter_window.h │ │ │ ├── main.cpp │ │ │ ├── resource.h │ │ │ ├── resources │ │ │ └── app_icon.ico │ │ │ ├── runner.exe.manifest │ │ │ ├── utils.cpp │ │ │ ├── utils.h │ │ │ ├── win32_window.cpp │ │ │ └── win32_window.h │ ├── book_store.gif │ ├── clean_project.sh │ ├── run_script.sh │ └── shared │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── lib │ │ ├── main.dart │ │ └── modules │ │ │ ├── authentication │ │ │ ├── auth.dart │ │ │ ├── bloc │ │ │ │ ├── authentication │ │ │ │ │ ├── authentication_bloc.dart │ │ │ │ │ ├── authentication_bloc_public.dart │ │ │ │ │ ├── authentication_event.dart │ │ │ │ │ └── authentication_state.dart │ │ │ │ └── bloc_controller.dart │ │ │ └── resources │ │ │ │ └── authentication_repository.dart │ │ │ └── bookstore │ │ │ ├── models │ │ │ └── book_store_model.dart │ │ │ └── resources │ │ │ └── firebase_crud_operations.dart │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ └── test │ │ └── widget_test.dart ├── github-repository-list │ ├── README.md │ ├── api_sdk │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── lib │ │ │ ├── api_constants.dart │ │ │ ├── graphql_method │ │ │ │ ├── graphql_handler.dart │ │ │ │ └── graphql_operation │ │ │ │ │ ├── mutations │ │ │ │ │ ├── add_star.dart │ │ │ │ │ ├── mutations.dart │ │ │ │ │ └── remove_star.dart │ │ │ │ │ └── queries │ │ │ │ │ └── readRepositories.dart │ │ │ ├── main.dart │ │ │ └── rest │ │ │ │ ├── api_helpers │ │ │ │ ├── api_base_helper.dart │ │ │ │ └── api_exception.dart │ │ │ │ └── rest_api_handler_data.dart │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ └── test │ │ │ └── widget_test.dart │ ├── app │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── android │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── app │ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── profile │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ └── gradle-wrapper.properties │ │ │ └── settings.gradle │ │ ├── assets │ │ │ └── images │ │ │ │ ├── 2.0x │ │ │ │ └── logo.png │ │ │ │ ├── 3.0x │ │ │ │ └── logo.png │ │ │ │ └── logo.png │ │ ├── ios │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ ├── 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 │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ ├── lib │ │ │ ├── main.dart │ │ │ └── src │ │ │ │ ├── app.dart │ │ │ │ ├── config │ │ │ │ ├── color_constants.dart │ │ │ │ ├── image_constants.dart │ │ │ │ ├── string_constants.dart │ │ │ │ └── theme_data.dart │ │ │ │ ├── routes │ │ │ │ └── index.dart │ │ │ │ ├── screens │ │ │ │ ├── home │ │ │ │ │ ├── github_repo_list_screen.dart │ │ │ │ │ └── index.dart │ │ │ │ └── onboarding │ │ │ │ │ ├── authentication_screen.dart │ │ │ │ │ ├── login_screen.dart │ │ │ │ │ └── signup_screen.dart │ │ │ │ ├── splash_screen.dart │ │ │ │ ├── utils │ │ │ │ ├── app_state_notifier.dart │ │ │ │ └── size_utils.dart │ │ │ │ └── widgets │ │ │ │ └── cache_image_widget.dart │ │ ├── linux │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ └── generated_plugins.cmake │ │ │ ├── main.cc │ │ │ ├── my_application.cc │ │ │ └── my_application.h │ │ ├── macos │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ ├── Flutter-Release.xcconfig │ │ │ │ └── GeneratedPluginRegistrant.swift │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── app_icon_1024.png │ │ │ │ │ ├── app_icon_128.png │ │ │ │ │ ├── app_icon_16.png │ │ │ │ │ ├── app_icon_256.png │ │ │ │ │ ├── app_icon_32.png │ │ │ │ │ ├── app_icon_512.png │ │ │ │ │ └── app_icon_64.png │ │ │ │ ├── Base.lproj │ │ │ │ └── MainMenu.xib │ │ │ │ ├── Configs │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ ├── Debug.xcconfig │ │ │ │ ├── Release.xcconfig │ │ │ │ └── Warnings.xcconfig │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ ├── Info.plist │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ └── Release.entitlements │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ ├── web │ │ │ ├── favicon.png │ │ │ ├── icons │ │ │ │ ├── Icon-192.png │ │ │ │ ├── Icon-512.png │ │ │ │ ├── Icon-maskable-192.png │ │ │ │ └── Icon-maskable-512.png │ │ │ ├── index.html │ │ │ └── manifest.json │ │ └── windows │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ ├── CMakeLists.txt │ │ │ ├── generated_plugin_registrant.cc │ │ │ ├── generated_plugin_registrant.h │ │ │ └── generated_plugins.cmake │ │ │ └── runner │ │ │ ├── CMakeLists.txt │ │ │ ├── Runner.rc │ │ │ ├── flutter_window.cpp │ │ │ ├── flutter_window.h │ │ │ ├── main.cpp │ │ │ ├── resource.h │ │ │ ├── resources │ │ │ └── app_icon.ico │ │ │ ├── runner.exe.manifest │ │ │ ├── utils.cpp │ │ │ ├── utils.h │ │ │ ├── win32_window.cpp │ │ │ └── win32_window.h │ ├── clean_project.sh │ ├── github_repo.gif │ ├── run_script.sh │ └── shared │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── lib │ │ ├── main.dart │ │ └── modules │ │ │ ├── authentication │ │ │ ├── auth.dart │ │ │ ├── bloc │ │ │ │ ├── authentication │ │ │ │ │ ├── authentication_bloc.dart │ │ │ │ │ ├── authentication_bloc_public.dart │ │ │ │ │ ├── authentication_event.dart │ │ │ │ │ └── authentication_state.dart │ │ │ │ └── bloc_controller.dart │ │ │ ├── models │ │ │ │ ├── auth_models_public.dart │ │ │ │ ├── current_user_data.dart │ │ │ │ ├── firebase_user.dart │ │ │ │ ├── token.dart │ │ │ │ ├── user.dart │ │ │ │ └── user_data.dart │ │ │ └── resources │ │ │ │ └── authentication_repository.dart │ │ │ └── github_repo │ │ │ ├── bloc │ │ │ ├── github_repo_bloc │ │ │ │ ├── github_repo_bloc.dart │ │ │ │ ├── github_repo_event.dart │ │ │ │ ├── github_repo_public.dart │ │ │ │ └── github_repo_state.dart │ │ │ └── github_repo_bloc_controller.dart │ │ │ ├── models │ │ │ └── repo.dart │ │ │ └── resources │ │ │ └── github_repo_resouces.dart │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ └── test │ │ └── widget_test.dart ├── hacker-news │ ├── README.md │ ├── api_sdk │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── lib │ │ │ ├── api_constants.dart │ │ │ ├── main.dart │ │ │ └── rest │ │ │ │ ├── api_helpers │ │ │ │ ├── api_base_helper.dart │ │ │ │ └── api_exception.dart │ │ │ │ └── rest_api_handler_data.dart │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ └── test │ │ │ └── widget_test.dart │ ├── app │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── android │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── app │ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── profile │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ └── gradle-wrapper.properties │ │ │ └── settings.gradle │ │ ├── assets │ │ │ └── images │ │ │ │ ├── 2.0x │ │ │ │ └── logo.png │ │ │ │ ├── 3.0x │ │ │ │ └── logo.png │ │ │ │ └── logo.png │ │ ├── ios │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ ├── 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 │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ ├── lib │ │ │ ├── main.dart │ │ │ └── src │ │ │ │ ├── app.dart │ │ │ │ ├── config │ │ │ │ ├── color_constants.dart │ │ │ │ ├── image_constants.dart │ │ │ │ ├── string_constants.dart │ │ │ │ └── theme_data.dart │ │ │ │ ├── routes │ │ │ │ └── index.dart │ │ │ │ ├── screens │ │ │ │ ├── home │ │ │ │ │ └── index.dart │ │ │ │ ├── news_screens │ │ │ │ │ ├── news_details.dart │ │ │ │ │ └── news_list.dart │ │ │ │ └── onboarding │ │ │ │ │ ├── authentication_screen.dart │ │ │ │ │ ├── login_screen.dart │ │ │ │ │ └── signup_screen.dart │ │ │ │ ├── splash_screen.dart │ │ │ │ ├── utils │ │ │ │ ├── app_state_notifier.dart │ │ │ │ └── size_utils.dart │ │ │ │ └── widgets │ │ │ │ ├── cache_image_widget.dart │ │ │ │ ├── comment.dart │ │ │ │ ├── loading_container.dart │ │ │ │ ├── news_list_tiles.dart │ │ │ │ ├── refresh.dart │ │ │ │ └── web_view_details.dart │ │ ├── linux │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ └── generated_plugins.cmake │ │ │ ├── main.cc │ │ │ ├── my_application.cc │ │ │ └── my_application.h │ │ ├── macos │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ ├── Flutter-Release.xcconfig │ │ │ │ └── GeneratedPluginRegistrant.swift │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── app_icon_1024.png │ │ │ │ │ ├── app_icon_128.png │ │ │ │ │ ├── app_icon_16.png │ │ │ │ │ ├── app_icon_256.png │ │ │ │ │ ├── app_icon_32.png │ │ │ │ │ ├── app_icon_512.png │ │ │ │ │ └── app_icon_64.png │ │ │ │ ├── Base.lproj │ │ │ │ └── MainMenu.xib │ │ │ │ ├── Configs │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ ├── Debug.xcconfig │ │ │ │ ├── Release.xcconfig │ │ │ │ └── Warnings.xcconfig │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ ├── Info.plist │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ └── Release.entitlements │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ ├── web │ │ │ ├── favicon.png │ │ │ ├── icons │ │ │ │ ├── Icon-192.png │ │ │ │ ├── Icon-512.png │ │ │ │ ├── Icon-maskable-192.png │ │ │ │ └── Icon-maskable-512.png │ │ │ ├── index.html │ │ │ └── manifest.json │ │ └── windows │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ ├── CMakeLists.txt │ │ │ ├── generated_plugin_registrant.cc │ │ │ ├── generated_plugin_registrant.h │ │ │ └── generated_plugins.cmake │ │ │ └── runner │ │ │ ├── CMakeLists.txt │ │ │ ├── Runner.rc │ │ │ ├── flutter_window.cpp │ │ │ ├── flutter_window.h │ │ │ ├── main.cpp │ │ │ ├── resource.h │ │ │ ├── resources │ │ │ └── app_icon.ico │ │ │ ├── runner.exe.manifest │ │ │ ├── utils.cpp │ │ │ ├── utils.h │ │ │ ├── win32_window.cpp │ │ │ └── win32_window.h │ ├── clean_project.sh │ ├── hacker_news.gif │ ├── run_script.sh │ └── shared │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── lib │ │ ├── main.dart │ │ └── modules │ │ │ ├── authentication │ │ │ ├── auth.dart │ │ │ ├── bloc │ │ │ │ ├── authentication │ │ │ │ │ ├── authentication_bloc.dart │ │ │ │ │ ├── authentication_bloc_public.dart │ │ │ │ │ ├── authentication_event.dart │ │ │ │ │ └── authentication_state.dart │ │ │ │ └── bloc_controller.dart │ │ │ ├── models │ │ │ │ ├── auth_models_public.dart │ │ │ │ ├── current_user_data.dart │ │ │ │ ├── firebase_user.dart │ │ │ │ ├── token.dart │ │ │ │ ├── user.dart │ │ │ │ └── user_data.dart │ │ │ └── resources │ │ │ │ └── authentication_repository.dart │ │ │ └── hacker_news │ │ │ ├── bloc │ │ │ ├── comment_provider.dart │ │ │ ├── comments_bloc.dart │ │ │ ├── stories_bloc.dart │ │ │ └── stories_provider.dart │ │ │ ├── models │ │ │ ├── data_models │ │ │ │ └── news_item_model.dart │ │ │ └── news_models_public.dart │ │ │ └── resources │ │ │ ├── news_repository.dart │ │ │ └── resource_provider │ │ │ ├── news_api_provider.dart │ │ │ └── news_db_provider.dart │ │ ├── pubspec.lock │ │ ├── pubspec.yaml │ │ └── test │ │ └── widget_test.dart └── weather-app │ ├── README.md │ ├── api_sdk │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── lib │ │ ├── api_constants.dart │ │ ├── main.dart │ │ └── rest │ │ │ ├── api_helpers │ │ │ ├── api_base_helper.dart │ │ │ └── api_exception.dart │ │ │ └── rest_api_handler_data.dart │ ├── pubspec.lock │ ├── pubspec.yaml │ └── test │ │ └── widget_test.dart │ ├── app │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android │ │ ├── .gitignore │ │ ├── app │ │ │ ├── build.gradle │ │ │ └── src │ │ │ │ ├── debug │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── app │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── drawable │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── values-night │ │ │ │ │ └── styles.xml │ │ │ │ │ └── values │ │ │ │ │ └── styles.xml │ │ │ │ └── profile │ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ └── settings.gradle │ ├── assets │ │ └── images │ │ │ ├── 2.0x │ │ │ └── logo.png │ │ │ ├── 3.0x │ │ │ └── logo.png │ │ │ └── logo.png │ ├── ios │ │ ├── .gitignore │ │ ├── Flutter │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Runner.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── Runner │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── 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 │ │ │ └── LaunchImage.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchImage.png │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ └── README.md │ │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ ├── lib │ │ ├── main.dart │ │ └── src │ │ │ ├── app.dart │ │ │ ├── config │ │ │ ├── color_constants.dart │ │ │ ├── image_constants.dart │ │ │ ├── string_constants.dart │ │ │ └── theme_data.dart │ │ │ ├── routes │ │ │ └── index.dart │ │ │ ├── screens │ │ │ ├── home │ │ │ │ └── index.dart │ │ │ ├── onboarding │ │ │ │ ├── authentication_screen.dart │ │ │ │ ├── login_screen.dart │ │ │ │ └── signup_screen.dart │ │ │ └── weather_screens │ │ │ │ ├── weather_page.dart │ │ │ │ └── widgets │ │ │ │ └── build_weather.dart │ │ │ ├── splash_screen.dart │ │ │ ├── utils │ │ │ ├── app_state_notifier.dart │ │ │ └── size_utils.dart │ │ │ └── widgets │ │ │ └── cache_image_widget.dart │ ├── linux │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── flutter │ │ │ ├── CMakeLists.txt │ │ │ ├── generated_plugin_registrant.cc │ │ │ ├── generated_plugin_registrant.h │ │ │ └── generated_plugins.cmake │ │ ├── main.cc │ │ ├── my_application.cc │ │ └── my_application.h │ ├── macos │ │ ├── .gitignore │ │ ├── Flutter │ │ │ ├── Flutter-Debug.xcconfig │ │ │ ├── Flutter-Release.xcconfig │ │ │ └── GeneratedPluginRegistrant.swift │ │ ├── Runner.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── Runner │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── app_icon_1024.png │ │ │ │ ├── app_icon_128.png │ │ │ │ ├── app_icon_16.png │ │ │ │ ├── app_icon_256.png │ │ │ │ ├── app_icon_32.png │ │ │ │ ├── app_icon_512.png │ │ │ │ └── app_icon_64.png │ │ │ ├── Base.lproj │ │ │ └── MainMenu.xib │ │ │ ├── Configs │ │ │ ├── AppInfo.xcconfig │ │ │ ├── Debug.xcconfig │ │ │ ├── Release.xcconfig │ │ │ └── Warnings.xcconfig │ │ │ ├── DebugProfile.entitlements │ │ │ ├── Info.plist │ │ │ ├── MainFlutterWindow.swift │ │ │ └── Release.entitlements │ ├── pubspec.lock │ ├── pubspec.yaml │ ├── web │ │ ├── favicon.png │ │ ├── icons │ │ │ ├── Icon-192.png │ │ │ ├── Icon-512.png │ │ │ ├── Icon-maskable-192.png │ │ │ └── Icon-maskable-512.png │ │ ├── index.html │ │ └── manifest.json │ └── windows │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── flutter │ │ ├── CMakeLists.txt │ │ ├── generated_plugin_registrant.cc │ │ ├── generated_plugin_registrant.h │ │ └── generated_plugins.cmake │ │ └── runner │ │ ├── CMakeLists.txt │ │ ├── Runner.rc │ │ ├── flutter_window.cpp │ │ ├── flutter_window.h │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── resources │ │ └── app_icon.ico │ │ ├── runner.exe.manifest │ │ ├── utils.cpp │ │ ├── utils.h │ │ ├── win32_window.cpp │ │ └── win32_window.h │ ├── clean_project.sh │ ├── run_script.sh │ ├── shared │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── lib │ │ ├── main.dart │ │ └── modules │ │ │ ├── authentication │ │ │ ├── auth.dart │ │ │ ├── bloc │ │ │ │ ├── authentication │ │ │ │ │ ├── authentication_bloc.dart │ │ │ │ │ ├── authentication_bloc_public.dart │ │ │ │ │ ├── authentication_event.dart │ │ │ │ │ └── authentication_state.dart │ │ │ │ └── bloc_controller.dart │ │ │ ├── models │ │ │ │ ├── auth_models_public.dart │ │ │ │ ├── current_user_data.dart │ │ │ │ ├── firebase_user.dart │ │ │ │ ├── token.dart │ │ │ │ ├── user.dart │ │ │ │ └── user_data.dart │ │ │ └── resources │ │ │ │ └── authentication_repository.dart │ │ │ └── weather_app │ │ │ ├── bloc │ │ │ ├── weather_bloc.dart │ │ │ ├── weather_bloc_public.dart │ │ │ ├── weather_events.dart │ │ │ └── weather_states.dart │ │ │ ├── models │ │ │ └── weather_model.dart │ │ │ └── resources │ │ │ └── weather_resources.dart │ ├── pubspec.lock │ ├── pubspec.yaml │ └── test │ │ └── widget_test.dart │ └── weather-app.gif ├── flutter_starter_kit.gif ├── github_repo_list.gif ├── hacker_news.gif ├── run_script.sh ├── shared ├── .gitignore ├── .metadata ├── README.md ├── lib │ ├── main.dart │ └── modules │ │ └── authentication │ │ ├── auth.dart │ │ ├── bloc │ │ ├── authentication │ │ │ ├── authentication_bloc.dart │ │ │ ├── authentication_bloc_public.dart │ │ │ ├── authentication_event.dart │ │ │ └── authentication_state.dart │ │ └── bloc_controller.dart │ │ ├── models │ │ ├── auth_models_public.dart │ │ ├── current_user_data.dart │ │ ├── firebase_user.dart │ │ ├── token.dart │ │ ├── user.dart │ │ └── user_data.dart │ │ └── resources │ │ └── authentication_repository.dart ├── pubspec.lock ├── pubspec.yaml └── test │ └── widget_test.dart └── weather_app.gif /api_sdk/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /api_sdk/lib/graphql_method/graphql_operation/mutations/add_star.dart: -------------------------------------------------------------------------------- 1 | const String addStar = r''' 2 | mutation AddStar($starrableId: ID!) { 3 | action: addStar(input: {starrableId: $starrableId}) { 4 | starrable { 5 | viewerHasStarred 6 | } 7 | } 8 | } 9 | '''; 10 | -------------------------------------------------------------------------------- /api_sdk/lib/graphql_method/graphql_operation/mutations/mutations.dart: -------------------------------------------------------------------------------- 1 | export './add_star.dart'; 2 | export './remove_star.dart'; 3 | -------------------------------------------------------------------------------- /api_sdk/lib/graphql_method/graphql_operation/mutations/remove_star.dart: -------------------------------------------------------------------------------- 1 | const String removeStar = r''' 2 | mutation RemoveStar($starrableId: ID!) { 3 | action: removeStar(input: {starrableId: $starrableId}) { 4 | starrable { 5 | viewerHasStarred 6 | } 7 | } 8 | } 9 | '''; 10 | -------------------------------------------------------------------------------- /api_sdk/lib/graphql_method/graphql_operation/queries/readRepositories.dart: -------------------------------------------------------------------------------- 1 | const String readRepositories = r''' 2 | query ReadRepositories($nRepositories: Int!) { 3 | viewer { 4 | repositories(last: $nRepositories) { 5 | nodes { 6 | __typename 7 | id 8 | name 9 | viewerHasStarred 10 | } 11 | } 12 | } 13 | } 14 | '''; 15 | 16 | const String testSubscription = r''' 17 | subscription test { 18 | deviceChanged(id: 2) { 19 | id 20 | name 21 | } 22 | } 23 | '''; 24 | -------------------------------------------------------------------------------- /api_sdk/lib/rest/rest_api_handler_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:api_sdk/rest/api_helpers/api_base_helper.dart'; 2 | 3 | class RestApiHandlerData { 4 | static ApiBaseHelper _apiBaseHelper = ApiBaseHelper(); 5 | static getData(String path) async { 6 | final response = await _apiBaseHelper.get('$path'); 7 | return response; 8 | } 9 | 10 | static postData(String path, dynamic body) async { 11 | final response = await _apiBaseHelper.post('$path', body); 12 | return response; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /api_sdk/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /app/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | -------------------------------------------------------------------------------- /app/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/android/app/src/main/kotlin/com/example/app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.app 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | import android.os.Build 6 | import android.view.ViewTreeObserver 7 | import android.view.WindowManager 8 | class MainActivity: FlutterActivity() { 9 | } -------------------------------------------------------------------------------- /app/android/app/src/main/res/drawable-hdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/drawable-hdpi/splash.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/drawable-mdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/drawable-mdpi/splash.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/android/app/src/main/res/drawable-xhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/drawable-xhdpi/splash.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/drawable-xxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/drawable-xxhdpi/splash.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/drawable-xxxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/drawable-xxxhdpi/splash.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/android/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #5E92F3 4 | -------------------------------------------------------------------------------- /app/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | android.enableR8=true 5 | -------------------------------------------------------------------------------- /app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip 7 | -------------------------------------------------------------------------------- /app/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /app/assets/images/2.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/assets/images/2.0x/logo.png -------------------------------------------------------------------------------- /app/assets/images/3.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/assets/images/3.0x/logo.png -------------------------------------------------------------------------------- /app/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/assets/images/logo.png -------------------------------------------------------------------------------- /app/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /app/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | var flutter_native_splash = 1 11 | UIApplication.shared.isStatusBarHidden = false 12 | 13 | GeneratedPluginRegistrant.register(with: self) 14 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 15 | } 16 | } -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /app/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /app/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:app/src/app.dart'; 2 | import 'package:app/src/utils/app_state_notifier.dart'; 3 | import 'package:flutter/material.dart'; 4 | import 'package:provider/provider.dart'; 5 | 6 | void main() { 7 | runApp( 8 | ChangeNotifierProvider( 9 | create: (_) => AppStateNotifier(), 10 | child: App(), 11 | ), 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /app/lib/src/config/image_constants.dart: -------------------------------------------------------------------------------- 1 | class AllImages { 2 | AllImages._(); 3 | static AllImages _instance = AllImages._(); 4 | factory AllImages() => _instance; 5 | 6 | String image = 'assets/image'; 7 | String logo = 'assets/images/logo.png'; 8 | String kDefaultImage = 9 | 'https://cdn.pixabay.com/photo/2016/08/08/09/17/avatar-1577909_1280.png'; 10 | } 11 | -------------------------------------------------------------------------------- /app/lib/src/config/string_constants.dart: -------------------------------------------------------------------------------- 1 | library constants; 2 | 3 | // Onboarding Screens 4 | const String app_name = "APP NAME"; 5 | 6 | // tabs 7 | const String tab0 = "Tab 0"; 8 | const String tab1 = "Tab 1"; 9 | const String tab2 = "Tab 2"; 10 | const String tab3 = "Tab 3"; 11 | 12 | //Screen 1 13 | const String screen_util = "Screen"; 14 | 15 | //home 16 | const String app_bar_title = 'Flutter Starter'; 17 | -------------------------------------------------------------------------------- /app/lib/src/utils/app_state_notifier.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppStateNotifier extends ChangeNotifier { 4 | bool isDarkMode = false; 5 | 6 | void updateTheme(bool isDarkMode) { 7 | this.isDarkMode = isDarkMode; 8 | notifyListeners(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /app/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /app/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/web/favicon.png -------------------------------------------------------------------------------- /app/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/web/icons/Icon-192.png -------------------------------------------------------------------------------- /app/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/web/icons/Icon-512.png -------------------------------------------------------------------------------- /app/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /app/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/app/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /clean_project.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd api_sdk 4 | echo "+++++API SDK pub clean+++++" 5 | flutter clean 6 | echo "+++++API SDK done+++++" 7 | 8 | 9 | cd ../shared 10 | echo "+++++Shared pub clean+++++" 11 | flutter clean 12 | echo "+++++Shared done+++++" 13 | 14 | cd ../app 15 | echo "+++++Main app pub clean+++++" 16 | flutter clean 17 | echo "+++++Cleaning done+++++" -------------------------------------------------------------------------------- /examples/book-store-firebase/README.md: -------------------------------------------------------------------------------- 1 | # Flutter starter 2 | 3 | 4 | To start with this app you need to set up few things. 5 | 6 | Please refer to the [documentation](https://flutter-starter.github.io/docs/bookstore-firebase-app-example) for the steps. 7 | 8 | The demo for the app look like this: 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/book-store-firebase/api_sdk/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/book-store-firebase/api_sdk/lib/api_constants.dart: -------------------------------------------------------------------------------- 1 | Map apiConstants = {"auth": "https://reqres.in/api"}; 2 | -------------------------------------------------------------------------------- /examples/book-store-firebase/api_sdk/lib/models/user.dart: -------------------------------------------------------------------------------- 1 | class MyUser { 2 | final String uid; 3 | final String email; 4 | final String token; 5 | final String avatar; 6 | 7 | MyUser({ 8 | this.uid, 9 | this.email, 10 | this.token, 11 | this.avatar = 12 | "https://i.pinimg.com/736x/89/90/48/899048ab0cc455154006fdb9676964b3.jpg", 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /examples/book-store-firebase/api_sdk/lib/rest/rest_api_handler_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:api_sdk/rest/api_helpers/api_base_helper.dart'; 2 | 3 | class RestApiHandlerData { 4 | static ApiBaseHelper _apiBaseHelper = ApiBaseHelper(); 5 | static getData(String path) async { 6 | final response = await _apiBaseHelper.get('$path'); 7 | return response; 8 | } 9 | 10 | static postData(String path, dynamic body) async { 11 | final response = await _apiBaseHelper.post('$path', body); 12 | return response; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/book-store-firebase/api_sdk/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/kotlin/com/example/app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.app 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/books/kafkaontheshore.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/books/kafkaontheshore.jpg -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/books/loveisadogfromhell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/books/loveisadogfromhell.jpg -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/books/norwegian.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/books/norwegian.jpg -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/books/pulpfiction.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/books/pulpfiction.jpg -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/books/women.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/books/women.jpg -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/images/2.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/images/2.0x/logo.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/images/3.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/images/3.0x/logo.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/assets/images/logo.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /examples/book-store-firebase/app/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/lib/src/config/image_constants.dart: -------------------------------------------------------------------------------- 1 | class AllImages { 2 | AllImages._(); 3 | static AllImages _instance = AllImages._(); 4 | factory AllImages() => _instance; 5 | String image = 'assets/image'; 6 | String logo = 'assets/images/logo.png'; 7 | String kDefaultImage = 8 | 'https://cdn.pixabay.com/photo/2016/08/08/09/17/avatar-1577909_1280.png'; 9 | } 10 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/lib/src/config/string_constants.dart: -------------------------------------------------------------------------------- 1 | library constants; 2 | 3 | // Onboarding Screens 4 | const String app_name = "APP NAME"; 5 | 6 | // tabs 7 | const String tab0 = "Tab 0"; 8 | const String tab1 = "Tab 1"; 9 | const String tab2 = "Tab 2"; 10 | const String tab3 = "Tab 3"; 11 | 12 | //Screen 1 13 | const String screen_util = "Screen"; 14 | 15 | //home 16 | const String app_bar_title = 'Book store'; 17 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/lib/src/utils/app_state_notifier.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppStateNotifier extends ChangeNotifier { 4 | bool isDarkMode = false; 5 | 6 | void updateTheme(bool isDarkMode) { 7 | this.isDarkMode = isDarkMode; 8 | notifyListeners(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/web/favicon.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/web/icons/Icon-192.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/web/icons/Icon-512.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /examples/book-store-firebase/app/windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/windows/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | #include 10 | 11 | void RegisterPlugins(flutter::PluginRegistry* registry) { 12 | ConnectivityPlusWindowsPluginRegisterWithRegistrar( 13 | registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); 14 | } 15 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /examples/book-store-firebase/app/windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/app/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /examples/book-store-firebase/book_store.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/book-store-firebase/book_store.gif -------------------------------------------------------------------------------- /examples/book-store-firebase/clean_project.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd api_sdk 4 | echo "+++++API SDK pub clean+++++" 5 | flutter clean 6 | echo "+++++API SDK done+++++" 7 | 8 | 9 | cd ../shared 10 | echo "+++++Shared pub clean+++++" 11 | flutter clean 12 | echo "+++++Shared done+++++" 13 | 14 | cd ../app 15 | echo "+++++Main app pub clean+++++" 16 | flutter clean 17 | echo "+++++Cleaning done+++++" -------------------------------------------------------------------------------- /examples/book-store-firebase/shared/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/book-store-firebase/shared/lib/modules/authentication/auth.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc_public.dart'; 2 | export 'package:shared/modules/authentication/resources/authentication_repository.dart'; 3 | -------------------------------------------------------------------------------- /examples/book-store-firebase/shared/lib/modules/authentication/bloc/authentication/authentication_bloc_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc.dart'; 2 | export 'package:shared/modules/authentication/bloc/authentication/authentication_event.dart'; 3 | export 'package:shared/modules/authentication/bloc/authentication/authentication_state.dart'; 4 | -------------------------------------------------------------------------------- /examples/book-store-firebase/shared/lib/modules/authentication/bloc/bloc_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared/main.dart'; 2 | 3 | class AuthenticationBlocController { 4 | AuthenticationBlocController._(); 5 | static AuthenticationBlocController _instance = 6 | AuthenticationBlocController._(); 7 | factory AuthenticationBlocController() => _instance; 8 | 9 | // ignore: close_sinks 10 | AuthenticationBloc authenticationBloc = AuthenticationBloc(); 11 | } 12 | -------------------------------------------------------------------------------- /examples/book-store-firebase/shared/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/api_sdk/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/github-repository-list/api_sdk/lib/graphql_method/graphql_operation/mutations/add_star.dart: -------------------------------------------------------------------------------- 1 | const String addStar = r''' 2 | mutation AddStar($starrableId: ID!) { 3 | action: addStar(input: {starrableId: $starrableId}) { 4 | starrable { 5 | viewerHasStarred 6 | } 7 | } 8 | } 9 | '''; 10 | -------------------------------------------------------------------------------- /examples/github-repository-list/api_sdk/lib/graphql_method/graphql_operation/mutations/mutations.dart: -------------------------------------------------------------------------------- 1 | export './add_star.dart'; 2 | export './remove_star.dart'; 3 | -------------------------------------------------------------------------------- /examples/github-repository-list/api_sdk/lib/graphql_method/graphql_operation/mutations/remove_star.dart: -------------------------------------------------------------------------------- 1 | const String removeStar = r''' 2 | mutation RemoveStar($starrableId: ID!) { 3 | action: removeStar(input: {starrableId: $starrableId}) { 4 | starrable { 5 | viewerHasStarred 6 | } 7 | } 8 | } 9 | '''; 10 | -------------------------------------------------------------------------------- /examples/github-repository-list/api_sdk/lib/rest/rest_api_handler_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:api_sdk/rest/api_helpers/api_base_helper.dart'; 2 | 3 | class RestApiHandlerData { 4 | static ApiBaseHelper _apiBaseHelper = ApiBaseHelper(); 5 | static getData(String path) async { 6 | final response = await _apiBaseHelper.get('$path'); 7 | return response; 8 | } 9 | 10 | static postData(String path, dynamic body) async { 11 | final response = await _apiBaseHelper.post('$path', body); 12 | return response; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/github-repository-list/api_sdk/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/kotlin/com/example/app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.app 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/assets/images/2.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/assets/images/2.0x/logo.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/assets/images/3.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/assets/images/3.0x/logo.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/assets/images/logo.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /examples/github-repository-list/app/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:app/src/app.dart'; 2 | import 'package:app/src/utils/app_state_notifier.dart'; 3 | import 'package:flutter/material.dart'; 4 | import 'package:provider/provider.dart'; 5 | 6 | void main() { 7 | runApp( 8 | ChangeNotifierProvider( 9 | create: (_) => AppStateNotifier(), 10 | child: App(), 11 | ), 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/lib/src/config/image_constants.dart: -------------------------------------------------------------------------------- 1 | class AllImages { 2 | AllImages._(); 3 | static AllImages _instance = AllImages._(); 4 | factory AllImages() => _instance; 5 | 6 | String image = 'assets/image'; 7 | String logo = 'assets/images/logo.png'; 8 | String kDefaultImage = 9 | 'https://cdn.pixabay.com/photo/2016/08/08/09/17/avatar-1577909_1280.png'; 10 | } 11 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/lib/src/config/string_constants.dart: -------------------------------------------------------------------------------- 1 | library constants; 2 | 3 | // Onboarding Screens 4 | const String app_name = "APP NAME"; 5 | 6 | // tabs 7 | const String tab0 = "Tab 0"; 8 | const String tab1 = "Tab 1"; 9 | const String tab2 = "Tab 2"; 10 | const String tab3 = "Tab 3"; 11 | 12 | //Screen 1 13 | const String screen_util = "Screen"; 14 | //home 15 | const String app_bar_title = 'Your Repositories'; 16 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/lib/src/utils/app_state_notifier.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppStateNotifier extends ChangeNotifier { 4 | bool isDarkMode = false; 5 | 6 | void updateTheme(bool isDarkMode) { 7 | this.isDarkMode = isDarkMode; 8 | notifyListeners(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/web/favicon.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/web/icons/Icon-192.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/web/icons/Icon-512.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /examples/github-repository-list/app/windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/windows/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | #include 10 | 11 | void RegisterPlugins(flutter::PluginRegistry* registry) { 12 | ConnectivityPlusWindowsPluginRegisterWithRegistrar( 13 | registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); 14 | } 15 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /examples/github-repository-list/app/windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/app/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /examples/github-repository-list/clean_project.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd api_sdk 4 | echo "+++++API SDK pub clean+++++" 5 | flutter clean 6 | echo "+++++API SDK done+++++" 7 | 8 | 9 | cd ../shared 10 | echo "+++++Shared pub clean+++++" 11 | flutter clean 12 | echo "+++++Shared done+++++" 13 | 14 | cd ../app 15 | echo "+++++Main app pub clean+++++" 16 | flutter clean 17 | echo "+++++Cleaning done+++++" -------------------------------------------------------------------------------- /examples/github-repository-list/github_repo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/github-repository-list/github_repo.gif -------------------------------------------------------------------------------- /examples/github-repository-list/shared/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared_preferences/shared_preferences.dart'; 2 | 3 | export 'package:shared/modules/authentication/auth.dart'; 4 | export 'package:shared/modules/authentication/bloc/bloc_controller.dart'; 5 | export 'package:shared/modules/github_repo/bloc/github_repo_bloc_controller.dart'; 6 | 7 | Future prefs = SharedPreferences.getInstance(); 8 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/auth.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc_public.dart'; 2 | export 'package:shared/modules/authentication/models/auth_models_public.dart'; 3 | export 'package:shared/modules/authentication/models/firebase_user.dart'; 4 | export 'package:shared/modules/authentication/resources/authentication_repository.dart'; 5 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/bloc/authentication/authentication_bloc_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc.dart'; 2 | export 'package:shared/modules/authentication/bloc/authentication/authentication_event.dart'; 3 | export 'package:shared/modules/authentication/bloc/authentication/authentication_state.dart'; 4 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/bloc/bloc_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared/main.dart'; 2 | 3 | class AuthenticationBlocController { 4 | AuthenticationBlocController._(); 5 | static AuthenticationBlocController _instance = 6 | AuthenticationBlocController._(); 7 | factory AuthenticationBlocController() => _instance; 8 | 9 | // ignore: close_sinks 10 | AuthenticationBloc authenticationBloc = AuthenticationBloc(); 11 | } 12 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/models/auth_models_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/models/token.dart'; 2 | export 'package:shared/modules/authentication/models/user.dart'; 3 | export 'package:shared/modules/authentication/models/user_data.dart'; 4 | export 'package:shared/modules/authentication/models/current_user_data.dart'; 5 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/models/firebase_user.dart: -------------------------------------------------------------------------------- 1 | class UserFromFirebaseUser { 2 | final String uid; 3 | final String email; 4 | final String token; 5 | final String avatar; 6 | 7 | UserFromFirebaseUser({ 8 | this.uid, 9 | this.email, 10 | this.token, 11 | this.avatar = 12 | "https://i.pinimg.com/736x/89/90/48/899048ab0cc455154006fdb9676964b3.jpg", 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/models/token.dart: -------------------------------------------------------------------------------- 1 | class Token { 2 | String token; 3 | 4 | Token({this.token}); 5 | 6 | Token.fromJson(Map json) { 7 | token = json['token']; 8 | } 9 | 10 | Map toJson() { 11 | final Map data = new Map(); 12 | data['token'] = this.token; 13 | return data; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/models/user.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | class MyUser { 4 | final String name; 5 | final String email; 6 | 7 | MyUser({@required this.name, @required this.email}); 8 | 9 | @override 10 | String toString() => 'User { name: $name, email: $email}'; 11 | } 12 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/authentication/models/user_data.dart: -------------------------------------------------------------------------------- 1 | class UserData { 2 | int id; 3 | String token; 4 | 5 | UserData({this.id, this.token}); 6 | 7 | UserData.fromJson(Map json) { 8 | id = json['id']; 9 | token = json['token']; 10 | } 11 | 12 | Map toJson() { 13 | final Map data = new Map(); 14 | data['id'] = this.id; 15 | data['token'] = this.token; 16 | return data; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/github_repo/bloc/github_repo_bloc/github_repo_event.dart: -------------------------------------------------------------------------------- 1 | import 'package:equatable/equatable.dart'; 2 | 3 | abstract class GithubRepoEvent extends Equatable { 4 | const GithubRepoEvent(); 5 | 6 | @override 7 | List get props => []; 8 | } 9 | 10 | class GithubRepoDataLoadingEvent extends GithubRepoEvent {} 11 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/github_repo/bloc/github_repo_bloc/github_repo_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/github_repo/bloc/github_repo_bloc/github_repo_bloc.dart'; 2 | export 'package:shared/modules/github_repo/bloc/github_repo_bloc/github_repo_event.dart'; 3 | export 'package:shared/modules/github_repo/bloc/github_repo_bloc/github_repo_public.dart'; 4 | export 'package:shared/modules/github_repo/bloc/github_repo_bloc/github_repo_state.dart'; 5 | export 'package:shared/modules/github_repo/resources/github_repo_resouces.dart'; 6 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/lib/modules/github_repo/models/repo.dart: -------------------------------------------------------------------------------- 1 | class Repo { 2 | const Repo({ 3 | this.id, 4 | this.name, 5 | this.viewerHasStarred, 6 | this.isLoading: false, 7 | }); 8 | 9 | final String id; 10 | final String name; 11 | final bool viewerHasStarred; 12 | final bool isLoading; 13 | } 14 | -------------------------------------------------------------------------------- /examples/github-repository-list/shared/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/hacker-news/api_sdk/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/hacker-news/api_sdk/lib/api_constants.dart: -------------------------------------------------------------------------------- 1 | Map apiConstants = { 2 | "hacker_news": "https://hacker-news.firebaseio.com/v0", 3 | "auth": "https://reqres.in/api" 4 | }; 5 | -------------------------------------------------------------------------------- /examples/hacker-news/api_sdk/lib/rest/rest_api_handler_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:api_sdk/rest/api_helpers/api_base_helper.dart'; 2 | 3 | class RestApiHandlerData { 4 | static ApiBaseHelper _apiBaseHelper = ApiBaseHelper(); 5 | static getData(String path) async { 6 | final response = await _apiBaseHelper.get('$path'); 7 | return response; 8 | } 9 | 10 | static postData(String path, dynamic body) async { 11 | final response = await _apiBaseHelper.post('$path', body); 12 | return response; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/hacker-news/api_sdk/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/kotlin/com/example/app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.app 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/hacker-news/app/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /examples/hacker-news/app/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /examples/hacker-news/app/assets/images/2.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/assets/images/2.0x/logo.png -------------------------------------------------------------------------------- /examples/hacker-news/app/assets/images/3.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/assets/images/3.0x/logo.png -------------------------------------------------------------------------------- /examples/hacker-news/app/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/assets/images/logo.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /examples/hacker-news/app/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /examples/hacker-news/app/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:app/src/app.dart'; 2 | import 'package:app/src/utils/app_state_notifier.dart'; 3 | import 'package:flutter/material.dart'; 4 | import 'package:provider/provider.dart'; 5 | 6 | void main() { 7 | runApp( 8 | ChangeNotifierProvider( 9 | create: (_) => AppStateNotifier(), 10 | child: App(), 11 | ), 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /examples/hacker-news/app/lib/src/config/image_constants.dart: -------------------------------------------------------------------------------- 1 | class AllImages { 2 | AllImages._(); 3 | static AllImages _instance = AllImages._(); 4 | factory AllImages() => _instance; 5 | 6 | String image = 'assets/image'; 7 | String logo = 'assets/images/logo.png'; 8 | String kDefaultImage = 9 | 'https://cdn.pixabay.com/photo/2016/08/08/09/17/avatar-1577909_1280.png'; 10 | } 11 | -------------------------------------------------------------------------------- /examples/hacker-news/app/lib/src/config/string_constants.dart: -------------------------------------------------------------------------------- 1 | library constants; 2 | 3 | // Onboarding Screens 4 | const String app_name = "APP NAME"; 5 | 6 | // tabs 7 | const String tab0 = "Tab 0"; 8 | const String tab1 = "Tab 1"; 9 | const String tab2 = "Tab 2"; 10 | const String tab3 = "Tab 3"; 11 | 12 | //Screen 1 13 | const String screen_util = "Screen"; 14 | //home 15 | const String app_bar_title = 'News'; 16 | -------------------------------------------------------------------------------- /examples/hacker-news/app/lib/src/utils/app_state_notifier.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppStateNotifier extends ChangeNotifier { 4 | bool isDarkMode = false; 5 | 6 | void updateTheme(bool isDarkMode) { 7 | this.isDarkMode = isDarkMode; 8 | notifyListeners(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/hacker-news/app/lib/src/widgets/refresh.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:shared/main.dart'; 3 | 4 | class Refresh extends StatelessWidget { 5 | final child; 6 | 7 | Refresh({this.child}); 8 | 9 | Widget build(context) { 10 | final bloc = StoriesProvider.of(context); 11 | 12 | return RefreshIndicator( 13 | child: child, 14 | onRefresh: () async { 15 | await bloc.clearCache(); 16 | await bloc.fetchTopIds(); 17 | }, 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /examples/hacker-news/app/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /examples/hacker-news/app/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /examples/hacker-news/app/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/hacker-news/app/linux/flutter/generated_plugins.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Generated file, do not edit. 3 | # 4 | 5 | list(APPEND FLUTTER_PLUGIN_LIST 6 | ) 7 | 8 | set(PLUGIN_BUNDLED_LIBRARIES) 9 | 10 | foreach(plugin ${FLUTTER_PLUGIN_LIST}) 11 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) 12 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) 13 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $) 14 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) 15 | endforeach(plugin) 16 | -------------------------------------------------------------------------------- /examples/hacker-news/app/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /examples/hacker-news/app/linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/hacker-news/app/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/hacker-news/app/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/web/favicon.png -------------------------------------------------------------------------------- /examples/hacker-news/app/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/web/icons/Icon-192.png -------------------------------------------------------------------------------- /examples/hacker-news/app/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/web/icons/Icon-512.png -------------------------------------------------------------------------------- /examples/hacker-news/app/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /examples/hacker-news/app/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /examples/hacker-news/app/windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /examples/hacker-news/app/windows/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | #include 10 | 11 | void RegisterPlugins(flutter::PluginRegistry* registry) { 12 | ConnectivityPlusWindowsPluginRegisterWithRegistrar( 13 | registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); 14 | } 15 | -------------------------------------------------------------------------------- /examples/hacker-news/app/windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/hacker-news/app/windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /examples/hacker-news/app/windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/app/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /examples/hacker-news/clean_project.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd api_sdk 4 | echo "+++++API SDK pub clean+++++" 5 | flutter clean 6 | echo "+++++API SDK done+++++" 7 | 8 | 9 | cd ../shared 10 | echo "+++++Shared pub clean+++++" 11 | flutter clean 12 | echo "+++++Shared done+++++" 13 | 14 | cd ../app 15 | echo "+++++Main app pub clean+++++" 16 | flutter clean 17 | echo "+++++Cleaning done+++++" -------------------------------------------------------------------------------- /examples/hacker-news/hacker_news.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/hacker-news/hacker_news.gif -------------------------------------------------------------------------------- /examples/hacker-news/shared/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/auth.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc_public.dart'; 2 | export 'package:shared/modules/authentication/models/auth_models_public.dart'; 3 | export 'package:shared/modules/authentication/models/firebase_user.dart'; 4 | export 'package:shared/modules/authentication/resources/authentication_repository.dart'; 5 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/bloc/authentication/authentication_bloc_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc.dart'; 2 | export 'package:shared/modules/authentication/bloc/authentication/authentication_event.dart'; 3 | export 'package:shared/modules/authentication/bloc/authentication/authentication_state.dart'; 4 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/bloc/bloc_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared/main.dart'; 2 | 3 | class AuthenticationBlocController { 4 | AuthenticationBlocController._(); 5 | static AuthenticationBlocController _instance = 6 | AuthenticationBlocController._(); 7 | factory AuthenticationBlocController() => _instance; 8 | 9 | // ignore: close_sinks 10 | AuthenticationBloc authenticationBloc = AuthenticationBloc(); 11 | } 12 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/models/auth_models_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/models/token.dart'; 2 | export 'package:shared/modules/authentication/models/user.dart'; 3 | export 'package:shared/modules/authentication/models/user_data.dart'; 4 | export 'package:shared/modules/authentication/models/current_user_data.dart'; 5 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/models/firebase_user.dart: -------------------------------------------------------------------------------- 1 | class UserFromFirebaseUser { 2 | final String uid; 3 | final String email; 4 | final String token; 5 | final String avatar; 6 | 7 | UserFromFirebaseUser({ 8 | this.uid, 9 | this.email, 10 | this.token, 11 | this.avatar = 12 | "https://i.pinimg.com/736x/89/90/48/899048ab0cc455154006fdb9676964b3.jpg", 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/models/token.dart: -------------------------------------------------------------------------------- 1 | class Token { 2 | String token; 3 | 4 | Token({this.token}); 5 | 6 | Token.fromJson(Map json) { 7 | token = json['token']; 8 | } 9 | 10 | Map toJson() { 11 | final Map data = new Map(); 12 | data['token'] = this.token; 13 | return data; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/models/user.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | class MyUser { 4 | final String name; 5 | final String email; 6 | 7 | MyUser({@required this.name, @required this.email}); 8 | 9 | @override 10 | String toString() => 'User { name: $name, email: $email}'; 11 | } 12 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/authentication/models/user_data.dart: -------------------------------------------------------------------------------- 1 | class UserData { 2 | int id; 3 | String token; 4 | 5 | UserData({this.id, this.token}); 6 | 7 | UserData.fromJson(Map json) { 8 | id = json['id']; 9 | token = json['token']; 10 | } 11 | 12 | Map toJson() { 13 | final Map data = new Map(); 14 | data['id'] = this.id; 15 | data['token'] = this.token; 16 | return data; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/lib/modules/hacker_news/models/news_models_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/hacker_news/models/data_models/news_item_model.dart'; 2 | -------------------------------------------------------------------------------- /examples/hacker-news/shared/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/weather-app/api_sdk/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/weather-app/api_sdk/lib/api_constants.dart: -------------------------------------------------------------------------------- 1 | Map apiConstants = { 2 | "openweather": "https://api.openweathermap.org/data/2.5", 3 | "auth": "https://reqres.in/api" 4 | }; 5 | 6 | String appId = "76c6d3d3ca02483285a88070bea2cf07"; 7 | -------------------------------------------------------------------------------- /examples/weather-app/api_sdk/lib/rest/rest_api_handler_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:api_sdk/rest/api_helpers/api_base_helper.dart'; 2 | 3 | class RestApiHandlerData { 4 | static ApiBaseHelper _apiBaseHelper = ApiBaseHelper(); 5 | static getData(String path) async { 6 | final response = await _apiBaseHelper.get('$path'); 7 | return response; 8 | } 9 | 10 | static postData(String path, dynamic body) async { 11 | final response = await _apiBaseHelper.post('$path', body); 12 | return response; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/weather-app/api_sdk/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/kotlin/com/example/app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.app 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/weather-app/app/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /examples/weather-app/app/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /examples/weather-app/app/assets/images/2.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/assets/images/2.0x/logo.png -------------------------------------------------------------------------------- /examples/weather-app/app/assets/images/3.0x/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/assets/images/3.0x/logo.png -------------------------------------------------------------------------------- /examples/weather-app/app/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/assets/images/logo.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /examples/weather-app/app/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /examples/weather-app/app/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:app/src/app.dart'; 2 | import 'package:app/src/utils/app_state_notifier.dart'; 3 | import 'package:flutter/material.dart'; 4 | import 'package:provider/provider.dart'; 5 | 6 | void main() { 7 | runApp( 8 | ChangeNotifierProvider( 9 | create: (_) => AppStateNotifier(), 10 | child: App(), 11 | ), 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /examples/weather-app/app/lib/src/config/image_constants.dart: -------------------------------------------------------------------------------- 1 | class AllImages { 2 | AllImages._(); 3 | static AllImages _instance = AllImages._(); 4 | factory AllImages() => _instance; 5 | 6 | String image = 'assets/image'; 7 | String logo = 'assets/images/logo.png'; 8 | String kDefaultImage = 9 | 'https://cdn.pixabay.com/photo/2016/08/08/09/17/avatar-1577909_1280.png'; 10 | } 11 | -------------------------------------------------------------------------------- /examples/weather-app/app/lib/src/utils/app_state_notifier.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppStateNotifier extends ChangeNotifier { 4 | bool isDarkMode = false; 5 | 6 | void updateTheme(bool isDarkMode) { 7 | this.isDarkMode = isDarkMode; 8 | notifyListeners(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/weather-app/app/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /examples/weather-app/app/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /examples/weather-app/app/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/weather-app/app/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /examples/weather-app/app/linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/weather-app/app/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/weather-app/app/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/web/favicon.png -------------------------------------------------------------------------------- /examples/weather-app/app/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/web/icons/Icon-192.png -------------------------------------------------------------------------------- /examples/weather-app/app/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/web/icons/Icon-512.png -------------------------------------------------------------------------------- /examples/weather-app/app/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /examples/weather-app/app/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /examples/weather-app/app/windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /examples/weather-app/app/windows/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | #include 10 | 11 | void RegisterPlugins(flutter::PluginRegistry* registry) { 12 | ConnectivityPlusWindowsPluginRegisterWithRegistrar( 13 | registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); 14 | } 15 | -------------------------------------------------------------------------------- /examples/weather-app/app/windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /examples/weather-app/app/windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /examples/weather-app/app/windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/app/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /examples/weather-app/clean_project.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd api_sdk 4 | echo "+++++API SDK pub clean+++++" 5 | flutter clean 6 | echo "+++++API SDK done+++++" 7 | 8 | 9 | cd ../shared 10 | echo "+++++Shared pub clean+++++" 11 | flutter clean 12 | echo "+++++Shared done+++++" 13 | 14 | cd ../app 15 | echo "+++++Main app pub clean+++++" 16 | flutter clean 17 | echo "+++++Cleaning done+++++" -------------------------------------------------------------------------------- /examples/weather-app/shared/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/main.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/auth.dart'; 2 | export 'package:shared/modules/authentication/bloc/bloc_controller.dart'; 3 | export 'package:shared/modules/weather_app/bloc/weather_bloc_public.dart'; 4 | export 'package:shared/modules/weather_app/models/weather_model.dart'; 5 | import 'package:shared_preferences/shared_preferences.dart'; 6 | 7 | Future prefs = SharedPreferences.getInstance(); 8 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/auth.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc_public.dart'; 2 | export 'package:shared/modules/authentication/models/auth_models_public.dart'; 3 | export 'package:shared/modules/authentication/models/firebase_user.dart'; 4 | export 'package:shared/modules/authentication/resources/authentication_repository.dart'; 5 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/bloc/authentication/authentication_bloc_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc.dart'; 2 | export 'package:shared/modules/authentication/bloc/authentication/authentication_event.dart'; 3 | export 'package:shared/modules/authentication/bloc/authentication/authentication_state.dart'; 4 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/bloc/bloc_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared/main.dart'; 2 | 3 | class AuthenticationBlocController { 4 | AuthenticationBlocController._(); 5 | static AuthenticationBlocController _instance = 6 | AuthenticationBlocController._(); 7 | factory AuthenticationBlocController() => _instance; 8 | 9 | // ignore: close_sinks 10 | AuthenticationBloc authenticationBloc = AuthenticationBloc(); 11 | } 12 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/models/auth_models_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/models/token.dart'; 2 | export 'package:shared/modules/authentication/models/user.dart'; 3 | export 'package:shared/modules/authentication/models/user_data.dart'; 4 | export 'package:shared/modules/authentication/models/current_user_data.dart'; 5 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/models/firebase_user.dart: -------------------------------------------------------------------------------- 1 | class UserFromFirebaseUser { 2 | final String uid; 3 | final String email; 4 | final String token; 5 | final String avatar; 6 | 7 | UserFromFirebaseUser({ 8 | this.uid, 9 | this.email, 10 | this.token, 11 | this.avatar = 12 | "https://i.pinimg.com/736x/89/90/48/899048ab0cc455154006fdb9676964b3.jpg", 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/models/token.dart: -------------------------------------------------------------------------------- 1 | class Token { 2 | String token; 3 | 4 | Token({this.token}); 5 | 6 | Token.fromJson(Map json) { 7 | token = json['token']; 8 | } 9 | 10 | Map toJson() { 11 | final Map data = new Map(); 12 | data['token'] = this.token; 13 | return data; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/models/user.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | class MyUser { 4 | final String name; 5 | final String email; 6 | 7 | MyUser({@required this.name, @required this.email}); 8 | 9 | @override 10 | String toString() => 'User { name: $name, email: $email}'; 11 | } 12 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/authentication/models/user_data.dart: -------------------------------------------------------------------------------- 1 | class UserData { 2 | int id; 3 | String token; 4 | 5 | UserData({this.id, this.token}); 6 | 7 | UserData.fromJson(Map json) { 8 | id = json['id']; 9 | token = json['token']; 10 | } 11 | 12 | Map toJson() { 13 | final Map data = new Map(); 14 | data['id'] = this.id; 15 | data['token'] = this.token; 16 | return data; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/weather_app/bloc/weather_bloc_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/weather_app/bloc/weather_bloc.dart'; 2 | export 'package:shared/modules/weather_app/bloc/weather_events.dart'; 3 | export 'package:shared/modules/weather_app/bloc/weather_states.dart'; 4 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/weather_app/bloc/weather_events.dart: -------------------------------------------------------------------------------- 1 | import 'package:equatable/equatable.dart'; 2 | 3 | abstract class WeatherEvents extends Equatable { 4 | @override 5 | List get props => throw UnimplementedError(); 6 | } 7 | 8 | class SearchClickedEvent extends WeatherEvents { 9 | final String city; 10 | 11 | SearchClickedEvent({this.city}); 12 | } 13 | -------------------------------------------------------------------------------- /examples/weather-app/shared/lib/modules/weather_app/resources/weather_resources.dart: -------------------------------------------------------------------------------- 1 | import 'dart:developer'; 2 | 3 | import 'package:api_sdk/main.dart'; 4 | 5 | class WeatherApiRepository { 6 | Future fetchWeather(String city) async { 7 | final response = await ApiSdk.getWeatherforCity(city); 8 | inspect(response); 9 | return response; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/weather-app/shared/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /examples/weather-app/weather-app.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/examples/weather-app/weather-app.gif -------------------------------------------------------------------------------- /flutter_starter_kit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/flutter_starter_kit.gif -------------------------------------------------------------------------------- /github_repo_list.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/github_repo_list.gif -------------------------------------------------------------------------------- /hacker_news.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/hacker_news.gif -------------------------------------------------------------------------------- /run_script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd api_sdk 4 | echo "+++++API SDK pub clean+++++" 5 | flutter clean 6 | echo "+++++API SDK pub get+++++" 7 | flutter pub get 8 | echo "+++++API SDK done+++++" 9 | 10 | 11 | cd ../shared 12 | echo "+++++Shared pub clean+++++" 13 | flutter clean 14 | echo "+++++Shared pub get+++++" 15 | flutter pub get 16 | echo "+++++Shared done+++++" 17 | 18 | cd ../app 19 | echo "+++++Main app pub clean+++++" 20 | flutter clean 21 | echo "+++++Main app pub get+++++" 22 | flutter pub get 23 | echo "+++++Main app run+++++" 24 | flutter run -------------------------------------------------------------------------------- /shared/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8874f21e79d7ec66d0457c7ab338348e31b17f1d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /shared/lib/main.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/auth.dart'; 2 | export 'package:shared/modules/authentication/bloc/bloc_controller.dart'; 3 | import 'package:shared_preferences/shared_preferences.dart'; 4 | 5 | Future prefs = SharedPreferences.getInstance(); 6 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/auth.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc_public.dart'; 2 | export 'package:shared/modules/authentication/models/auth_models_public.dart'; 3 | export 'package:shared/modules/authentication/models/firebase_user.dart'; 4 | export 'package:shared/modules/authentication/resources/authentication_repository.dart'; 5 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/bloc/authentication/authentication_bloc_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/bloc/authentication/authentication_bloc.dart'; 2 | export 'package:shared/modules/authentication/bloc/authentication/authentication_event.dart'; 3 | export 'package:shared/modules/authentication/bloc/authentication/authentication_state.dart'; 4 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/bloc/bloc_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared/main.dart'; 2 | 3 | class AuthenticationBlocController { 4 | AuthenticationBlocController._(); 5 | static AuthenticationBlocController _instance = 6 | AuthenticationBlocController._(); 7 | factory AuthenticationBlocController() => _instance; 8 | 9 | // ignore: close_sinks 10 | AuthenticationBloc authenticationBloc = AuthenticationBloc(); 11 | } 12 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/models/auth_models_public.dart: -------------------------------------------------------------------------------- 1 | export 'package:shared/modules/authentication/models/token.dart'; 2 | export 'package:shared/modules/authentication/models/user.dart'; 3 | export 'package:shared/modules/authentication/models/user_data.dart'; 4 | export 'package:shared/modules/authentication/models/current_user_data.dart'; 5 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/models/firebase_user.dart: -------------------------------------------------------------------------------- 1 | class UserFromFirebaseUser { 2 | final String uid; 3 | final String email; 4 | final String token; 5 | final String avatar; 6 | 7 | UserFromFirebaseUser({ 8 | this.uid, 9 | this.email, 10 | this.token, 11 | this.avatar = 12 | "https://i.pinimg.com/736x/89/90/48/899048ab0cc455154006fdb9676964b3.jpg", 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/models/token.dart: -------------------------------------------------------------------------------- 1 | class Token { 2 | String token; 3 | 4 | Token({this.token}); 5 | 6 | Token.fromJson(Map json) { 7 | token = json['token']; 8 | } 9 | 10 | Map toJson() { 11 | final Map data = new Map(); 12 | data['token'] = this.token; 13 | return data; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/models/user.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | class MyUser { 4 | final String name; 5 | final String email; 6 | 7 | MyUser({@required this.name, @required this.email}); 8 | 9 | @override 10 | String toString() => 'User { name: $name, email: $email}'; 11 | } 12 | -------------------------------------------------------------------------------- /shared/lib/modules/authentication/models/user_data.dart: -------------------------------------------------------------------------------- 1 | class UserData { 2 | int id; 3 | String token; 4 | 5 | UserData({this.id, this.token}); 6 | 7 | UserData.fromJson(Map json) { 8 | id = json['id']; 9 | token = json['token']; 10 | } 11 | 12 | Map toJson() { 13 | final Map data = new Map(); 14 | data['id'] = this.id; 15 | data['token'] = this.token; 16 | return data; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /shared/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | void main() {} 9 | -------------------------------------------------------------------------------- /weather_app.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/flutter-starter/e1ecfa12fedb25061d3719df76c493b44040ca11/weather_app.gif --------------------------------------------------------------------------------