프로젝트 소개

DevDNA는 공개 GitHub 활동을 분석 리포트와 개발자 프로필 배지로 변환하는 웹 애플리케이션입니다. GitHub OAuth를 통해 오직 본인 계정만 분석할 수 있으며, 다른 개발자의 익명 조회나 순위는 제공하지 않습니다. ## DevDNA가 제공하는 기능 - **개발자 분류**: 커밋 패턴, 사용한 저장소, 협업 행동을 기반으로 한 10가지 프로필 타입 - **근거 배지**: `devdna-production-1d53.up.railway.app/api/badge/{username}.svg`에서 생성되는 SVG 이미지로, GitHub README나 프로필 페이지에 삽입 가능 - **공유 가능한 리포트 카드**: `https://devdna.catchmeif404.com/dev/{username}`에서 코딩 습관, 스택 선호도, 개발자 타입에 대한 결정론적 요약 확인 가능 - **언어 지원**: 인터페이스 및 공유 텍스트 영문/한문 지원 - **프라이버시 설계**: 원본 저장소 및 커밋 데이터는 저장되지 않으며, 최종 분석 결과만 보관 ## 배지 추가 방법 아래 Markdown을 GitHub README에 붙여넣으세요: ```markdown [![DevDNA](https://devdna-production-1d53.up.railway.app/api/badge/YOUR_USERNAME.svg)](https://devdna.catchmeif404.com/dev/YOUR_USERNAME) ``` 백엔드에서 아직 해당 계정을 분석하지 않은 경우,broken 이미지 대신 `AWAITING EVIDENCE` 플레이스홀더 배지가 반환됩니다. ## 기술 스택 | 영역 | 기술 | |---|---| | 프론트엔드 | Next.js, TypeScript, Tailwind CSS, Cloudflare Workers | | 백엔드 | Spring Boot (Java 21), Flyway 마이그레이션, Railway 배포 | | 데이터베이스 | PostgreSQL | | 인증 | GitHub OAuth | ## 로컬 실행 방법 ```bash cp .env.example .env docker compose up -d ``` - 프론트엔드: http://localhost:3010 - 백엔드 API: http://localhost:8090 GitHub OAuth 앱을 생성하고 `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET`을 설정하세요. 로컬 콜백 URL은 `http://localhost:8090/api/auth/github/callback`로 구성해야 합니다. ## 알려진 제한사항 - 요약은 확률적 모델이 아닌 규칙 기반 템플릿으로 생성되며, 커밋 타입 분류는 구성 시 Claude API 호출 가능 - 최종 분석 결과만 보관됨 — 원본 GitHub 데이터는 스트리밍 후 폐기 - 진행 중인 분석은 백엔드가 재시작할 경우 자동으로 재개되지 않음 - GitHub 사용자명 변경 후 결과 소유권이 완전히 정규화되지 않을 수 있음