# 🚀 Project Roadmap

## Phase 1: MVP (Minimum Viable Product) ✅ 완료

### 핵심 기능 구현
- [x] 웹 크롤링 (Selenium 기반)
- [x] 데이터베이스 저장 (SQLite)
- [x] 실시간 알림 (Windows Toast)
- [x] HWP 보고서 생성
- [x] 히스토리 관리
- [x] 설정 관리

---

## Phase 2: 안정화 및 고도화 🔄 진행 중

### 2.1 코드 품질 개선
- [x] ReportService 리팩토링 (1056줄 → 400줄)
- [x] Controller 리팩토링 (730줄 → 487줄) - Manager 패턴 적용
- [x] 에러 처리 체계 구축 (`core/exceptions.py`)
- [x] 로깅 체계 개선
- [x] Docstring 상세화

### 2.2 사용자 경험 개선
- [x] 기존 보고서 중복 체크
- [x] 히스토리 다이얼로그 설정 버튼
- [ ] 열차번호 조회 실패 시 UI 개선
- [ ] 보고서 미리보기 기능
- [ ] 드래그 앤 드롭 파일 첨부

### 2.3 성능 최적화
- [ ] 크롤링 속도 개선 (병렬 처리)
- [ ] DB 인덱스 최적화
- [ ] 시각표 로딩 속도 개선 (캐싱)

---

## Phase 3: 기능 확장 📅 계획 중

### 3.1 다중 호선 지원
- [ ] 2호선 시각표 추가
- [ ] 3호선 시각표 추가
- [ ] 호선별 설정 분리
- [ ] 통합 대시보드

### 3.2 통계 및 분석 📊

#### 3.2.1 VOC 통계/통합 분석보고서 (신규 제안)
**목표**: 수집된 VOC 데이터를 기반으로 통계 분석 및 통합 보고서 생성

**핵심 기능**:
- [ ] **기간별 통계**
  - 일간/주간/월간/연간 VOC 발생 건수
  - 부서별 VOC 분포 (차량, 시설, 역무 등)
  - 처리 상태별 현황 (접수, 처리중, 완료)
  - 공개/비공개 비율

- [ ] **키워드 분석**
  - 빈출 키워드 TOP 10
  - 키워드별 발생 추이 (시계열)
  - 워드 클라우드 생성

- [ ] **역별 분석**
  - 역별 VOC 발생 건수 (히트맵)
  - 문제 다발 구간 식별
  - 시간대별 발생 패턴

- [ ] **통합 보고서 생성**
  - PDF/Excel 형식 지원
  - 차트 및 그래프 자동 생성 (matplotlib/plotly)
  - 월간 정기 보고서 자동 생성
  - 이메일 자동 발송 (선택)

**기술 스택**:
- `pandas`: 데이터 분석
- `matplotlib` / `plotly`: 시각화
- `openpyxl`: Excel 생성
- `reportlab`: PDF 생성

**예상 개발 기간**: 2주
**우선순위**: 중간 (v2.5 목표)

#### 3.2.2 기타 분석 기능
- [ ] VOC 발생 추이 그래프 (실시간)
- [ ] 부서별 통계 대시보드
- [ ] 응답 시간 분석 (접수 → 완료)
- [ ] 재발 VOC 추적

### 3.3 외부 연동
- [ ] 엑셀 내보내기
- [ ] 이메일 자동 발송
- [ ] 메신저 알림 (카카오톡, 슬랙)
- [ ] API 서버 구축

---

## Phase 4: 엔터프라이즈 기능 💡 아이디어

### 4.1 협업 기능
- [ ] 다중 사용자 지원
- [ ] 권한 관리 (관리자/일반)
- [ ] 댓글 및 메모 기능
- [ ] 작업 할당 및 추적

### 4.2 고급 분석
- [ ] AI 기반 VOC 분류
- [ ] 감정 분석 (긍정/부정)
- [ ] 자동 응답 템플릿 추천
- [ ] 예측 분석 (발생 패턴)

### 4.3 플랫폼 확장
- [ ] 웹 UI (Flask/FastAPI)
- [ ] 모바일 앱 (React Native)
- [ ] 클라우드 동기화
- [ ] 멀티플랫폼 지원 (macOS, Linux)

---

## 💡 아이디어 보관함 (Icebox)

