주요 개발 수행 지침
일반 사항
개발 방법론
애자일 스크럼 방식으로 진행한다. 전체 10주를 5개 스프린트(각 2주)로 나누고, 스프린트마다 동작하는 결과물을 산출한다.
| 스프린트 | 기간 | 목표 |
|---|---|---|
| Sprint 1 | 08/20 ~ 09/02 | 기반 구축 — DB 스키마, 프로젝트 뼈대, 개발 환경 |
| Sprint 2 | 09/03 ~ 09/16 | 핵심 CRUD — 공고·지원자 API, 검색, S3 업로드 |
| Sprint 3 | 09/17 ~ 09/30 | 칸반·전환·알림 — 칸반 UI, 단계 전환, 메일 발송 |
| Sprint 4 | 10/01 ~ 10/14 | AI 기능·고도화 — 이력서 파싱, RAG, Agent |
| Sprint 5 | 10/15 ~ 10/27 | 통합·안정화 — 통합 테스트, 성능 측정, 최종 배포 |
스프린트 운영 규칙
- 데일리 스크럼 — 매일 10분, 어제 한 일 / 오늘 할 일 / 블로커 공유
- 스프린트 리뷰 — 스프린트 종료일에 동작하는 결과물 시연
- 스프린트 회고 — 리뷰 직후 진행, 개선 사항 다음 스프린트에 반영
개발 표준 및 산출물
기술 스택
BACKEND — Python · FastAPI · PostgreSQL
FRONTEND — React · Vite · TypeScript
INFRA — Docker · AWS (EC2 · S3 · SES · SQS) · GitHub Actions · Vercel
AI — Claude API · pgvector · LangGraph
코드 관리 규칙
| 항목 | 기준 |
|---|---|
| 버전 관리 | Git (GitHub) |
| 브랜치 전략 | feature 브랜치 → PR → main 머지 |
| 코드 리뷰 | PR 머지 전 최소 1인 리뷰 필수 |
| 커밋 메시지 | Conventional Commits (feat:, fix:, docs:, ci:) |
주요 산출물
| 구분 | 산출물 | 비고 |
|---|---|---|
| 설계 | 시스템 아키텍처 다이어그램 | architecture.svg |
| 설계 | ERD (테이블 정의서) | erd.png |
| 개발 | 소스 코드 (Frontend + Backend + AI) | GitHub 저장소 |
| 개발 | API 명세 (Swagger) | FastAPI /docs 자동 생성 |
| 문서 | 개발 진행 보고서 | 본 Jekyll 사이트 |
| 인프라 | Docker 컨테이너 구성 | Dockerfile, docker-compose |
| 인프라 | CI/CD 파이프라인 | GitHub Actions |
품질 관리 및 테스트
품질 요구 사항
| 요구 ID | 항목 | 검수 기준 |
|---|---|---|
| PER-001 | 성능 — 이력서 파싱 E2E 3초 이내, RAG 응답 First Token 2초 이내 | 부하 테스트 시 목표 달성 |
| QUA-001 | 테스트 — 요구사항 ID별 PyTest 및 Vitest 자동화 단위 테스트 | 핵심 로직 코드 커버리지 80% 이상 |
| QUA-002 | 문서화 — API 엔드포인트 자동 문서화 (FastAPI Swagger) | /docs 접속 시 전체 API 명세 조회 가능 |
테스트 전략
| 단계 | 대상 | 도구 | 시점 |
|---|---|---|---|
| 단위 테스트 | API 엔드포인트, AI 모듈 | PyTest | PR 머지 전 |
| 단위 테스트 | React 컴포넌트 | Vitest | PR 머지 전 |
| 통합 테스트 | API ↔ DB 연동 | PyTest | 스프린트 종료 시 |
| E2E 테스트 | 주요 사용자 시나리오 | 수동 QA 체크리스트 | 스프린트 리뷰 |
| 성능 테스트 | 이력서 파싱, RAG 응답, 검색 | 더미 10만 건 기준 | Sprint 5 |