오픈소스 프로젝트는 개발자들에게 자신의 기여를 보여줄 수 있는 좋은 기회를 제공합니다. 하지만 GitHub 프로필에서 보이는 통계는 종종 사용자의 실제 기여를 제대로 반영하지 못하는 경우가 많습니다. 특히, 개인 레포지토리에서의 기여는 통계에 포함되지 않거나, 전체 기여 현황을 파악하기 어려운 문제가 있습니다. 이러한 문제를 해결하기 위해 등장한 것이 바로 GitHub Stats Visualization 프로젝트입니다.
이 프로젝트는 GitHub의 API를 활용하여 사용자의 레포지토리 통계를 시각적으로 표현할 수 있는 이미지를 생성합니다. 이로 인해 개인 레포지토리 및 기여한 레포지토리의 통계를 모두 포함하여, 보다 정교한 통계 이미지를 만들어낼 수 있습니다. 사용자는 이 이미지를 자신의 프로필 README나 다른 레포지토리의 문서에 쉽게 삽입할 수 있습니다.
주요 기능과 특징
1. 다양한 통계 수집
이 프로젝트는 GitHub API를 통해 사용자의 다양한 프로필 및 레포지토리 통계를 수집합니다. 이는 기여도가 높은 레포지토리와 개인 레포지토리에서의 활동을 포함하여, 보다 정확한 통계를 제공합니다.
2. GitHub Actions 기반
GitHub Actions를 사용하여 자동으로 통계를 생성합니다. 이로 인해 별도의 서버를 운영할 필요 없이, 사용자가 직접 GitHub에서 통계 이미지를 업데이트할 수 있습니다.
3. 다크 모드 및 라이트 모드 지원
자동으로 GitHub의 라이트 모드와 다크 모드에 맞춰 이미지를 생성합니다. 이는 사용자에게 일관된 시각적 경험을 제공합니다.
4. JSON 파일 출력
생성된 통계는 JSON 파일로도 출력되어, 추가적인 데이터 분석이나 활용이 가능합니다.
빠른 시작 가이드
GitHub Stats Visualization을 사용하기 위한 설치 및 기본 사용법을 살펴보겠습니다.
1. 레포지토리 복제
먼저, 해당 프로젝트를 자신의 GitHub 계정으로 포크한 후, 로컬 환경에 클론합니다.
git clone https://github.com/your-username/github-stats.git
cd github-stats
2. GitHub 액세스 토큰 생성
이 프로젝트는 개인 레포지토리의 통계도 수집할 수 있도록 GitHub 액세스 토큰이 필요합니다. GitHub의 설정에서 새로운 토큰을 생성하고 필요한 권한을 부여합니다.
3. GitHub Actions 설정
레포지토리의 .github/workflows 폴더에 있는 YAML 파일을 확인하여, 액세스 토큰을 환경 변수로 추가합니다.
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4. 이미지 생성
GitHub Actions가 활성화되면, 자동으로 통계 이미지를 생성하기 시작합니다. 이미지는 generated 폴더에 저장됩니다.
5. README에 이미지 삽입
생성된 이미지를 자신의 GitHub 프로필 README나 다른 레포지토리의 문서에 추가할 수 있습니다.

실무에서의 활용 시나리오
실제로 이 도구를 사용하여 GitHub 프로필을 꾸민다면, 자신의 기여도를 더욱 돋보이게 할 수 있습니다. 예를 들어, 오픈소스 프로젝트에 활발히 기여하고 있는 경우, 개인 레포지토리의 통계도 함께 보여줌으로써 더 많은 주목을 받을 수 있습니다. 또한, 이 통계 이미지는 이력서나 포트폴리오에 포함시켜서 자신의 전문성을 강조할 수 있는 좋은 방법입니다.
비슷한 도구와 비교
비슷한 도구로는 GitHub Readme Stats 프로젝트가 있습니다. 이 도구 역시 GitHub 통계를 시각화하는 데 유용하지만, 개인 레포지토리의 통계를 포함하지 않는다는 점에서 GitHub Stats Visualization이 더 유용할 수 있습니다.
마무리 및 추천 대상
GitHub Stats Visualization은 개인 레포지토리의 기여를 포함한 통계 이미지를 손쉽게 생성하고, 이를 통해 자신의 오픈소스 기여를 더욱 잘 표현하고자 하는 개발자에게 추천합니다. 특히, 자신의 GitHub 프로필을 꾸미고 싶거나, 오픈소스 프로젝트에 기여하는 것을 보여주고 싶은 분들에게 유용합니다.
자세한 내용은 GitHub Stats Visualization에서 확인하세요.