Inspiration
We were inspired by the AccuWeather challenge and by the belief that everybody, regardless of how much time they have to sift through the weather, is entitled to a beautiful day outside.
What it does
This web app takes a city name from the user and provides time slots within the next three days when the weather should be best suited for being outdoors. A simple algorithm determines when the weather outside will be nicest relative to other times within the window and displays these times with basic weather data like temperature, cloud cover, and the probability of precipitation.
How we built it
We employed two AccuWeather APIs: the city search Location API which yields the unique location key for a typed city name and the 72-hour forecast API which produces hourly weather data for a location given its unique location key. Linking these together allows a user to search for a city by name and see weather data for that location. This back end functionality was integrated with an HTML front end with CSS formatting via Flask to deliver our final web app.
Challenges we ran into
Initially, we intended to inform the user of the weather conditions at nearby points of interest (amusement or nature parks, etc) within a designated radius, but the AccuWeather Points of Interest Location API didn't yield expected or useful results. We knew Google's Maps API could replace this functionality, but time/energy constraints didn't allow us to implement this work-around. As a result, our final product is less utilitarian than we imagined.
Accomplishments that we're proud of
Successfully implementing two APIs within a Python back end to an HTML front end by the end of the short time frame given the number of obstacles we came up to felt an accomplishment, especially we hadn't particularly worked with these tools before. We had a varied set of skills within our group that we combined to produce something us individuals wouldn't have been able to alone in so short a period. As developing developers, meshing our skills to increase our combined utility was an accomplishment for us.
What we learned
We learned that JSON files can save you much time scraping/manipulating data if you take advantage of their structure. Also, we collectively learned much through the process of working with tools we hadn't used before. For example, a couple of us hadn't worked much in Python but were handy with HTML; Flask was a newly found tool for us; and now we understand the use of cURL.
What's next for Project Goldilocks
Our next step would definitely be to implement Google Maps API so we could show the user weather information about nearby attractions, which would take our web app to a higher level of utility. Currently, finding the weather data for a singular location is about 3 clicks away on your mobile weather app. However, if we could perform weather quality comparisons for a number of locations of interest, we'd be automating a task the user would have otherwise performed manually: a central goal of computing. After that, we would definitely want to sharpen and refine our HTML interface, improve the quality of our weather reports, and host the web app on a public domain.
Log in or sign up for Devpost to join the conversation.