# Phase 5: Option E 탐색 구조 고도화 구현 계획

> **문서 유형**: 구현 계획서
> **작성일**: 2026-02-09
> **상태**: ✅ 핵심 기능 구현 완료 (잔여: 마이그레이션/집계 스크립트/QA)
> **예상 공수**: 6일 (1주) → 핵심 기능 완료, 잔여 1~2일
> **선행 조건**: Phase 4 (Rename 동기화) ✅ 완료 (2026-02-09)

---

## 1. 배경

문서 수 증가에 따른 탐색 어려움 해결을 위해 **5탭 카테고리 + 백링크 허브** 시스템 도입.

---

## 2. 최종 확정 스펙

### 탭 구조

```
[🔍전체] [🏥의료] [🚗손해] [💰자산] [⚖️실무]
```

| 탭 | 포함 내용 |
|---|----------|
| 의료 | 암/뇌/심, 실비, 케어, 가족 |
| 손해 | 자동차, 운전자, 화재, 배상 |
| 자산 | 연금/저축, 종신, 상속증여 |
| 실무 | 보상&판례, 고지의무, 약관 |

---

## 3. 구현 단계

### Phase 5-1: 카테고리 필터 탭 (2일)

#### [MODIFY] [firestore.ts](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/nextapp/src/types/firestore.ts)
- `DocumentCategory` 타입 추가
- `Document` 인터페이스에 `category`, `incomingLinkCount` 필드 추가

#### [MODIFY] [page.tsx](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/nextapp/src/app/page.tsx)
- 5탭 카테고리 UI 추가 (Wiki 선택 시만 표시)
- `selectedCategory` 상태 관리
- 카테고리별 필터링 쿼리 로직

---

### Phase 5-2: 편집 UI + 마이그레이션 (1일)

#### [MODIFY] [docs/[id]/page.tsx](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/nextapp/src/app/docs/[id]/page.tsx)
- 편집 UI에 카테고리 드롭다운 추가
- 저장 시 `category` 필드 함께 저장

#### [NEW] [scripts/migrate-category.ts](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/scripts/migrate-category.ts)
- 기존 문서에 `category: 'general'` 기본값 설정
- 배치 업데이트 스크립트

---

### Phase 5-3: 백링크 허브 섹션 (2일)

#### [NEW] [HubDocuments.tsx](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/nextapp/src/components/HubDocuments.tsx)
- 가장 많이 연결된 문서 상위 5개 표시
- `incomingLinkCount` 기준 정렬

#### [MODIFY] [page.tsx](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/nextapp/src/app/page.tsx)
- 허브 섹션 메인 페이지에 배치 (문서 리스트 위)

#### [NEW] [scripts/aggregate-backlinks.ts](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/scripts/aggregate-backlinks.ts)
- 각 문서의 `incomingLinkCount` 집계 스크립트

---

### Phase 5-4: 검증 (1일)

- 카테고리 필터 동작 확인
- 허브 문서 표시 확인
- 모바일 반응형 테스트
- 마이그레이션 결과 검증

---

## 4. 수정 대상 파일 요약

| 파일 | 변경 유형 | Phase |
|-----|----------|-------|
| `firestore.ts` | MODIFY | 5-1 |
| `page.tsx` (Home) | MODIFY | 5-1, 5-3 |
| `docs/[id]/page.tsx` | MODIFY | 5-2 |
| `HubDocuments.tsx` | NEW | 5-3 |
| `migrate-category.ts` | NEW | 5-2 |
| `aggregate-backlinks.ts` | NEW | 5-3 |

---

## 5. Verification Plan

### Manual Testing

1. **카테고리 필터 테스트**
   - Wiki 탭 → 카테고리 탭 표시 확인
   - 각 카테고리 클릭 → 해당 문서만 필터링
   - Daily 탭 → 카테고리 탭 숨김 확인

2. **문서 편집 테스트**
   - 신규 문서 생성 → 카테고리 선택 → 저장
   - 기존 문서 편집 → 카테고리 변경 → 저장

3. **허브 섹션 테스트**
   - 허브 문서 5개 표시 확인
   - 클릭 시 해당 문서 이동

4. **반응형 테스트**
   - 모바일 (375px): 탭 가로 스크롤
   - 태블릿 (768px): 탭 전체 표시
   - 데스크톱 (1024px+): 전체 레이아웃

---

## 6. 참조 문서

- [Option E 스펙 문서](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/docs/specs/260209-13.17-hybrid-navigation-spec.md)
- [전체 미팅 회의록](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/docs/meetings/260209-13.54-option-e-implementation-meeting.md)
- [리스크 분석 미팅](file:///c:/Users/drumb/.gemini/antigravity/scratch/InsuWiki/docs/meetings/260209-13.26-risk-analysis-meeting.md)
