주요 개발 수행 지침
1. 일반사항
애자일 스크럼 방법론을 따르며, 총 10주를 2주 단위 5개 스프린트로 나눠 진행한다. 각 스프린트는 동작하는 산출물을 목표로 한다.
| 스프린트 | 기간 | 내용 |
|---|---|---|
| Sprint 1 | 08/20 ~ 09/02 | 인프라 기반 구축 — DB 스키마, 개발 환경 세팅 |
| Sprint 2 | 09/03 ~ 09/16 | 공고·지원자 핵심 CRUD |
| Sprint 3 | 09/17 ~ 09/30 | 칸반 인터페이스 · 알림 시스템 |
| Sprint 4 | 10/01 ~ 10/14 | AI 기반 이력서 파싱 · 지능형 기능 |
| Sprint 5 | 10/15 ~ 10/27 | 통합 테스트 · 배포 |
세부 일자별 진행 현황은 단계별 개발 일정·개발 로그 참고.
스프린트 운영: 데일리 스크럼(매일 10분) · 스프린트 리뷰(종료일 결과물 시연) · 스프린트 회고(리뷰 직후, 다음 스프린트에 개선 반영)
2. 개발 표준 및 산출물
기술 스택
- 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 |
3. 품질 관리 및 테스트
| 요구 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 |