Skip to content
A tutorial steam video game recommender system based on Flask and gorse
Python HTML Awk Makefile Dockerfile CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config fix: set SQLALCHEMY_TRACK_MODIFICATIONS = False Jun 4, 2019
dataset add SQL parser and sampler Jun 2, 2019
steamlens fix: display nickname Jun 5, 2019
.gitignore
Dockerfile add docs Jun 2, 2019
LICENSE
README.md feat: add feedback update script Oct 27, 2019
requirements.txt add Dockerfile Jun 2, 2019
update.py feat: add feedback update script Oct 27, 2019
uwsgi.ini fix: need larger buffer Jun 4, 2019

README.md

SteamLens

Website

SteamLens is a tutorial steam video game recommender system based on Flask and gorse.

Usage

Download Source

First, clone the repo and enter the folder.

# Download source
git clone https://github.com/zhenghaoz/SteamLens.git

# Enter source folder
cd SteamLens

Create database

It's a good idea to build recomender system based on existed dataset such as Steam Dataset. The original dataset is huge, we sampled 15000 users and it's available in games.csv.

# Download data
wget https://cdn.sine-x.com/backups/games.csv

# Create data folder
mkdir data

# Create a database and import data
gorse import-feedback data/gorse.db games.csv --sep ','

Get Secret Key

To integrate with Steam, we need to apply a secret key from Steam and place it into config/steamlens.cfg.

SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

Build & Run

Build the Docker image and run an instance. Remember to mount the data folder and expose the port of uWSGI.

# Build Docker image
docker build -t zhenghaoz/steamlens .

# Run an instance
docker run -d -v $(pwd)/data:/root/data \
    -p 5000:5000 \
    -p 8080:8080 \
    zhenghaoz/steamlens

Pass via Nginx

Set uwsgi_pass in Nginx.

location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:5000;
}

Update Feedback

The dataset used by SteamLens is quite old but could be update by running:

 python3 update.py 127.0.0.1 8080 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

The XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX represents the secret key. Since most users' owned games are invisible, only few feedback are retrieved.

You can’t perform that action at this time.