GitRec is the missing recommender system for GitHub repositories based on Gorse.
- The trending crawler crawls trending repositories and insert them into Gorse as new items.
- The user starred crawler crawls user starred repositories and insert them into Gorse as new feedback.
- GitRec web service pulls recommendations from Gorse and show to users. It also submits a crawling request to the user starred crawler when a new user signed in.
- First, clone the repository and enter the folder.
git clone https://github.com/zhenghaoz/gitrec.git
cd gitrec- Generate a personal access token from GitHub and fill the
GITHUB_ACCESS_TOKENvariable in docker-compose.yml.
GITHUB_ACCESS_TOKEN: # 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 docker-compose.yml.
GITHUB_OAUTH_CLIENT_ID: # client ID
GITHUB_OAUTH_CLIENT_SECRET: # client secret
SECRET_KEY: # random string- Start the cluster using Docker Compose.
docker-compose up -d- Download the SQL file github.sql and import 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/ |
| Master Prometheus Metrics | http://127.0.0.1:8088/metrics |
| Server RESTful API | http://127.0.0.1:8087/apidocs |
| Server Prometheus Metrics | http://127.0.0.1:8087/metrics |
| Worker Prometheus Metrics | http://127.0.0.1:8089/metrics |


