Navigate your code journey - GitHub 프로젝트 통합 관리 웹 도구
CodeCompass는 GitHub의 리포지토리, 이슈, PR, 마일스톤을 자동으로 집계하여 진행률, 간트 차트, 리스크를 한 화면에서 보여주는 웹 애플리케이션입니다. 여러 프로젝트의 "진짜 진행 상황"을 한눈에 파악하고, 병목 지점을 즉시 발견하여 팀의 생산성을 높입니다.
- 실시간 상태 모니터링: 모든 리포지토리의 커밋, 이슈, PR 상태를 한 화면에서 확인
- 진행률 추적: 마일스톤 및 이슈 기반 프로젝트 진행률 자동 계산
- 스마트 필터링: 태그, 조직, 언어, 마감일, 활동량으로 프로젝트 분류
- 커스텀 뷰: 개인화된 필터와 레이아웃 저장 및 공유
- 시각적 타임라인: 마일스톤과 이슈를 간트 차트로 표시
- 지연 감지: 마감 임박 및 지연 항목 자동 하이라이트
- 의존성 관리: 이슈 간 선후 관계 표시
- 유연한 스케일: 주/월 단위 전환 및 확대/축소
- 자동 감지: PR 대기 48시간 초과, 마일스톤 D-3, 진행률 저조 자동 알림
- 다중 채널: Slack, Discord, 이메일 지원
- 딥링크: 알림에서 직접 대시보드로 이동
- 주기적 폴링: 5-10분 간격으로 GitHub 데이터 자동 업데이트
- 웹훅 지원: 실시간 변경사항 반영 (옵션)
- 효율적 캐싱: ETag 기반 최적화로 API 호출 최소화
- Framework: React 18 + TypeScript
- Build Tool: Vite
- State Management: Zustand
- UI Library: TailwindCSS
- Charts: D3.js + vis-timeline
- HTTP Client: Axios
- Runtime: Node.js 20+
- Framework: Fastify
- Database: PostgreSQL 15+
- Cache: Redis 7+
- API Client: Octokit (GitHub REST/GraphQL)
- Containerization: Docker
- CI/CD: GitHub Actions
- Hosting: (TBD - AWS/Azure/Vercel)
- Node.js 20 이상
- PostgreSQL 15 이상
- Redis 7 이상 (옵션)
- GitHub OAuth App 등록
.env 파일을 생성하고 다음 항목을 설정하세요:
# GitHub OAuth
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/codecompass
# Redis (옵션)
REDIS_URL=redis://localhost:6379
# Application
SESSION_SECRET=your_random_secret_key
WEB_BASE_URL=http://localhost:3000
# Port
PORT=3000# 저장소 클론
git clone https://github.com/yourusername/code-compass.git
cd code-compass
# 의존성 설치
npm install
# 데이터베이스 마이그레이션
npm run db:migrate
# 개발 서버 시작
npm run dev# Docker Compose로 전체 스택 실행
docker-compose up -d
# 애플리케이션 접속
# http://localhost:3000- GitHub 로그인: OAuth를 통해 GitHub 계정 연동
- 리포지토리 선택: 모니터링할 리포지토리 선택 및 즐겨찾기 설정
- 대시보드 확인: 프로젝트 상태, 진행률, PR 대기 현황 확인
- 간트 차트: 마일스톤 및 이슈의 타임라인 시각화
- 알림 설정: Slack/Discord 채널 연동 및 알림 규칙 설정
code-compass/
├── client/ # React 프론트엔드
│ ├── src/
│ │ ├── components/ # React 컴포넌트
│ │ ├── pages/ # 페이지 컴포넌트
│ │ ├── services/ # API 클라이언트
│ │ ├── stores/ # 상태 관리
│ │ └── utils/ # 유틸리티 함수
│ └── public/
├── server/ # Fastify 백엔드
│ ├── src/
│ │ ├── routes/ # API 라우트
│ │ ├── services/ # 비즈니스 로직
│ │ ├── models/ # 데이터 모델
│ │ ├── middleware/ # 미들웨어
│ │ └── utils/ # 유틸리티
│ └── tests/
├── docs/ # 프로젝트 문서
├── docker/ # Docker 설정
└── scripts/ # 빌드 및 배포 스크립트
- Week 1: 프로젝트 기본 구조 및 OAuth 인증
- Week 2: GitHub API 동기화 및 대시보드
- Week 3: 간트 차트 및 진행률 계산
- Week 4: 알림 시스템 및 배포
자세한 로드맵은 개발 로드맵을 참조하세요.
기여는 언제나 환영합니다! 다음 단계를 따라주세요:
- Fork the Project
- Create your Sprint Branch (
git checkout -b sprint/sprint-XX) - Commit your Changes (
git commit -m 'feat(S1-001): Add feature') - Push to the Branch (
git push origin sprint/sprint-XX) - Open a Pull Request
main: 프로덕션 배포 브랜치sprint/sprint-XX: 스프린트별 개발 브랜치story/CC-XXX: 스토리별 개발 브랜치hotfix/*: 긴급 수정 브랜치
자세한 내용은 Git 브랜치 전략 문서를 참조하세요.
이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
- 프로젝트 링크: https://github.com/yourusername/code-compass
- 이슈 리포트: GitHub Issues
CodeCompass - 프로젝트의 방향을 잡다 🧭