EasyWeather
71 |A simple, lightweight & on the go
72 | Weather app for your phone
-
74 |
- Download Now 75 |
- View on GitHub 76 |
Effective Date: Jan 01, 2025
35 | 36 |Welcome to EasyWeather, a mobile application developed by Shivam Goyal. This open-source app, available at GitHub, provides weather updates based on your current location. We are committed to protecting your privacy and ensuring transparency about how we handle your information.
38 | 39 |EasyWeather requires access to your device's location to provide weather updates for your current location. The app uses your location data solely for this purpose and does not collect, store, or share this information with any third party.
41 | 42 |Your location data is used in real-time to fetch weather information from trusted weather service providers. Once the weather data is displayed, your location data is discarded. No information is stored or retained by the app.
44 | 45 |EasyWeather does not share your location data or any other personal information with third parties.
47 | 48 |EasyWeather uses weather data from OpenWeatherMap. While we strive to provide accurate information, we are not responsible for any incorrect data provided by the service.
50 | 51 |EasyWeather is an open-source project. You can review the source code and contribute to the project at GitHub. This ensures transparency in how the app processes data.
53 | 54 |By using EasyWeather, you consent to the app accessing your device's location for the sole purpose of fetching weather data. If you do not agree with this policy, please do not use the app.
56 | 57 |We may update this privacy policy from time to time. Any changes will be posted on this page, and the effective date will be updated accordingly. We encourage you to review the policy periodically.
59 | 60 |If you have any questions or concerns about this privacy policy, please contact Shivam Goyal at hey@shyvum.in.
62 | 63 |Thank you for using EasyWeather!
64 |
2 |
3 |
4 |
5 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
21 | EasyWeather uses OpenWeatherMap.org API to get the realtime weather statistics. 22 |
23 |24 | Show some love 💜 and Star ⭐️ the Repository to support the project. 25 |
26 | 27 | ## :bookmark_tabs: What’s In This Document 28 | 29 | - [Get Up and Running in 5 Minutes](#rocket-get-up-and-running-in-5-minutes) 30 | - [Flutter / Dart Packages Used](#ballot_box-flutter--dart-packages-used) 31 | - [Versioning](#label-versioning) 32 | - [Queries / Bugs](#question-queries--bugs) 33 | - [License](#memo-license) 34 | - [Thanks to Contributors and Sponsors](#purple_heart-thanks) 35 | 36 | ## :rocket: Get Up and Running in 5 Minutes 37 | 38 | You can get the EasyWeather up and running on your local dev environment in 5 minutes with these four steps: 39 | 40 | 1. **Install the Flutter SDK & Android Studio. [Instructions](https://blog.shyvum.in/install-flutter-on-windows-and-mac).** 41 | 42 | 2. **Open Terminal & navigate to the root directory of the project.** 43 | 44 | ```shell 45 | cd EasyWeather 46 | ``` 47 | 48 | 3. **Run and launch the build on preferred device.** 49 | 50 | ```shell 51 | flutter run 52 | ``` 53 | 54 | 4. **Open the source code and start editing!** 55 | 56 | Your app is now running on your physical device or emulator. Open the `lib` directory in Android Studio itself and edit `*.dart` files. Hot Reload your changes, and the app will update in real time! 57 | 58 | At this point, you’ve got the fully functional EasyWeather App running. For additional information on how you can customize your Flutter Apps, see [Google Codelabs](https://codelabs.developers.google.com/codelabs/flutter/) and [HackerNoon Guide](https://hackernoon.com/making-the-most-of-flutter-from-basics-to-customization-433171581d01). 59 | 60 | ## :ballot_box: Flutter / Dart Packages Used 61 | 62 | - [cupertino_icons](https://pub.dev/packages/cupertino_icons) 63 | - [intl](https://pub.dev/packages/intl) 64 | - [geolocator](https://pub.dev/packages/geolocator) 65 | - [share](https://pub.dev/packages/share) 66 | - [http](https://pub.dev/packages/http) 67 | - [url_launcher](https://pub.dev/packages/url_launcher) 68 | 69 | ## :label: Versioning 70 | I've used [Semantic Versioning 2.0.0](https://semver.org/) for versioning throughout the project. 71 | 72 | ## :question: Queries / Bugs 73 | If you got any queries or found a bug, open an [Issue](https://github.com/shyvum/EasyWeather/issues/new) or ping me over on [hey@shyvum.in](mailto:hey@shyvum.in) 74 | 75 | ## :memo: License 76 | Licensed under the [MIT License](./LICENSE). 77 | 78 | ## :purple_heart: Thanks 79 | Thanks to all contributors and to sponsors for supporting the project. 80 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: easyweather 2 | description: "Is it Sunny, duh?" 3 | # The following line prevents the package from being accidentally published to 4 | # pub.dev using `flutter pub publish`. This is preferred for private packages. 5 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev 6 | 7 | # The following defines the version and build number for your application. 8 | # A version number is three numbers separated by dots, like 1.2.43 9 | # followed by an optional build number separated by a +. 10 | # Both the version and the builder number may be overridden in flutter 11 | # build by specifying --build-name and --build-number, respectively. 12 | # In Android, build-name is used as versionName while build-number used as versionCode. 13 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning 14 | # In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. 15 | # Read more about iOS versioning at 16 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html 17 | # In Windows, build-name is used as the major, minor, and patch parts 18 | # of the product and file versions while build-number is used as the build suffix. 19 | version: 1.0.1+2 20 | 21 | environment: 22 | sdk: ^3.6.0 23 | 24 | # Dependencies specify other packages that your package needs in order to work. 25 | # To automatically upgrade your package dependencies to the latest versions 26 | # consider running `flutter pub upgrade --major-versions`. Alternatively, 27 | # dependencies can be manually updated by changing the version numbers below to 28 | # the latest version available on pub.dev. To see which dependencies have newer 29 | # versions available, run `flutter pub outdated`. 30 | dependencies: 31 | flutter: 32 | sdk: flutter 33 | http: ^1.2.2 34 | geolocator: ^13.0.2 35 | url_launcher: ^6.3.1 36 | intl: ^0.20.1 37 | google_fonts: ^6.2.1 38 | permission_handler: ^11.3.1 39 | connectivity_plus: ^6.1.1 40 | flutter_launcher_icons: ^0.14.2 41 | 42 | dev_dependencies: 43 | flutter_test: 44 | sdk: flutter 45 | 46 | # The "flutter_lints" package below contains a set of recommended lints to 47 | # encourage good coding practices. The lint set provided by the package is 48 | # activated in the `analysis_options.yaml` file located at the root of your 49 | # package. See that file for information about deactivating specific lint 50 | # rules and activating additional ones. 51 | flutter_lints: ^5.0.0 52 | 53 | # For information on the generic Dart part of this file, see the 54 | # following page: https://dart.dev/tools/pub/pubspec 55 | 56 | # The following section is specific to Flutter packages. 57 | flutter: 58 | 59 | # The following line ensures that the Material Icons font is 60 | # included with your application, so that you can use the icons in 61 | # the material Icons class. 62 | uses-material-design: true 63 | 64 | # To add assets to your application, add an assets section, like this: 65 | assets: 66 | - assets/images/ 67 | 68 | # An image asset can refer to one or more resolution-specific "variants", see 69 | # https://flutter.dev/to/resolution-aware-images 70 | 71 | # For details regarding adding assets from package dependencies, see 72 | # https://flutter.dev/to/asset-from-package 73 | 74 | # To add custom fonts to your application, add a fonts section here, 75 | # in this "flutter" section. Each entry in this list should have a 76 | # "family" key with the font family name, and a "fonts" key with a 77 | # list giving the asset and other descriptors for the font. For 78 | # example: 79 | # fonts: 80 | # - family: Schyler 81 | # fonts: 82 | # - asset: fonts/Schyler-Regular.ttf 83 | # - asset: fonts/Schyler-Italic.ttf 84 | # style: italic 85 | # - family: Trajan Pro 86 | # fonts: 87 | # - asset: fonts/TrajanPro.ttf 88 | # - asset: fonts/TrajanPro_Bold.ttf 89 | # weight: 700 90 | # 91 | # For details regarding fonts from package dependencies, 92 | # see https://flutter.dev/to/font-from-package 93 | -------------------------------------------------------------------------------- /lib/model/weather.dart: -------------------------------------------------------------------------------- 1 | import 'dart:convert'; 2 | 3 | Weather weatherFromJson(String str) => Weather.fromJson(json.decode(str)); 4 | 5 | String weatherToJson(Weather data) => json.encode(data.toJson()); 6 | 7 | class Weather { 8 | final Coord coord; 9 | final ListA simple, lightweight & on the go
72 | Weather app for your phone
