Inspiration
Sometimes, we might really want to do a specific activity but don't know where is the best place we can go with the lowest travel cost. Yes, we can google the place to go and use website like kayak.com or expedia.com to search for flight tickets and hotel. But this sometimes takes us tone of time to do our research.
What it does
We built this Web App to help people find the destination that best fits what they want and find the cheapest flight ticket and hotel for them in one click.
How we built it
In the back-end side, we use Ruby on Rail platform to send request to the Expedia API such as flight search and hotel search. At the same time, Rails will process the date send back from Expedia and use a algorithm to sort the best fit trip for the client. After we get the result from the algorithm, we send a JSON array of Trip to front-end.
In the front-end side, we use React.js to handle the JSON array and propagate the information to the proper children.
Challenges we ran into
Because people in our team all master different skills, we have to separate the back-end and front-end part completely. The only connection is JSON file that back-end send to front-end. For the back-end part, my first challenge is to master how to build a api with ruby one rails because I never done it in practice before. The second challenge I face is to write a algorithm that process the data send back from Expedia and return the best fit trip to the client. For the front-end part, it was difficult to work on both the UI/UX and front-end development as one person.
Accomplishments that we're proud of
We managed to handle the JSON send from the back-end side and lay it out perfectly in the front-end!!
What we learned
As the back-end guy, I learn building api with ruby on rails, especially return formatted JSON with jbuilder gem. I also master the skill to use httparty to send request to other API. Most importantly, I gained the skills to debug my program using console and the server log!
...
What's next for okayvacay
conquering the world
Log in or sign up for Devpost to join the conversation.