SteamLens is a tutorial steam video game recommender system based on Flask and gorse.
First, clone the repo and enter the folder.
# Download source
git clone https://github.com/zhenghaoz/SteamLens.git
# Enter source folder
cd SteamLens
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 ','
To integrate with Steam, we need to apply a secret key from Steam and place it into config/steamlens.cfg
.
SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
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
Set uwsgi_pass
in Nginx.
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
}
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.