gorse-io/gitrec
A recommender system for GitHub repositories based on Gorse provides personalized recommendations and similar repositories
GitRec – GitHub 저장소 추천 시스템
소개
GitRec은 사용자에게 GitHub 저장소를 추천하는 오픈소스 서비스입니다. 오픈소스 추천 엔진인 Gorse 를 기반으로 하며, 즉시 사용 가능한 웹 UI와 GitHub 내에서 직접 추천을 표시하는 브라우저 확장 프로그램을 제공합니다.
왜 중요한가
GitHub에서 유용한 프로젝트를 찾는 것은 개발자들에게 어려운 일입니다. GitRec은 발견 과정을 자동화합니다:
- 개인화된 제안 – 사용자가 별표를 표시한 저장소를 기반으로 합니다.
- 관련 저장소 발견 – 인기 있는 저장소와 유사한 프로젝트를 보여줍니다. 이 시스템은 자체 호스팅이 가능하여 팀이 데이터와 추천 모델을 완전히 제어할 수 있습니다.
핵심 구성 요소 (README 설명 기준)
| 구성 요소 | 역할 |
|---|---|
| Gorse engine | 기반 추천 알고리즘 (협업 필터링, 콘텐츠 기반 등). GitRec은 이를 구성하고 쿼리합니다. |
| Web UI | http://127.0.0.1:5000/ 에서 액세스 가능하며, 추천 탐색 및 설정 관리를 수행합니다. |
| Gorse Dashboard | http://127.0.0.1:8088/ 에 위치한 관리 UI로, 추천 서비스를 모니터링합니다. |
| Browser extensions | Chrome, Edge, Firefox용 애드온으로, GitHub 사이트에 추천 위젯을 삽입합니다. |
| Docker-Compose stack | Gorse 서비스, MySQL 데이터베이스, GitRec 웹 서버를 한 번의 명령으로 실행합니다. |
| Data import | 미리 빌드된 github.sql 덤프를 MySQL에 로드하여 시스템에 초기 저장소 카탈로그를 제공합니다. |
실행 방법 (빠른 시작 단계)
- 저장소를 Clone 하고 해당 디렉토리로
cd합니다. .env파일을 생성 하여 다음 자격 증명을 입력합니다:- Gorse 대시보드 (사용자 이름, 비밀번호, API 키)
- GitHub (개인 액세스 토큰, OAuth 클라이언트 ID/시크릿)
- 선택적 S3 백업 버킷
- 선택적 OpenAI 엔드포인트 (README에
OPENAI_MODEL이 언급되어 있으나 사용법은 자세히 나와 있지 않습니다).
docker-compose up -d로 서비스를 시작 합니다.- 샘플 데이터 로드 –
github.sql을 다운로드하여 MySQL 컨테이너에 가져옵니다. - 가져온 데이터를 인식하도록 마스터 노드를 재시작 합니다.
- UI (
http://127.0.0.1:5000/) 를 열거나 브라우저 확장 프로그램을 설치하여 추천을 확인합니다.
대상 사용자
- GitHub용 개인화된 "탐색" 페이지를 원하는 개인 개발자.
- 데이터를 타사 SaaS로 보내지 않고 내부 추천 서비스를 원하는 팀.
- 오픈소스 코드 데이터로 추천 알고리즘을 실험하는 연구자.
제한 사항 및 질문 (README 기준)
- README는 OpenAI 모델 (
gpt-6-luna) 을 참조하지만 사용 방법은 설명되어 있지 않으며, 선택 사항이거나 실험적일 수 있습니다. - 전체 스택을 실행하려면 Docker, MySQL, GitHub OAuth 앱이 필요하여 설정 오버헤드가 발생합니다.
- 모델 학습에 대한 명시적인 언급이 없으며, GitRec은 Gorse의 내장 알고리즘에 의존하는 것으로 보입니다.
위의 모든 정보는 해당 저장소의 README에서 직접 가져온 것입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트