Skip to content

Joy879/weather_project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


FoRe Weather App

A Python based weather dashboard.

Fore_screenshot

About the app 💡

A simple weather app that takes in data from OpenWeatherAPI and displays various aspects in a dashboard.

I wanted to explore Python based tools for frontend development especially because Python is the go to language for Data Science projects. Most of the time I have found that most python developers have to deal with the stress of working with JavaScript to build responsive web apps for their projects. I designed the weather dashboard that will dynamically retrieve and display weather maps and a graph of the temperatures of a specific location. Hard as it may be to imagine, a lot of the code for this app is in pure Python thanks to Dash and other wrapper libraries.

  • View the webapp here
  • View the blog here

How it works 🐾

A user selects a location from the dropdowm menu and gets to see the current weather status, temperatures both minimum and maximum, the humidity as a percentage as well as the weather icon displayed on that location's map. They also get to see a graph of 5-day temperature forecasts. A sneak preview is shown below:

FoRe_Trim.mp4

Main libraries used: 📚

Tool/Library Purpose
Dash Dashboard design
Dash Leaflet Responsive maps
Plotly Interactive Graphs 📊
pyowm Connect to OpenWeatherMap
Geopy Get coordinates of locations 📍
datetime display forecast dates 📅
mapbox create custom tile map

Main Feature 📌

User selects a location and gets all the latest weather information displayed in a visually pleasing manner.

Copy of FoRe MVP first look drawio (1)

All this is made possible through Dash. Dash has two main parts:

  • Layout - the HTML and DCC components that design the static webpage
  • Callbacks - Inputs and Outputs that define how the webpage becomes dynamic

Installation 📥

Prerequisites:

  • An OpenWeatherMap free account which will give you access to an API key

  • Choose a map tile layer of your choice either by creating a mapbox free account and designing your tiles in mapbox studio or choosing from the existing list of available tile options

            git clone this project into your machine
            pip install -r requirements.txt
    

Licensing 🔒

This project is licensed under the MIT License - see the LICENSE file for details.

Future

I am looking forward to collecting more data and completing this project from a data science perspective. The main inspiration being that it is not enough to just present numbers to people. What does a forecast of 26 degrees celsius minimum temperatures really mean for a farmer or a traveller? I am keen on exploring weather variables and how they affect various demographies and how we can assimilate an informative product that shows forecasts and recommended activities.

If you have any ideas or suggestions or conributions feel free to reach out to me via mail 📧

Author ✒️

Joy Wanjiru

I am a data science enthusiast and a software engineer and I love working with Python especially because of it's vast pool of libraries for scientific computing

Releases

No releases published

Packages

No packages published

Languages

  • CSS 65.6%
  • Python 34.3%
  • Procfile 0.1%