/2DV515-a1-recommendation-system

My solution for Web intelligence (2DV515) assignment 1 at Linnaeus University.

Primary LanguageJavaScript

2DV515-a1-recommendation-system

My solution for Web intelligence (2DV515) assignment 1 at Linnaeus University.

The assignment description can be found here: Assigmment 1

Requirements

Grade E

  • Build a recommendation system that can find similar users and find recommendations for a user, using the movies large dataset (see /datasets/large)
  • You can verify that your application works by using the example dataset from the lecture (see /datasets/example)
  • Use Euclidean distance as similarity measure
  • Implement the system using a REST web service where:
    • client sends a request to a server
    • the server responds with json data
    • the json data is decoded and presented in a client GUI

Grade C-D

  • Implement the Pearson Correlation similarity measure
  • It shall be possible to select which measure to use from the client GUI

Grade A-B

  • Implement functionality for pre-generating an Item-Based Collaborative Filtering table by transforming the original data set
  • Use the pre-generated table to implement a second way of finding recommendations for a user
  • You shall only use Euclidean distance as similarity measure
  • It shall be possible to select how to find recommendations from the client GUI (Item-Based or User-Based)

Available Scripts

In the project directory, you can run:

npm install

The project will use the example data set.
This is short hand for npm run install -- ./datasets/example

If you´re using the large data set you can run this script to change data set.

npm run install -- ./datasets/large

The project will use the large data set.

If you´re using the example data set you can run this script to change data set.

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
You will also see any lint errors in the console.

The REST API will be available at http://localhost:3001

Both the page and the server will reload separately if you make edits.

npm stop

You can either press ctrl + c or run npm stop to stop the docker containers.

docker ps

Check if the docker containers are running or not.