# Phase 2 다음 단계 계획

**작성일**: 2025-12-16  
**상태**: 📋 계획 수립  
**목적**: Phase 2 리팩토링 완전 완료

---

## 🧠 메타인지: 현재 상태

### 완료된 작업 ✅
- Phase 2-1: 큰 파일 구조 분석
- Phase 2-2: 모델 분리 (14개)
- Phase 2-3: 라우터 분리 (2개: Health, Root)
- api_server.py: 2,033줄 → 1,955줄 (78줄 감소)

### 남은 작업 ⏳
- Phase 2-4: 설정 파일 통합
- Phase 2-5: 환경별 설정 분리
- Phase 2-6: 나머지 라우터 분리 (선택적)

---

## 📊 지피지기: 분석 결과

### 설정 파일 통합 필요성
- `AFO/config/settings.py` 존재 확인 ✅
- 여러 파일에서 `os.getenv()` 직접 사용 중
- 통합 필요 파일 식별 필요

### 환경별 설정 분리
- dev/prod/test 환경 구분 필요
- 환경 변수 우선순위 설정 필요

---

## 🎯 다음 단계 전략

### 직렬 작업 (의존성 있음)
1. **설정 파일 통합** (Phase 2-4)
   - 남은 `os.getenv()` 사용처를 `settings.py`로 통합
   - 단계별로 진행 (의존성 고려)

2. **환경별 설정 분리** (Phase 2-5)
   - `config/dev.py`, `config/prod.py`, `config/test.py` 생성
   - 환경 변수 우선순위 설정

### 병렬 작업 (독립적)
1. **코드 품질 개선**
   - 타입 힌팅 강화
   - 에러 처리 표준화
   - 로깅 개선

2. **문서화**
   - API 문서 업데이트
   - 설정 가이드 작성
   - 마이그레이션 가이드 작성

3. **테스트 추가**
   - 설정 통합 테스트
   - 라우터 테스트
   - 통합 테스트

---

## 📝 구체적 작업 계획

### Phase 2-4: 설정 파일 통합

**단계 1: 현재 상태 파악**
- [x] `AFO/config/settings.py` 확인
- [x] `os.getenv()` 사용처 식별
- [ ] 통합 우선순위 결정

**단계 2: 통합 실행**
- [ ] 우선순위 높은 파일부터 통합
- [ ] `settings.py`에 누락된 설정 추가
- [ ] 각 파일 수정 및 테스트

**단계 3: 검증**
- [ ] 모든 통합 완료 확인
- [ ] 테스트 실행
- [ ] 문서 업데이트

### Phase 2-5: 환경별 설정 분리

**단계 1: 환경별 설정 파일 생성**
- [ ] `config/dev.py` 생성
- [ ] `config/prod.py` 생성
- [ ] `config/test.py` 생성

**단계 2: 환경 변수 우선순위 설정**
- [ ] 환경 변수 > 설정 파일 > 기본값 순서 설정
- [ ] 환경별 기본값 설정

**단계 3: 검증**
- [ ] 각 환경별 설정 테스트
- [ ] 환경 변수 우선순위 테스트
- [ ] 문서 업데이트

---

## 🔄 병렬 작업 계획

### 작업 1: 코드 품질 개선
- 타입 힌팅 추가
- 에러 처리 표준화
- 로깅 개선

### 작업 2: 문서화
- API 문서 업데이트
- 설정 가이드 작성
- 마이그레이션 가이드 작성

### 작업 3: 테스트
- 단위 테스트 추가
- 통합 테스트 추가
- 설정 테스트 추가

---

**상태**: 📋 계획 수립 완료  
**다음 단계**: Phase 2-4 시작 (설정 파일 통합)