### 창의적 아이디어
- **음성 인식**: 전화 VOC 자동 텍스트 변환
- **OCR**: 이미지 첨부파일 텍스트 추출
- **챗봇**: 자주 묻는 질문 자동 응답
- **대시보드**: 실시간 모니터링 화면 (TV 출력용)
- **게임화**: VOC 처리 시 포인트 적립, 랭킹

### 기술 실험
- **Playwright**: Selenium 대체 검토
- **FastAPI**: 웹 API 서버 구축
- **Docker**: 컨테이너화
- **CI/CD**: 자동 빌드 및 배포

### 🎯 자동 업데이트 시스템 [완료] ✅
**요청일**: 2026-02-18
**완료일**: 2026-02-18

**목표**: 프로그램의 자동 업데이트 기능 구현

**완료된 기능**:
- [x] Supabase 기반 원격 버전 관리
- [x] 1시간마다 자동 업데이트 체크
- [x] 업데이트 알림 및 자동 설치
- [x] 멀티프로젝트 지원 (재사용 가능한 모듈 설계)
- [x] updater.exe 분리 아키텍처 (별도 패킹)
- [x] CustomTkinter 기반 최소 GUI

**구현 파일**:
- `app/updater/__init__.py`: 모듈 초기화
- `app/updater/__version__.py`: 버전 정보
- `app/updater/update_manager.py`: 메인 프로그램용 업데이트 관리자
- `app/updater/updater_gui.py`: updater.exe용 GUI
- `app/updater/updatelog.md`: 업데이트 로그

**상세 내용**: `docs/project_spec.md` 10장 참조

---

**참고**: 이 기능은 다른 프로젝트에서도 재사용 가능하도록 별도 모듈로 설계되었습니다.

---

## 📊 우선순위 매트릭스

| 기능 | 중요도 | 긴급도 | 우선순위 |
|------|--------|--------|----------|
| Controller 리팩토링 | 높음 | 높음 | 🔴 즉시 |
| 에러 처리 개선 | 높음 | 높음 | 🔴 즉시 |
| 열차번호 UI 개선 | 중간 | 높음 | 🟡 이번 주 |
| **VOC 통계/통합 분석보고서** | **높음** | **중간** | **🟡 다음 달** |
| 통계 대시보드 | 중간 | 낮음 | 🟢 다음 달 |
| 다중 호선 지원 | 높음 | 낮음 | 🟢 다음 달 |
| 웹 UI | 낮음 | 낮음 | ⚪ 보류 |

---

## 🎯 마일스톤

### v2.0 (2026-02-17) ✅ 완료
- ReportService 리팩토링
- 기존 보고서 중복 체크
- 문서 체계 정비

### v2.1 (2026-02-18) ✅ 완료
- Controller 리팩토링 (Manager 패턴 적용)
  - ReportManager, FileManager, UIManager 신규 생성
  - 기존 Manager 개선 (SchedulerManager, NotificationManager)
- 에러 처리 체계 완성 (`core/exceptions.py`)
- UI 개선 (열차번호 조회 실패 처리 - CTkComboBox 문제 해결)
- 설정 다이얼로그 Z-order 문제 해결
- 알람 시스템 개선
  - 키워드 필터링 제거 (모든 관심글 알림)
  - 미확인 글 주기적 알림 기능 추가 (30분마다)
  - last_check_time 영속화
  - 중복 알림 방지 메커니즘 추가
  - 신규/미확인 알림 주기 설정화
  - 미확인 30분 경과 조건 ON/OFF 토글 추가

### v2.5 (2026-03-31 목표)
- 통계 대시보드
- 엑셀 내보내기
- 성능 최적화

### v3.2 (2026-02-18) ✅ 완료
- 자동 업데이트 시스템 구현
  - UpdateManager: Supabase 기반 버전 체크
  - UpdaterGUI: 별도 실행파일용 업데이트 GUI
  - updater.exe 분리 아키텍처 적용
  - updatelog.md 위치 변경 (docs/ → app/updater/)
  - 메인 앱 통합 (트레이 수동 확인 + 백그라운드 체크 + 승인 실행 플로우)
  - 빌드 체인 추가 (updater 단독 빌드 + 메인 패키징 포함)

### v3.0 (2026-06-30 목표)
- 다중 호선 지원
- 웹 UI 베타
- API 서버 구축

---

작성자: KH.Choi
최종 수정: 2026-02-18
