├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android ├── .gitignore ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── besenior │ │ │ │ └── flutter_advanced_course │ │ │ │ └── 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 │ ├── icons8-clouds-80.png │ ├── icons8-heavy-rain-80.png │ ├── icons8-partly-cloudy-day-80.png │ ├── icons8-rain-cloud-80.png │ ├── icons8-snow-80.png │ ├── icons8-storm-80.png │ ├── icons8-sun-96.png │ ├── icons8-windy-weather-80.png │ ├── nightpic.jpg │ └── pic_bg.jpg ├── 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 ├── core │ ├── params │ │ └── ForecastParams.dart │ ├── resources │ │ └── data_state.dart │ ├── usecase │ │ └── use_case.dart │ ├── utils │ │ ├── constants.dart │ │ └── date_converter.dart │ └── widgets │ │ ├── app_background.dart │ │ ├── bottom_nav.dart │ │ ├── dot_loading_widget.dart │ │ └── main_wrapper.dart ├── features │ ├── feature_bookmark │ │ ├── data │ │ │ ├── data_source │ │ │ │ └── local │ │ │ │ │ ├── city_dao.dart │ │ │ │ │ ├── database.dart │ │ │ │ │ └── database.g.dart │ │ │ └── repository │ │ │ │ └── city_repositoryimpl.dart │ │ ├── domain │ │ │ ├── entities │ │ │ │ └── city_entity.dart │ │ │ ├── repository │ │ │ │ └── city_repository.dart │ │ │ └── use_cases │ │ │ │ ├── delete_city_usecase.dart │ │ │ │ ├── get_all_city_usecase.dart │ │ │ │ ├── get_city_usecase.dart │ │ │ │ └── save_city_usecase.dart │ │ └── presentation │ │ │ ├── bloc │ │ │ ├── bookmark_bloc.dart │ │ │ ├── bookmark_event.dart │ │ │ ├── bookmark_state.dart │ │ │ ├── delete_city_status.dart │ │ │ ├── get_all_city_status.dart │ │ │ ├── get_city_status.dart │ │ │ └── save_city_status.dart │ │ │ └── screens │ │ │ └── bookmark_screen.dart │ └── feature_weather │ │ ├── data │ │ ├── data_source │ │ │ └── remote │ │ │ │ └── api_provider.dart │ │ ├── models │ │ │ ├── ForcastDaysModel.dart │ │ │ ├── current_city_model.dart │ │ │ └── suggest_city_model.dart │ │ └── repository │ │ │ └── weather_repositoryImpl.dart │ │ ├── domain │ │ ├── entities │ │ │ ├── current_city_entity.dart │ │ │ ├── forecase_days_entity.dart │ │ │ └── suggest_city_entity.dart │ │ ├── repository │ │ │ └── weather_repository.dart │ │ └── use_cases │ │ │ ├── get_current_weather_usecase.dart │ │ │ ├── get_forecast_weather_usecase.dart │ │ │ └── get_suggestion_city_usecase.dart │ │ └── presentation │ │ ├── bloc │ │ ├── cw_status.dart │ │ ├── fw_status.dart │ │ ├── home_bloc.dart │ │ ├── home_event.dart │ │ └── home_state.dart │ │ ├── screens │ │ └── home_screen.dart │ │ └── widgets │ │ ├── bookmark_icon.dart │ │ └── day_weather_view.dart ├── locator.dart └── main.dart ├── pubspec.lock ├── pubspec.yaml └── test ├── core └── utils │ └── date_converter_test.dart └── features └── feature_weather └── presentation └── bloc ├── home_bloc_test.dart └── home_bloc_test.mocks.dart /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/.gitignore -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/.metadata -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/README.md -------------------------------------------------------------------------------- /analysis_options.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/analysis_options.yaml -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/.gitignore -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/build.gradle -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/debug/AndroidManifest.xml -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/besenior/flutter_advanced_course/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/kotlin/com/besenior/flutter_advanced_course/MainActivity.kt -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/drawable-v21/launch_background.xml -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/drawable/launch_background.xml -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/values-night/styles.xml -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/app/src/profile/AndroidManifest.xml -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/build.gradle -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/gradle.properties -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/android/settings.gradle -------------------------------------------------------------------------------- /assets/images/icons8-clouds-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-clouds-80.png -------------------------------------------------------------------------------- /assets/images/icons8-heavy-rain-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-heavy-rain-80.png -------------------------------------------------------------------------------- /assets/images/icons8-partly-cloudy-day-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-partly-cloudy-day-80.png -------------------------------------------------------------------------------- /assets/images/icons8-rain-cloud-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-rain-cloud-80.png -------------------------------------------------------------------------------- /assets/images/icons8-snow-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-snow-80.png -------------------------------------------------------------------------------- /assets/images/icons8-storm-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-storm-80.png -------------------------------------------------------------------------------- /assets/images/icons8-sun-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-sun-96.png -------------------------------------------------------------------------------- /assets/images/icons8-windy-weather-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/icons8-windy-weather-80.png -------------------------------------------------------------------------------- /assets/images/nightpic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/nightpic.jpg -------------------------------------------------------------------------------- /assets/images/pic_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/assets/images/pic_bg.jpg -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/.gitignore -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Flutter/AppFrameworkInfo.plist -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Flutter/Debug.xcconfig -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Flutter/Release.xcconfig -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Podfile -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Podfile.lock -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/AppDelegate.swift -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/ios/Runner/Info.plist -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /lib/core/params/ForecastParams.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/params/ForecastParams.dart -------------------------------------------------------------------------------- /lib/core/resources/data_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/resources/data_state.dart -------------------------------------------------------------------------------- /lib/core/usecase/use_case.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/usecase/use_case.dart -------------------------------------------------------------------------------- /lib/core/utils/constants.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/utils/constants.dart -------------------------------------------------------------------------------- /lib/core/utils/date_converter.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/utils/date_converter.dart -------------------------------------------------------------------------------- /lib/core/widgets/app_background.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/widgets/app_background.dart -------------------------------------------------------------------------------- /lib/core/widgets/bottom_nav.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/widgets/bottom_nav.dart -------------------------------------------------------------------------------- /lib/core/widgets/dot_loading_widget.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/widgets/dot_loading_widget.dart -------------------------------------------------------------------------------- /lib/core/widgets/main_wrapper.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/core/widgets/main_wrapper.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/data/data_source/local/city_dao.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/data/data_source/local/city_dao.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/data/data_source/local/database.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/data/data_source/local/database.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/data/data_source/local/database.g.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/data/data_source/local/database.g.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/data/repository/city_repositoryimpl.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/data/repository/city_repositoryimpl.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/domain/entities/city_entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/domain/entities/city_entity.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/domain/repository/city_repository.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/domain/repository/city_repository.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/domain/use_cases/delete_city_usecase.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/domain/use_cases/delete_city_usecase.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/domain/use_cases/get_all_city_usecase.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/domain/use_cases/get_all_city_usecase.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/domain/use_cases/get_city_usecase.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/domain/use_cases/get_city_usecase.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/domain/use_cases/save_city_usecase.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/domain/use_cases/save_city_usecase.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/bloc/bookmark_bloc.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/bloc/bookmark_bloc.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/bloc/bookmark_event.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/bloc/bookmark_event.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/bloc/bookmark_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/bloc/bookmark_state.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/bloc/delete_city_status.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/bloc/delete_city_status.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/bloc/get_all_city_status.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/bloc/get_all_city_status.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/bloc/get_city_status.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/bloc/get_city_status.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/bloc/save_city_status.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/bloc/save_city_status.dart -------------------------------------------------------------------------------- /lib/features/feature_bookmark/presentation/screens/bookmark_screen.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_bookmark/presentation/screens/bookmark_screen.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/data/data_source/remote/api_provider.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/data/data_source/remote/api_provider.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/data/models/ForcastDaysModel.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/data/models/ForcastDaysModel.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/data/models/current_city_model.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/data/models/current_city_model.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/data/models/suggest_city_model.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/data/models/suggest_city_model.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/data/repository/weather_repositoryImpl.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/data/repository/weather_repositoryImpl.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/domain/entities/current_city_entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/domain/entities/current_city_entity.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/domain/entities/forecase_days_entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/domain/entities/forecase_days_entity.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/domain/entities/suggest_city_entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/domain/entities/suggest_city_entity.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/domain/repository/weather_repository.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/domain/repository/weather_repository.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/domain/use_cases/get_current_weather_usecase.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/domain/use_cases/get_current_weather_usecase.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/domain/use_cases/get_forecast_weather_usecase.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/domain/use_cases/get_forecast_weather_usecase.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/domain/use_cases/get_suggestion_city_usecase.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/domain/use_cases/get_suggestion_city_usecase.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/bloc/cw_status.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/bloc/cw_status.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/bloc/fw_status.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/bloc/fw_status.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/bloc/home_bloc.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/bloc/home_bloc.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/bloc/home_event.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/bloc/home_event.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/bloc/home_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/bloc/home_state.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/screens/home_screen.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/screens/home_screen.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/widgets/bookmark_icon.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/widgets/bookmark_icon.dart -------------------------------------------------------------------------------- /lib/features/feature_weather/presentation/widgets/day_weather_view.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/features/feature_weather/presentation/widgets/day_weather_view.dart -------------------------------------------------------------------------------- /lib/locator.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/locator.dart -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/lib/main.dart -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/pubspec.lock -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/pubspec.yaml -------------------------------------------------------------------------------- /test/core/utils/date_converter_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/test/core/utils/date_converter_test.dart -------------------------------------------------------------------------------- /test/features/feature_weather/presentation/bloc/home_bloc_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/test/features/feature_weather/presentation/bloc/home_bloc_test.dart -------------------------------------------------------------------------------- /test/features/feature_weather/presentation/bloc/home_bloc_test.mocks.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhmd435/Flutter-Advanced-Course/HEAD/test/features/feature_weather/presentation/bloc/home_bloc_test.mocks.dart --------------------------------------------------------------------------------