# task-421.1 보고서: 대시보드 프로젝트뷰/시스템뷰 탭 추가

## 작업 요약
기존 대시보드(조직뷰)에 **프로젝트뷰**와 **시스템뷰** 탭을 추가하여, 3개 탭 네비게이션 대시보드로 확장.

## 수정 파일

### 1. `/home/jay/workspace/dashboard/server.py`
- `DataLoader._classify_task_project()`: desc 기반 프로젝트 분류 메서드
- `DataLoader.get_project_classified_tasks()`: 프로젝트별 작업 분류 API 데이터
- `DataLoader.get_system_status()`: 봇 상태 + 시스템 메트릭 API 데이터
- `DashboardHandler.do_GET`: `/api/project-tasks`, `/api/system-status` 라우트 추가
- `start_fastapi()`: FastAPI 모드에도 동일 엔드포인트 추가

### 2. `/home/jay/workspace/dashboard/index.html`
- `TabNavigation` 컴포넌트: 3탭 네비게이션 (조직뷰/프로젝트뷰/시스템뷰)
- `ProjectView` 컴포넌트: 프로젝트별 카드 그리드 + 필터 + 확장 가능 작업 목록
- `SystemView` 컴포넌트: 봇 상태 카드 + 시스템 메트릭 + 최근 완료 작업
- 기존 조직뷰 콘텐츠를 `activeTab === 'org'` 조건으로 래핑
- `fetchData()`에 신규 API 호출 추가

## 프로젝트 분류 로직
- "insuro", "인슈로" → InsuRo
- "insuwiki", "인슈위키" → InsuWiki
- "dispatch", "task-timer", "dashboard", "조직", "스킬", "skill" → 아누시스템
- "마케팅", "sns", "seo" → 마케팅
- 그 외 → 기타

## 테스트 결과

### API 테스트
- `/api/project-tasks`: 4개 프로젝트 정상 반환 (아누시스템 34건, 기타 320건, InsuRo 3건, InsuWiki 9건)
- `/api/system-status`: 3개 봇 상태 + 최근 완료 5건 + .done 1건 + 총 366/363/3 정상 반환
- 서버 재시작 후 라이브 테스트 통과

### 타입 체크
- pyright: 0 errors, 0 warnings

### 모바일 반응형
- Tailwind responsive classes 적용 (grid-cols-1 → md:grid-cols-2 → xl:grid-cols-3)

## 완료 조건 검증
1. ✅ 3개 탭 모두 동작 (조직뷰/프로젝트뷰/시스템뷰)
2. ✅ task-timers.json 데이터 정상 로드 및 표시
3. ✅ 프로젝트 분류 정확 (4개 카테고리 + 기타)
4. ✅ 팀 가용 상태 실시간 반영 (봇B running, 봇C running, 봇D idle)
5. ✅ 모바일 반응형 적용 (Tailwind responsive grid)

## 비고
- 기존 디자인 톤 유지 (Inter 폰트, slate/blue 컬러)
- SSE 실시간 업데이트 기존 로직과 호환 (신규 API도 fetchData에서 함께 호출)
- "기타" 프로젝트에 320건이 분류됨 (대부분 일반 개발 작업). 추후 분류 키워드 세분화 가능.
