We started by thinking what we need in a traveling website. After brainstorming a couple hours, we had reached the final decision: We were gonna make a web service, which based on your personal preferences will pick the best destination. We thought: why not visit places we have never even thought about?

What it does

The user is asked a couple questions, that they have to answer. At some questions the user can select multiple answers. Then, by just a click of a button, the user gets the perfect place to travel to.

How we built it

We designed the frontend using HTML, CSS, Bootstrap, and JavaScript. Each individual answer of the quiz, triggers an event in JS. From that we add up all the answers of similar interest, and then sent a request to our API.

For the backend we have a MySQL server running and we used Java for our own API.

Challenges we ran into

Firstly, we could not find an appropriate API online which could support our idea. At the end, we ended up creating our own API.

Additionally, we also ran into problems when we tried to connect to our backend. We kept getting a CORS error, which we thought was almost impossible to fix. We tried over 15 solutions to solve the error with no luck. Fortunately, our Mentors from MLH were ready to save the day.

Accomplishments that we're proud of

We are very proud to have worked a full 24 hours on this project. We loved our idea, and we were very determined to solve the problem in the most optimal way; hence, we created the best algorithm we could think of.

The algorithm assigns weights for all the different preferences of the user. On top of that, each of the answers for each category were normalized and grouped to calculate the aggregate of all the specific scores.

Then we compare all the different destinations, and select the best based on which one has the highest score

What we learned

Java might not be the best language to use for these kinds of projects. A better idea would be to use other frameworks,s such as Django or Flask.

What's next for Travelholic

We want to expand the page by properly populating the databases with millions of data relevant to our idea. We are very excited to be continuing this project in the future.

Share this project: