/WeatherApp

An intuitive weather app that shows you the current weather based on your location (automatically judges location after permission grant).

Primary LanguageDart

Clima ☁

Goal

The objective of this project was to be introduced to Asynchronous programming in Dart, and how to implement that to fetch Weather Data from an API Source based on the user's current location. It also provides the users with an option to enter a specific city name and fetch weather data for that particular city. Failing to get Weather is also handled through exception handling and the users are greeted with an error message.

What I have created...

I have made a weather app inspired by the beautiful designs made by Olia Gozha. Using this app, a user would be able to find out the live weather data in the current location of the device as well as the weather for any city you can think of!

Finished App

What I have learned through this module...

  • How to use Dart to perform asynchronous tasks.
  • Understand async and await.
  • Learn about Futures and how to work with them.
  • How to network with the Dart http package.
  • What APIs are and how to use them to get data from the internet.
  • What JSONs are and how to parse them using the Dart convert package.
  • How to pass data forwards and backwards between screens using the Navigator.
  • How to handle exceptions in Dart using try/catch/throw.
  • Learn about the lifecycle of Stateful Widgets and how to override them.
  • How to use the Geolocator package to get live location data for both iOS and Android.
  • How to use the TextField Widget to take user input.

Future Ideas that may be worked upon

  • Enhancing the UI of the app to make it look more visually appealing and user friendly.
  • Also encoporating a much wider weather description that includes humidity, all-day-forecast, precipitation, and also weekly weather forecasts.
  • To include drop-down suggestions for city names as the user types along in the search bar, which may be implemented using Google Places API.

This is a companion project to The App Brewery's Complete Flutter Development Bootcamp, check out the full course at www.appbrewery.co