Skip to content

morningpython/code-compass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeCompass 🧭

Navigate your code journey - GitHub 프로젝트 통합 관리 웹 도구

개요

CodeCompass는 GitHub의 리포지토리, 이슈, PR, 마일스톤을 자동으로 집계하여 진행률, 간트 차트, 리스크를 한 화면에서 보여주는 웹 애플리케이션입니다. 여러 프로젝트의 "진짜 진행 상황"을 한눈에 파악하고, 병목 지점을 즉시 발견하여 팀의 생산성을 높입니다.

📚 문서

주요 기능

🎯 통합 대시보드

  • 실시간 상태 모니터링: 모든 리포지토리의 커밋, 이슈, PR 상태를 한 화면에서 확인
  • 진행률 추적: 마일스톤 및 이슈 기반 프로젝트 진행률 자동 계산
  • 스마트 필터링: 태그, 조직, 언어, 마감일, 활동량으로 프로젝트 분류
  • 커스텀 뷰: 개인화된 필터와 레이아웃 저장 및 공유

📊 간트 차트

  • 시각적 타임라인: 마일스톤과 이슈를 간트 차트로 표시
  • 지연 감지: 마감 임박 및 지연 항목 자동 하이라이트
  • 의존성 관리: 이슈 간 선후 관계 표시
  • 유연한 스케일: 주/월 단위 전환 및 확대/축소

🔔 스마트 알림

  • 자동 감지: PR 대기 48시간 초과, 마일스톤 D-3, 진행률 저조 자동 알림
  • 다중 채널: Slack, Discord, 이메일 지원
  • 딥링크: 알림에서 직접 대시보드로 이동

🔄 자동 동기화

  • 주기적 폴링: 5-10분 간격으로 GitHub 데이터 자동 업데이트
  • 웹훅 지원: 실시간 변경사항 반영 (옵션)
  • 효율적 캐싱: ETag 기반 최적화로 API 호출 최소화

기술 스택

Frontend

  • Framework: React 18 + TypeScript
  • Build Tool: Vite
  • State Management: Zustand
  • UI Library: TailwindCSS
  • Charts: D3.js + vis-timeline
  • HTTP Client: Axios

Backend

  • Runtime: Node.js 20+
  • Framework: Fastify
  • Database: PostgreSQL 15+
  • Cache: Redis 7+
  • API Client: Octokit (GitHub REST/GraphQL)

DevOps

  • 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로 실행

# Docker Compose로 전체 스택 실행
docker-compose up -d

# 애플리케이션 접속
# http://localhost:3000

사용 방법

  1. GitHub 로그인: OAuth를 통해 GitHub 계정 연동
  2. 리포지토리 선택: 모니터링할 리포지토리 선택 및 즐겨찾기 설정
  3. 대시보드 확인: 프로젝트 상태, 진행률, PR 대기 현황 확인
  4. 간트 차트: 마일스톤 및 이슈의 타임라인 시각화
  5. 알림 설정: 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: 알림 시스템 및 배포

자세한 로드맵은 개발 로드맵을 참조하세요.

기여하기

기여는 언제나 환영합니다! 다음 단계를 따라주세요:

  1. Fork the Project
  2. Create your Sprint Branch (git checkout -b sprint/sprint-XX)
  3. Commit your Changes (git commit -m 'feat(S1-001): Add feature')
  4. Push to the Branch (git push origin sprint/sprint-XX)
  5. Open a Pull Request

Git 브랜치 전략

  • main: 프로덕션 배포 브랜치
  • sprint/sprint-XX: 스프린트별 개발 브랜치
  • story/CC-XXX: 스토리별 개발 브랜치
  • hotfix/*: 긴급 수정 브랜치

자세한 내용은 Git 브랜치 전략 문서를 참조하세요.

라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

연락처

감사의 말


CodeCompass - 프로젝트의 방향을 잡다 🧭

About

Navigate your code journey - GitHub 프로젝트 통합 관리 웹 도구

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors