Journey Buddy

Journey Buddy is a travel planner app that displays points of interest within a specified radius around a place, flight cheapest dates, flight offers, and offer detail. In addition to that, users have the option to explore a point of interest in virtual reality (VR).

To use the app, please visit, Please wait a few seconds as the app loads, if necessary. You can enter your own data or use test data by clicking the button. After providing data, press submit. The app will display the points of interest within the specified radius around the destination and then the flight cheapest dates (departure date, return date, and total price). Clicking on a point of interest will open it in where the user can explore the place in virtual reality (VR). When the user selects one of the flight cheapest dates, flight offers for the selected departure date and return date are shown. When the user selects an offer, the details of the offer such as, Id, offer items, services, segment (departure, arrival, carrier code, number, aircraft code, operating carrier code, number, duration, pricing detail per adult (travel class, fare class, availability, and fare basis)), price (total and total taxes), price per adult (total and total taxes) are shown.

The app is built with the help of 3 amadeus self service apis. All 3 are rest apis. These apis are, points of interest api, flight cheapest date search api, and flight low fare search api. When the user clicks on the submit button a get request is made to the opencagedata api which sends back the latitude and longitude of the destination place. The lat-long information and the radius is then sent to /1 endpoint of the server in a post request. The server then sends the 3 pieces of information to the points of interest api and receives the points of interest that satisfy the criteria. The server relays the information back to index.ejs which is then displayed. When the user clicks on one item of the list, they can explore the place in VR. The index.ejs then sends a second post request to the /2 endpoint of the server. In this request, the origin iata code and the destination iata code are sent. Server, upon receiving the request, makes a call to the flight cheapest date search api and relays the received response to index.ejs. Flight cheapest dates are then displayed. When the user selects one of these, a post request is sent to the server's /3 endpoint with origin iata code, destination iata code, departure date, return date, and maximum no.of offers. The server makes a call to the flight low fare search api with the information and relays back the response to index.ejs which is then shown under flight offers. When the user clicks on one of the flight offers, details of that offer is shown. The app has a reset button that reloads the app. It also has a top button that can be useful to scroll to the top, when the user is in the 2nd or 3rd stage of travel planning.

Built With

  • amadeus-flight-cheapest-date-search-api
  • amadeus-flight-low-fare-search-api
  • amadeus-points-of-interest-api
  • body-parser
  • ejs
  • express-session
  • express.js
  • google-fonts
  • jquery
  • node.js
  • opencagedata-api
Share this project: