Description as a Tweet:

Find all of the latest activities and things to do at stufftodo.tech. The website constantly scrapes the internet for trending activities and consolidates them in one place. From sports to books to video games, you won't miss a thing!

Inspiration:

The Coronavirus pandemic has changed the way we live our lives significantly, often making it difficult for us to find ways to occupy ourselves. We decided to create a platform that consolidates a number of activities from various websites all into one location. This organization makes it much easier to find more worthwhile ways to spend our time.

What it does:

Stufftodo is the ultimate killer of boredom. It has been designed to scrape the web for trending activities and consolidate them in one place.

How we built it:

For our backend, a Python script makes HTTP requests to movie/game websites (Steam, IMDB). The Beautiful Soup 4 module helps parse the HTTP data for easy navigation to the contents of elements with specific tags, IDs, or classes. This data (types of activities, names, images, and links) is packaged as a dictionary and passed to our frontend through Flask. HTML and React render our home page, formatted in CSS. The website URL stufftodo.tech was obtained on Domain.com.

Technologies we used:

  • HTML/CSS
  • Javascript
  • Node.js
  • React
  • Python
  • Flask

Challenges we ran into:

Creating a web app required using tools we had never used before. We wanted an interactive GUI, so we learned the React.js framework. It took a while to fully understand how the new application structure works. To integrate the web scraper scripts, we used Flask to bridge the gap between JavaScript and Python. Another feature we wanted was a left navigation panel with filters. We were unable to get it to work in time, so we left the navigation bar implemented to show the types of content available. It became challenging to create a project that well represented our original plans, but we are proud of the outcome!

Accomplishments we're proud of:

We appreciate the fact that we were able to use our skills to create something meaningful. This project required all of us to really stretch our limits, and our complementary skills proved that what we built as a team was greater than what one person could have built individually.

What we've learned:

We learned how to use Flask to create communication links between JavaScript and Python in order to implement web scraping. In addition, we learned a lot about the React.js framework to make our GUI interactive.

What's next:

We plan on incorporating geo-coding and crowdsourcing into our project and recommending those activities to users that are getting popular in their location. We would also fix the left navigation panel to filter content, and add more filters for content rating, pricing, etc.

Built with:

GitHub, WebStorm, PyCharm, Gimp and *insert heart emoji*

Prizes we're going for:

  • Best Documentation
  • Best Web Hack
  • Best Domain Name
  • Best Beginner Software Hack
  • Best Beginner Web Hack

Prizes Won

Best Beginner Web Hack

Team Members

Ben Esenther
Vibhhu Sharma
Isaac Thompson
Anurag Muttur

Table Number

Table TBD