/popcorn-saver-server

REST API for a simple movie recommendation webapp.

Primary LanguagePython

Popcorn Saver Server

Popcorn Saver is a movie recommendation web application developed as a project for 2IMW15: Web Information Retrieval and Data Mining, during the first quartile of the 2015/2016 academic year at TU Eindhoven. It was developed using the Movielens 100K dataset.

This code corresponds to the setup and maintenance server, which a exposes a REST API allowing developers to:

  • Load movies from the original dataset to a MongoDB instance, used by the recommender component.
  • Load movies from the original dataset to an Elasticsearch instance, used to implement boolean and parametric search from the client component.
  • Scrape movie quotes from http://www.moviequotedb.com/.
  • Get movie related tweets using the Twitter API.

Requirements

Installation

  1. Clone the project.
$ git clone https://github.com/rparrapy/popcorn-saver-server.git && cd popcorn-saver-server
  1. Create a static/csv folder and move the Movielens CSV files there.
  2. Create and activate a virtualenv (optional but highly recommended).
$ virtualenv . && source bin/activate
  1. Install Python dependencies.
$ pip install -r requirements.txt
  1. Run the web server.
$ python server.py

The maintenance server should be running on port 5000.

  1. Load movies to MongoDB by sending a POST request to /movies with a parameter dest=MONGO with your favorite HTTP client.

  2. Load movies to Elasticsearch by sending a POST request to /movies with a parameter dest=ES with your favorite HTTP client.

  3. Load ratings to MongoDB by sending a POST request to /ratings with your favorite HTTP client.