Inspiration

Trying to plan the picture perfect vacation can be stressful. So we decided to help by randomizing part of that process. We all love the idea of having an adventurous spirit and embracing the unknown.

What it does

Dartboard is a website that helps you find your next adventure. We built a database with information from the top 200 travel destinations in the United States. Dartboard scrapes the web for hotel pricing, availability, local activities, and culture. If you’re feeling spontaneous, your next vacation could be one click away!

We then made two proof-of-concepts frontends which displayed this information. The first takes the information from the scripts as JSON data to parse through and displays the information. The second calls the scripts directly, parses the information, and displays it.

How we built it

We built the scripts using the Selenium and Beautiful-Soup python libraries for web-scraping. These scripts parse popular travel related sites to return relevant information. For the two frontends we used JavaScript, HTML, and CSS. For the one that calls the scripts directly, however, we additionally used flask.

Challenges we ran into

We ran into the issue of integrating the backend and frontends. Selecting which frameworks and libraries would best be the best use of our time and fit our needs.

Accomplishments that we're proud of

Web Scraping - Some websites had extreme latency, other websites intentionally hide their data to make their API’s more attractive.

Managing Data - The data that we scraped was a mess. The raw html data we started with was basically soup, hence the name.

Sharing files - We had to modify our python scripts to output .json files to work in our javascript front end.

Formatting - We had problems getting our animations to appear correctly. We also struggled with indestructible white space.

What we learned

  • Web Scraping data from hundreds of requests
  • Solid data manipulation and formatting
  • Running website
  • Cool artwork
  • Team building

What's next for Dartboard

We would like to expand the backend functionality of the app and create a unified frontend that is both speedy, actively updating the information obtained from our scripts.

Share this project:

Updates