We had realized that some of our favourite movies were surprisingly panned by critics, but had been very popular by general audiences. A large portion of movies had had a poor metascore, but a positive user score were considered to be cult classics, so we decided to build our own search engine and database that specifically focused on finding those films. What we built was a refreshing film database that feels more comfortable than other sites.

What it does

Our program crawls through the metacritc website, and searches for films that were highly rated by users, and negatively rated by critics. Once a film is found, its metadata is uploaded to a database. Then, the ICMDb search engine queries the database, and returns results for the user.

How we built it

The backend of our program was built using mySQL, phpMyAdmit and python. We have a python script that uses a publicly available metacritic API to crawl through the website and return results. Finally we used python and flask to connect the backend with an HTML and Javascript frontend.

Challenges we ran into

  • No official Meteoritic API. We had to modify community created ones to serve our needs
  • Almost no experience with working creating a web server and hosting a website.
  • Little knowledge on frontend web development.
  • Creating an efficient web scraping/DB entry algorithm

Accomplishments that we're proud of

  • Finishing on schedule, despite little experience before with web development
  • The speed and intuitiveness of the ICMDb website.
  • Learning new programming concepts in a very short time span.

What we learned

  • Website scraping and crawling.
  • Setting up a web server using python.
  • Querying a mySQL database.
  • Creating an interface so between the front and backend.
  • Search engine algorithms
  • Web design using HTML and CSS.

What's next for The Internet Cult Movie Database

  • Expanding the database to include even more movies.
  • Implementation of a Rotten Tomatoes API.
  • Front end tweaks to improve responsiveness, and layout.
  • Expanding the database to include video games, music and TV shows.

Built With

Share this project: