Skip to content
forked from gorse-io/gitrec

A tutorial steam video game recommender system based on Flask and gorse

License

Notifications You must be signed in to change notification settings

lsjwzh/SteamLens

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A tutorial steam video game recommender system based on Flask and gorse

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 55.3%
  • HTML 27.5%
  • Awk 7.4%
  • Makefile 6.8%
  • Dockerfile 2.2%
  • CSS 0.8%