GitRec
GitRec is the missing recommender system for GitHub repositories based on Gorse.
Browser Extensions
The browser extension integrates GitHub with GitRec.
- Recommends repositories to GitHub users based on starred repositories.
- Finds related repositories for popular repositories.
Quick Start
- First, clone the repository and enter the folder.
git clone https://github.com/zhenghaoz/gitrec.git
cd gitrec
- Create a
.env
file.
# Gorse secrets
GORSE_DASHBOARD_USER_NAME=********
GORSE_DASHBOARD_PASSWORD=********
GORSE_API_KEY=********
# GitHub secrets
GITHUB_ACCESS_TOKEN=********
GITHUB_OAUTH_CLIENT_ID=********
GITHUB_OAUTH_CLIENT_SECRET=********
# GitRec secrets
SECRET_KEY=********
# S3 secrets for backup
S3_ACCESS_KEY=********
S3_SECRET_KEY=********
S3_BUCKET_LOCATION=US
S3_HOST_BASE=s3.amazonaws.com
S3_HOST_BUCKET=%(bucket)s.s3.amazonaws.com
- Generate a personal access token from GitHub and fill the
GITHUB_ACCESS_TOKEN
variable in the.env
file.
GITHUB_ACCESS_TOKEN=xxxxxxxx # personal access token
- Create a GitHub OAuth app. The authorization callback URL should
be
http://127.0.0.1:5000/login/github/authorized
. Then, fill following variables in the.env
file.
GITHUB_OAUTH_CLIENT_ID=xxxxxxxx # client ID
GITHUB_OAUTH_CLIENT_SECRET=xxxxxxxx # client secret
SECRET_KEY=xxxxxxxx # random string
- Start the cluster using Docker Compose.
docker-compose up -d
- Download the SQL file github.sql and import it to the MySQL instance.
mysql -h 127.0.0.1 -u gorse -pgorse_pass gorse < github.sql
- Restart the master node to apply imported data.
docker-compose restart
- Play with GitRec:
Entry | Link |
---|---|
GitRec | http://127.0.0.1:5000/ |
Grafana Dashboard | http://127.0.0.1:3000/ |
Master Dashboard | http://127.0.0.1:8088/ |
Acknowledgments
- Thanks @lisonge for the Tampermonkey userscript.