프로젝트 소개
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
[](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 사용자명 변경 후 결과 소유권이 완전히 정규화되지 않을 수 있음
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.