When we designed and wrote this program, we were very inspired by the way the challenge options we chose could all intertwine with one another in relation to weather, in a way that betters life for the user.
What it does
This program takes the name of any town/city, displays the current weather conditions of that place through the Accuweather API, displays the level of driving safety in accordance to that place's current weather and time of day, displays the current outdoor comfort based on that location's weather, temperature, and time of day, and allows all of that information to be compiled and sent to a phone via text message.
How we built it
We built two classes: one composing of the GUI, and the other composing of a combination of the Accuweather API and the Twilio API.
For the project as a whole, we used Java. However, for the GUI, we used a combination of Java and JavaFX.
More specifically, we took a user input of a town/city from a text field in the GUI. Then, we sent that town/city input to our API class. In that class, we manipulated the weather data corresponding to that location to calculate and display the current weather conditions, driving safety, and outdoor comfort of that place. We also used our API class to give the user an option to have all of that data (location, weather conditions, driving safety, and outdoor comfort) compiled and sent to a phone via text message.
Challenges we ran into
The main challenge we encountered (and overcame) was learning how to use APIs through the Unirest library, as no one on our team had any prior experience dealing with APIs before this event.
Accomplishments that we're proud of
The accomplishment we are most proud of after this event is learning how to use and implement APIs.
What we learned
From this event, we learned how to receive data from an API using the Unirest library, and we also learned how to receive individual objects and then values from the JSONNode Objects that the API would return to us. We learned how to use Github, and we also learned vital teamwork skills that will be extremely valuable in any future career path.
What's next for Weather API
Next, we may consider adding hourly weather updates for weather notifications, and more ways that a user can receive weather updates (email, phone call, etc.). We also may want to add more detailed weather reports and conditions for driving safety and outdoor comfort. Also, we may want to add more options for choosing the location (state, country, etc).