Weather App that allows you to check the weather in different cities around the world, built with Flutter

Weatrio App

An Weather App to check the weather around the world!

? Table of Contents

? About the Project

“Weatrio App” is an Weather Application that allows you to check the weather in different cities around the world.

‼️ Folder Structure

Here is the code folder structure.

weatrio/
|- android
|- ios
|- build
|- lib/
  |-- screens
  |-- serivces
  |-- utilities
|- fonts
|- images

Now, lets dive into the lib folder which has the main code for the application.

utilities

constants.dart – All the application level constants. Specifically, this constants.dart file contains theme classes for app widgets.

services

location.dart – This code implementing the Location class in order to get current location with Geolocator.

networking.dart – This code implementing the Network Helper class in order to communicate with OpenWeatherMap API using http protocol and decoding the data which written in json format.

weather.dart – This code implementing the WeatherModel class in order to retreive weather data from OpenWeatherMap API and modify conditional information according to the data.

screens (activities)

city_screen.dart – This code is the welcome screen, where the user need to provide city name. Take a look at the screenshot of this activity at the top.

loading_screen.dart – This code is the loading screen, kind of splash screen that runs until the necessary weather data is received.

location_screen.dart – This code is the location screen, where all the weather data in the requested city is displayed to the user. Take a look at the screenshot of this activity at the top.

? Tech Stack

(back to top)

? Getting Started

⚙️ Installation

Step 1:

Download or clone this repo by using the link below:

 https://github.com/ladunjexa/weatrio-app

Step 2:

Go to project root and execute the following command in console to get the required dependencies:

  flutter pub get

? Run Locally

Clone the project

  git clone https://github.com/ladunjexa/weatrio-app

Go to the project directory

  cd weatrio-app

Install dependencies

  flutter pub get

Start the application

  flutter run

(back to top)

? Usage

“Weatrio App” rely on an external dependencies and services like OpenWeatherMap API and Geolocator. Therefore, in order for the application to work correctly, you will need to obtain get a free API Key at https://openweathermap.org/

After you get your free API key, look for weather.dart which located in lib/services/. Search for the following line, and replace the string with your new API key.

const apiKey = 'INSERT-YOUR-API-KEY-HERE';

(back to top)

? Contributing

Contributions are always welcome!

See contributing.md for ways to get started.

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag “enhancement”. Don’t forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

? Contact

Liron Abutbul – @lironabutbul6@ladunjexa

Project Link: https://github.com/ladunjexa/weatrio-app

(back to top)

? Acknowledgements

This section used to mention useful resources and libraries that used in Weatrio App project.

(back to top)

GitHub

View Github