{"id":13476398,"url":"https://github.com/gorse-io/gitrec","last_synced_at":"2025-04-08T09:12:53.065Z","repository":{"id":38826388,"uuid":"189810126","full_name":"gorse-io/gitrec","owner":"gorse-io","description":"A recommender system for GitHub repositories based on Gorse","archived":false,"fork":false,"pushed_at":"2025-03-22T03:23:14.000Z","size":4149,"stargazers_count":420,"open_issues_count":7,"forks_count":41,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-01T08:39:34.925Z","etag":null,"topics":["flask","github","python","recommender-system","vue"],"latest_commit_sha":null,"homepage":"https://gitrec.gorse.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gorse-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-02T05:53:51.000Z","updated_at":"2025-03-16T01:45:37.000Z","dependencies_parsed_at":"2023-12-02T05:38:54.407Z","dependency_job_id":"be83fcf6-91e8-4163-b5fc-a7056f3a92c3","html_url":"https://github.com/gorse-io/gitrec","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorse-io%2Fgitrec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorse-io%2Fgitrec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorse-io%2Fgitrec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorse-io%2Fgitrec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorse-io","download_url":"https://codeload.github.com/gorse-io/gitrec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247809964,"owners_count":20999816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","github","python","recommender-system","vue"],"created_at":"2024-07-31T16:01:29.825Z","updated_at":"2025-04-08T09:12:53.036Z","avatar_url":"https://github.com/gorse-io.png","language":"JavaScript","readme":"# GitRec\n\n\u003cimg width=160 src=\"assets/logo.png\"/\u003e\n\n[![test](https://github.com/zhenghaoz/gitrec/actions/workflows/build_test.yml/badge.svg)](https://github.com/zhenghaoz/gitrec/actions/workflows/build_test.yml)\n[![Website](https://img.shields.io/website?url=https%3A%2F%2Fgitrec.gorse.io)](https://gitrec.gorse.io)\n[![Discord](https://img.shields.io/discord/830635934210588743)](https://discord.gg/x6gAtNNkAE)\n[![Twitter Follow](https://img.shields.io/twitter/follow/gorse_io?label=Follow\u0026style=social)](https://twitter.com/gorse_io)\n\n[GitRec](https://gitrec.gorse.io/) is the missing recommender system for GitHub repositories based on [Gorse](https://github.com/zhenghaoz/gorse).\n\n![](assets/screenshots.png)\n\n## Browser Extensions\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://chrome.google.com/webstore/detail/gitrec/eihokbaeiebdenibjophfipedicippfl\" target=\"_blank\"\u003e\n          \u003cimg src=\"https://i.loli.net/2021/04/23/IqpU7COKQvzrcyG.png\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://microsoftedge.microsoft.com/addons/detail/gitrec/cpcfbfpnagiffgpmfljmcdokmfjffdpa\" target=\"_blank\"\u003e\n          \u003cimg src=\"https://i.loli.net/2021/04/23/EnS3eDi4I86Yv2N.png\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://addons.mozilla.org/addon/gitrec/\" target=\"_blank\"\u003e\n          \u003cimg src=\"frontend/public/firefox.png\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://greasyfork.org/zh-CN/scripts/453527-gitrec\" target=\"_blank\"\u003e\n          \u003cimg src=\"frontend/public/tampermonkey.png\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n[![Chrome Web Store](https://img.shields.io/chrome-web-store/v/eihokbaeiebdenibjophfipedicippfl)](https://chrome.google.com/webstore/detail/gitrec/eihokbaeiebdenibjophfipedicippfl)\n[![Chrome Web Store](https://img.shields.io/chrome-web-store/users/eihokbaeiebdenibjophfipedicippfl)](https://chrome.google.com/webstore/detail/gitrec/eihokbaeiebdenibjophfipedicippfl)\n[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/eihokbaeiebdenibjophfipedicippfl)](https://chrome.google.com/webstore/detail/gitrec/eihokbaeiebdenibjophfipedicippfl)\n[![Mozilla Add-on](https://img.shields.io/amo/v/gitrec)](https://addons.mozilla.org/addon/gitrec/)\n[![Mozilla Add-on](https://img.shields.io/amo/users/gitrec)](https://addons.mozilla.org/addon/gitrec/)\n[![Mozilla Add-on](https://img.shields.io/amo/stars/gitrec)](https://addons.mozilla.org/addon/gitrec/)\n\nThe browser extension integrates GitHub with GitRec. \n1. Recommends repositories to GitHub users based on starred repositories.\n2. Finds related repositories for popular repositories.\n\n![](assets/extension.png)\n\n## Quick Start\n\n- First, clone the repository and enter the folder.\n\n```bash\ngit clone https://github.com/zhenghaoz/gitrec.git\ncd gitrec\n```\n\n- Create a `.env` file.\n\n```bash\n# Gorse secrets\nGORSE_DASHBOARD_USER_NAME=********\nGORSE_DASHBOARD_PASSWORD=********\nGORSE_API_KEY=********\n\n# GitHub secrets\nGITHUB_ACCESS_TOKEN=********\nGITHUB_OAUTH_CLIENT_ID=********\nGITHUB_OAUTH_CLIENT_SECRET=********\n\n# GitRec secrets\nSECRET_KEY=********\n\n# S3 secrets for backup\nS3_ACCESS_KEY=********\nS3_SECRET_KEY=********\nS3_BUCKET_LOCATION=US\nS3_HOST_BASE=s3.amazonaws.com\nS3_HOST_BUCKET=%(bucket)s.s3.amazonaws.com\n```\n\n- Generate a [personal access token](https://github.com/settings/tokens) from GitHub and fill the `GITHUB_ACCESS_TOKEN`\n  variable in the `.env` file.\n\n```bash\nGITHUB_ACCESS_TOKEN=xxxxxxxx # personal access token\n```\n\n- Create a [GitHub OAuth app](https://github.com/settings/developers). The authorization callback URL should\n  be `http://127.0.0.1:5000/login/github/authorized`. Then, fill following variables\n  in the `.env` file.\n\n```bash\nGITHUB_OAUTH_CLIENT_ID=xxxxxxxx     # client ID\nGITHUB_OAUTH_CLIENT_SECRET=xxxxxxxx # client secret\nSECRET_KEY=xxxxxxxx                 # random string\n```\n\n- Start the cluster using Docker Compose.\n\n```bash\ndocker-compose up -d\n```\n\n- Download the SQL file [github.sql](https://cdn.gorse.io/example/github.sql) and import it to the MySQL instance.\n\n```bash\nmysql -h 127.0.0.1 -u gorse -pgorse_pass gorse \u003c github.sql\n```\n\n- Restart the master node to apply imported data.\n\n```bash\ndocker-compose restart\n```\n\n- Play with GitRec:\n\n| Entry                     | Link                          |\n| ------------------------- | ----------------------------- |\n| GitRec                    | http://127.0.0.1:5000/        |\n| Grafana Dashboard         | http://127.0.0.1:3000/        |\n| Master Dashboard          | http://127.0.0.1:8088/        |\n\n## Acknowledgments\n\n- Thanks [@lisonge](https://github.com/lisonge) for the Tampermonkey userscript.\n","funding_links":[],"categories":["JavaScript","vue"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgorse-io%2Fgitrec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgorse-io%2Fgitrec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgorse-io%2Fgitrec/lists"}