{"id":25252874,"url":"https://github.com/hobby2025/contribase","last_synced_at":"2026-05-04T11:32:27.254Z","repository":{"id":276797348,"uuid":"929765909","full_name":"Hobby2025/Contribase","owner":"Hobby2025","description":"Github 기반의 기여도 분석","archived":false,"fork":false,"pushed_at":"2025-03-13T15:58:08.000Z","size":124540,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-05T22:17:02.229Z","etag":null,"topics":["nextjs","vercel"],"latest_commit_sha":null,"homepage":"https://contribase.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hobby2025.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null}},"created_at":"2025-02-09T10:55:04.000Z","updated_at":"2025-03-13T15:58:11.000Z","dependencies_parsed_at":"2025-03-13T16:37:19.529Z","dependency_job_id":"563a5fd8-976f-45de-9db0-182d43b05d2a","html_url":"https://github.com/Hobby2025/Contribase","commit_stats":null,"previous_names":["hobby2025/contribase"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/Hobby2025/Contribase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hobby2025%2FContribase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hobby2025%2FContribase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hobby2025%2FContribase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hobby2025%2FContribase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hobby2025","download_url":"https://codeload.github.com/Hobby2025/Contribase/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hobby2025%2FContribase/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266448420,"owners_count":23930202,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["nextjs","vercel"],"created_at":"2025-02-12T04:19:06.918Z","updated_at":"2025-10-19T09:24:37.713Z","avatar_url":"https://github.com/Hobby2025.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![License](https://img.shields.io/badge/License-MIT-black)\u0026nbsp;\n![Next.js](https://img.shields.io/badge/Next.js-000000?style=flat\u0026logo=nextdotjs\u0026logoColor=white)\u0026nbsp;\n![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat\u0026logo=typescript\u0026logoColor=white)\u0026nbsp;\n![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-38B2AC?style=flat\u0026logo=tailwind-css\u0026logoColor=white)\u0026nbsp;\n\n![Contribase@1x](https://github.com/user-attachments/assets/ad20f071-c4f8-4405-a2d5-7471d6036c5e)\n\nGitHub 활동 기반 포트폴리오 생성기\n\n## 소개\n\nContribase는 개발자의 GitHub 활동을 분석하여 포트폴리오를 자동으로 생성해주는 웹 애플리케이션입니다. 규칙 기반 분석 시스템을 활용하여 커밋 메시지와 코드 변경 내역을 분석함으로써, 개발자의 실제 기여도와 기술적 성장을 객관적으로 문서화합니다.\n\n개발자들은 다양한 프로젝트에 참여하며 값진 경험을 쌓지만, 이를 포트폴리오로 정리하는 과정에서 어려움을 겪습니다. Contribase는 이 과정을 자동화하여 개발자들이 자신의 경험과 역량을 보다 정확하고 전문적으로 표현할 수 있도록 돕습니다.\n\n## 주요 기능\n\n- **도메인 분석**: 프론트엔드/백엔드/인프라 등 분류 및 기술 스택 자동 감지\n- **기여도 분석**: 커밋 기반 기여도 계산 및 코드 변경 패턴 분석\n- **기능 분류**: 구현 기능 자동 분류 및 프로젝트별 주요 작업 요약\n- **PDF 포트폴리오**: 분석 결과를 바탕으로 전문적인 PDF 포트폴리오 자동 생성\n- **대시보드**: 실시간 분석 결과와 인터랙티브 차트 제공\n- **GitHub 인증**: GitHub OAuth를 통한 안전한 인증 시스템\n\n## 향후 개발 계획\n\n현재 Contribase는 규칙 기반 분석 시스템을 사용하여 개발자의 활동을 분석합니다. 향후 버전에서는 다음과 같은 인공지능 기술을 도입할 예정입니다:\n\n- **AI 기반 커밋 분석**: 머신러닝 모델을 활용한 고도화된 커밋 메시지 분석\n- **코드 품질 평가**: 인공지능 기반 코드 품질 평가 및 개선 제안\n- **개발자 프로필 생성**: 자연어 처리 기술을 활용한 맞춤형 개발자 프로필 자동 생성\n- **기술 트렌드 분석**: 최신 기술 트렌드와 개발자 역량을 연계한 분석\n\n이러한 개선을 통해 더욱 정확하고 인사이트 있는 분석 결과를 제공할 계획입니다.\n\n## 설치 방법\n\n1. 저장소 클론:\n   ```bash\n   git clone https://github.com/yourusername/contribase.git\n   cd contribase\n   ```\n\n2. 환경 변수 설정:\n   ```bash\n   # .env.local 파일 생성\n   \n   # GitHub OAuth\n   GITHUB_ID=your_github_client_id\n   GITHUB_SECRET=your_github_client_secret\n\n   # NextAuth\n   NEXTAUTH_URL=http://localhost:3000\n   NEXTAUTH_SECRET=your_nextauth_secret_key_here\n   \n   # 분석 설정\n   ANALYSIS_MODE=rule-based\n   ```\n\n3. 의존성 설치:\n   ```bash\n   npm install\n   ```\n\n4. 개발 서버 실행:\n   ```bash\n   npm run dev\n   ```\n\n5. 빌드:\n   ```bash\n   npm run build\n   ```\n\n## 기술 스택\n\n### 프론트엔드\n- **Next.js 15**: React 기반 프레임워크\n- **TailwindCSS**: 스타일링\n- **pdf-lib**: PDF 생성\n- **Chart.js**: 데이터 시각화\n\n### 백엔드\n- **Next.js API Routes**: 서버리스 API\n- **NextAuth.js**: 인증 시스템\n- **GitHub OAuth**: 사용자 인증\n\n### 인프라\n- **Vercel**: 배포 및 호스팅\n- **Edge Functions**: 서버리스 함수\n\n## 시스템 요구사항\n\n- Node.js 18.x 이상\n- npm 9.x 이상\n\n## 개발 환경\n\n```\nnode -v  # v18.x 이상\nnpm -v   # v9.x 이상\n```\n\n## 프로젝트 구조\n\n```\n/\n├── public/               # 정적 파일\n├── src/\n│   ├── app/              # Next.js 앱 라우터\n│   │   ├── api/          # API 엔드포인트\n│   │   │   ├── auth/     # 인증 관련 API\n│   │   │   └── analysis/ # 분석 관련 API (PDF 생성 포함)\n│   │   ├── auth/         # 인증 관련 페이지\n│   │   │   ├── github/   # GitHub 로그인\n│   │   │   ├── error/    # 인증 오류\n│   │   │   └── login-required/ # 로그인 필요 안내\n│   │   └── dashboard/    # 대시보드 및 분석 페이지\n│   ├── components/       # 재사용 가능한 컴포넌트\n│   ├── lib/              # 유틸리티 함수 및 API \n│   └── styles/           # 글로벌 스타일\n├── package.json          # 의존성 및 스크립트\n└── README.md             # 프로젝트 문서\n```\n\n## 주요 기능 사용법\n\n### 1. GitHub 로그인\n- 홈페이지에서 \"로그인\" 버튼을 클릭하여 GitHub 계정으로 로그인합니다.\n- 로그인 후 자동으로 대시보드로 이동합니다.\n\n### 2. 저장소 분석\n- 대시보드에서 분석하고자 하는 저장소를 선택합니다.\n- \"분석하기\" 버튼을 클릭하여 저장소 분석을 시작합니다.\n- 분석이 완료되면 결과가 차트와 함께 표시됩니다.\n\n### 3. PDF 다운로드\n- 분석 결과 페이지 하단의 \"PDF로 다운로드\" 버튼을 클릭합니다.\n- 생성된 PDF에는 저장소 정보, 기술 스택 분석, 기여도 분석, 코드 품질 평가가 포함됩니다.\n\n## 버전 관리\n\n커밋 메시지에 따라 자동으로 버전이 업데이트됩니다:\n\n1. **일반 업데이트** (z 증가)\n   - 일반적인 커밋\n   - 예: `fix: 버그 수정`\n\n2. **마이너 업데이트** (y 증가)\n   - 커밋 메시지에 `#minor` 포함\n   - 예: `feat: 새로운 기능 추가 #minor`\n\n3. **메이저 업데이트** (x 증가)\n   - 커밋 메시지에 `#major` 포함\n   - 예: `feat: 주요 기능 변경 #major`\n\n4. **버전 업데이트 제외**\n   - 커밋 메시지에 `#noversion` 포함\n\n## 기여자\n\u003ca href = \"https://github.com/Hobby2025/Contribase/graphs/contributors\"\u003e\n  \u003cimg src = \"https://contrib.rocks/image?repo=Hobby2025/Contribase\" height=\"40\"/\u003e\n\u003c/a\u003e\n\n## 라이선스\n\nMIT License - 자세한 내용은 [LICENSE](LICENSE) 파일을 참조하세요.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhobby2025%2Fcontribase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhobby2025%2Fcontribase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhobby2025%2Fcontribase/lists"}