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에 로드하여 시스템에 초기 저장소 카탈로그를 제공합니다.

실행 방법 (빠른 시작 단계)

  1. 저장소를 Clone 하고 해당 디렉토리로 cd 합니다.
  2. .env 파일을 생성 하여 다음 자격 증명을 입력합니다:
    • Gorse 대시보드 (사용자 이름, 비밀번호, API 키)
    • GitHub (개인 액세스 토큰, OAuth 클라이언트 ID/시크릿)
    • 선택적 S3 백업 버킷
    • 선택적 OpenAI 엔드포인트 (README에 OPENAI_MODEL 이 언급되어 있으나 사용법은 자세히 나와 있지 않습니다).
  3. docker-compose up -d 로 서비스를 시작 합니다.
  4. 샘플 데이터 로드 – github.sql 을 다운로드하여 MySQL 컨테이너에 가져옵니다.
  5. 가져온 데이터를 인식하도록 마스터 노드를 재시작 합니다.
  6. UI (http://127.0.0.1:5000/) 를 열거나 브라우저 확장 프로그램을 설치하여 추천을 확인합니다.

대상 사용자

  • GitHub용 개인화된 "탐색" 페이지를 원하는 개인 개발자.
  • 데이터를 타사 SaaS로 보내지 않고 내부 추천 서비스를 원하는 팀.
  • 오픈소스 코드 데이터로 추천 알고리즘을 실험하는 연구자.

제한 사항 및 질문 (README 기준)

  • README는 OpenAI 모델 (gpt-6-luna) 을 참조하지만 사용 방법은 설명되어 있지 않으며, 선택 사항이거나 실험적일 수 있습니다.
  • 전체 스택을 실행하려면 Docker, MySQL, GitHub OAuth 앱이 필요하여 설정 오버헤드가 발생합니다.
  • 모델 학습에 대한 명시적인 언급이 없으며, GitRec은 Gorse의 내장 알고리즘에 의존하는 것으로 보입니다.

위의 모든 정보는 해당 저장소의 README에서 직접 가져온 것입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트