{"id":22031878,"url":"https://github.com/chmuhammadasim/wethery","last_synced_at":"2026-05-03T23:35:44.083Z","repository":{"id":250100771,"uuid":"831512855","full_name":"chmuhammadasim/wethery","owner":"chmuhammadasim","description":"The Weather App is a Flutter application that provides weather information for a given city or the user's current location. ","archived":false,"fork":false,"pushed_at":"2024-07-25T05:10:06.000Z","size":290,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-23T06:45:48.422Z","etag":null,"topics":["dart","flutter","flutter-apps","project","weather-app"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chmuhammadasim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-20T19:19:32.000Z","updated_at":"2024-07-25T05:11:46.000Z","dependencies_parsed_at":"2024-07-25T07:27:57.398Z","dependency_job_id":"722a8be3-0760-4e41-9b26-92dd15870112","html_url":"https://github.com/chmuhammadasim/wethery","commit_stats":null,"previous_names":["chmuhammadasim/wethery"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chmuhammadasim/wethery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chmuhammadasim%2Fwethery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chmuhammadasim%2Fwethery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chmuhammadasim%2Fwethery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chmuhammadasim%2Fwethery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chmuhammadasim","download_url":"https://codeload.github.com/chmuhammadasim/wethery/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chmuhammadasim%2Fwethery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32589262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","flutter","flutter-apps","project","weather-app"],"created_at":"2024-11-30T08:24:02.068Z","updated_at":"2026-05-03T23:35:44.067Z","avatar_url":"https://github.com/chmuhammadasim.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Weather App\n\n## Overview\n\nThe Weather App is a Flutter application that provides weather information for a given city or the user's current location. The app allows users to input a city name to fetch weather data and save weather data for multiple cities. It uses the WeatherAPI to fetch current weather data and Geolocator for location services.\n\n## Features\n\n- **Fetch Weather by City Name**: Enter a city name to get the current weather information.\n- **Fetch Weather by Current Location**: Use the device's location to get the weather information.\n- **Save Weather Data**: Save weather data for multiple cities.\n- **Animated UI**: Smooth transitions and animations for better user experience.\n- **Error Handling**: Displays appropriate error messages when fetching data fails.\n- **Offline Capabilities**: View saved weather data without an internet connection.\n\n## Screenshots\n\n![App Screenshot](link-to-screenshot-1)\n![App Screenshot](link-to-screenshot-2)\n\n## Installation\n\n### Prerequisites\n\nEnsure you have the following installed:\n\n- [Flutter SDK](https://flutter.dev/docs/get-started/install)\n- [Dart SDK](https://dart.dev/get-dart)\n- [Android Studio](https://developer.android.com/studio) or [Visual Studio Code](https://code.visualstudio.com/) with Flutter and Dart plugins\n\n### Clone the Repository\n\nClone the repository to your local machine:\n```bash\ngit clone https://github.com/yourusername/weatherapp.git\ncd weatherapp\n```\n\n### Install Dependencies\n\nNavigate to the project directory and install the required dependencies:\n```bash\nflutter pub get\n```\n\n### Run the App\n\nTo run the app on an emulator or a connected device, use:\n```bash\nflutter run\n```\n\n## Configuration\n\n### API Key\n\nReplace the `apiKey` in the `WeatherScreenState` class with your own API key from [WeatherAPI](https://www.weatherapi.com/):\n```dart\nfinal String apiKey = 'YOUR_API_KEY';\n```\n\n### Permissions\n\n#### Android\n\nUpdate `AndroidManifest.xml` to include the necessary permissions:\n```xml\n\u003cuses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/\u003e\n\u003cuses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/\u003e\n\u003cuses-permission android:name=\"android.permission.INTERNET\"/\u003e\n\n\u003capplication\n    android:label=\"Weather App\"\n    android:icon=\"@mipmap/ic_launcher\"\u003e\n    \u003cuses-library android:name=\"org.apache.http.legacy\" android:required=\"false\"/\u003e\n\u003c/application\u003e\n```\n\n#### iOS\n\nUpdate `Info.plist` to include the necessary permissions:\n```xml\n\u003ckey\u003eNSLocationWhenInUseUsageDescription\u003c/key\u003e\n\u003cstring\u003eWe need your location to provide weather updates.\u003c/string\u003e\n\u003ckey\u003eNSLocationAlwaysAndWhenInUseUsageDescription\u003c/key\u003e\n\u003cstring\u003eWe need your location to provide weather updates.\u003c/string\u003e\n\u003ckey\u003eNSAppTransportSecurity\u003c/key\u003e\n\u003cdict\u003e\n    \u003ckey\u003eNSAllowsArbitraryLoads\u003c/key\u003e\n    \u003ctrue/\u003e\n\u003c/dict\u003e\n```\n\n## Code Structure\n\n### `main.dart`\n\n- **Entry Point**: Sets up the application and defines the main `MyApp` widget.\n\n### `WeatherScreen`\n\n- **UI and Logic for Weather Data**: Handles user input for city names, fetching weather data, displaying weather information, and saving weather data.\n\n### `fetchWeather` Method\n\n- Fetches weather data for a given city using the WeatherAPI.\n\n### `fetchWeatherByLocation` Method\n\n- Fetches weather data for the current location using Geolocator to get the device's coordinates.\n\n### `AnimationController`\n\n- Manages animations for smooth transitions when displaying weather data.\n\n## Dependencies\n\n- [http](https://pub.dev/packages/http): For making HTTP requests to the WeatherAPI.\n- [geolocator](https://pub.dev/packages/geolocator): For accessing device location.\n- [flutter](https://flutter.dev): The framework for building the app.\n\n## Usage\n\n1. **Fetch Weather by City**: Enter a city name and tap the \"Get Weather\" button to fetch and display the weather information.\n2. **Fetch Weather by Location**: Tap the location icon in the app bar to fetch and display weather information based on the current location.\n3. **Save Weather Data**: Tap the save icon in the app bar to save the current weather data. The saved data will be displayed below the current weather information.\n\n## Contributing\n\nWe welcome contributions to improve the app. To contribute:\n\n1. **Fork the Repository**: Create your own copy of the project.\n2. **Create a Branch**: Work on a new feature or bug fix in a separate branch.\n3. **Submit a Pull Request**: Submit a pull request with a description of your changes.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Contact\n\nFor any questions, issues, or suggestions, please open an issue on the GitHub repository or contact me at [muhammadasimchattha@gmail.com](mailto:muhammadasimchattha@gmail.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchmuhammadasim%2Fwethery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchmuhammadasim%2Fwethery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchmuhammadasim%2Fwethery/lists"}