Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DeVine Report Server

GitHub 레포지토리를 분석하여 리포트를 생성하는 FastAPI 서버

1. 요구 사항

  • Python 3.10 이상
  • Git CLI 설치 필요

2. 설치

python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install -r requirements.txt

3. 환경 설정

GEMINI_API_KEY=your_gemini_api_key_here
TEMP_DIR=./temp
CALLBACK_TIMEOUT=60

4. 실행

uvicorn app.main:app --reload --port 8000

API

1. 리포트 생성 요청 (비동기)

POST /api/v1/reports/generate

리포트 생성을 비동기로 요청합니다. 분석이 완료되면 callbackUrl로 결과가 전송됩니다.

  • Request Body:
    {
     "reportId": 123,
     "gitUrl": "https://github.com/example/repo",
     "reportType": "MAIN",
     "callbackUrl": "https://your-api.com/callback",
     "githubToken": "ghp_xxxxxxxxxxxx"
    }

2. 리포트 생성 (동기)

POST /api/v1/reports/generate/sync

분석 결과를 즉시 응답으로 반환합니다. (테스트 및 소규모 레포용)

3. 테스트 리포트 생성

POST /api/v1/reports/generate/test

Public 레포지토리 전용으로, GitHub 토큰 없이 이름과 이메일만으로 분석을 진행합니다.


Web Interface

  • 접속 주소: http://localhost:8000/
  • 주요 기능:
    • GitHub 레포지토리 URL 및 작성자 정보 입력
    • MAIN / DETAIL 리포트 타입 선택
    • AI 분석 진행 상황 실시간 모니터링
    • 생성된 리포트의 시각화 및 열람

프로젝트 구조

app/
├── controllers/ # API 요청 제어 및 로직 흐름 관리
├── services/ # 핵심 비즈니스 로직 (Git, Gemini, Analyzer)
├── routes/ # FastAPI 라우터 정의
├── dtos/ # 데이터 전송 객체 (Pydantic 모델)
├── prompts/ # Gemini 분석용 프롬프트 템플릿
├── utils/ # 공통 유틸리티 (파일 읽기, 트리 생성 등)
└── middlewares/ # 에러 핸들러 및 미들웨어

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /