Have you ever wanted to fly somewhere warm? Or maybe just somewhere where there isn't any chance for rain? We wanted to create an aplication that will propose a perfect spot for your vacation.
What it does
It is a web application that will help you select your last minute travel destination based on the weather that you prefer.
All you have to do is:
- Select your travel start point
- Pick your departure after date
- Pick your return before date
- Select your weather preferences: sunny, cloudy or partly?
- Check if you are okay with some rain?
- Select the temperature range you are interested in.
- Click the let's fly button and wait for your results.
As the output you get a list of flights from airports in the range of 500 km from your start point. All proposed flight destination match your weather preferences.
How we built it
We built it using Angular for the front-end and Java Spring framework for the backend.
Our application preforms calls to several api's to achieve the final result. The flow:
- We find aiports in range of 500 km from your start point.
- We find all the flights from those airports in the chosen time and matching the selected duration.
- We find the predicted weather for the found destinations.
- We filter the localizations to those that match the weather you selected.
- We change the localizations airport codes to city names, so it is easier to read where you are going to travel.
- We send the output list to the front-end and present the destinations.
In our app we use:
- https://darksky.net/dev and the Time Machine Request to find the weather predictions for the travel destinations
- Amadeus Airport Nearest Relevant v1 to find the aiports in a 500 km range from your start point
- Amadeus Flight Inspiration Search v1 to find the flights from the found airports in your selected dates and duration
- iataGEO API to find the airports city names based on the airport code
Challenges we ran into
The weather api we decidied to use for predicting the weather turned out to work only one week ahead. Even though the documentation stated differently.
We had trouble combining Amadeus API's to obtain the link to buying the found airplane travel tickets.
We had trouble with the amadeus's access-token lifetime (1.7 s just wasn't enough).
Accomplishments that we're proud of
We where able to integrate several API's to achieve the goal.
What we learned
To plan our work better in the future. And to test the API's we decide to use more thoroughly at the begining.
What's next for HackTheJourney-LetsFly
The most important next step would be adding the buy now link. Which would allow the user to start buying the ticket with just one click.