Files
vexplor/docs/테스트_위젯_누락_기능_분석_보고서.md
2025-10-28 18:21:00 +09:00

10 KiB
Raw Blame History

테스트 위젯 누락 기능 분석 보고서

작성일: 2025-10-28
목적: 원본 위젯과 테스트 위젯 간의 기능 차이를 분석하여 누락된 기능을 파악


📊 위젯 비교 매트릭스

원본 위젯 테스트 위젯 상태 누락된 기능
CustomMetricWidget 통계 카드 (CustomMetricTestWidget) 완료 Group By Mode (추가 완료)
RiskAlertWidget RiskAlertTestWidget ⚠️ 검토 필요 새 알림 애니메이션 (불필요)
ChartWidget ChartTestWidget 🔍 분석 중 TBD
ListWidget ListTestWidget 🔍 분석 중 TBD
MapSummaryWidget MapTestWidgetV2 🔍 분석 중 TBD
MapTestWidget (주석 처리됨) ⏸️ 비활성 N/A
StatusSummaryWidget (주석 처리됨) ⏸️ 비활성 N/A

1 CustomMetricWidget vs 통계 카드 (CustomMetricTestWidget)

상태: 완료

원본 기능

  • 단일 데이터 소스 (Database 또는 REST API)
  • 그룹별 카드 모드 (groupByMode)
  • 일반 메트릭 카드
  • 자동 새로고침 (30초)

테스트 버전 기능

  • 다중 데이터 소스 (REST API + Database 혼합)
  • 그룹별 카드 모드 (원본에서 복사 완료)
  • 일반 메트릭 카드
  • 자동 새로고침 (설정 가능)
  • 수동 새로고침 버튼
  • 마지막 새로고침 시간 표시
  • 상세 정보 모달 (클릭 시 원본 데이터 표시)
  • 컬럼 매핑 지원

🎯 결론

테스트 버전이 원본보다 기능이 많습니다. 누락된 기능 없음.


2 RiskAlertWidget vs RiskAlertTestWidget

⚠️ 상태: 검토 필요

원본 기능

  • 백엔드 캐시 API 호출 (/risk-alerts)
  • 강제 새로고침 API (/risk-alerts/refresh)
  • 새 알림 애니메이션 (newAlertIds 상태)
    • 새로운 알림 감지
    • 3초간 애니메이션 표시
    • 자동으로 애니메이션 제거
  • 자동 새로고침 (1분)
  • 알림 타입별 필터링

테스트 버전 기능

  • 다중 데이터 소스 (REST API + Database 혼합)
  • 알림 타입별 필터링
  • 자동 새로고침 (설정 가능)
  • 수동 새로고침 버튼
  • 마지막 새로고침 시간 표시
  • XML/CSV 데이터 파싱
  • 컬럼 매핑 지원
  • 새 알림 애니메이션 (사용자 요청으로 제외)

🎯 결론

새 알림 애니메이션은 사용자 요청으로 불필요하다고 판단됨. 다른 누락 기능 없음.


3 ChartWidget vs ChartTestWidget

상태: 완료

원본 기능

원본 ChartWidget 파일이 존재하지 않습니다!

ChartTestWidget은 처음부터 신규 개발된 위젯입니다.

테스트 버전 기능

  • 다중 데이터 소스 (REST API + Database 혼합)
  • 차트 타입: 라인, 바, 파이, 도넛, 영역
  • 혼합 차트 (ComposedChart)
    • 각 데이터 소스별로 다른 차트 타입 지정 가능
    • 바 + 라인 + 영역 동시 표시
  • 데이터 병합 모드 (mergeMode)
    • 여러 데이터 소스를 하나의 라인/바로 병합
  • 자동 새로고침 (설정 가능)
  • 수동 새로고침 버튼
  • 마지막 새로고침 시간 표시
  • 컬럼 매핑 지원

🎯 결론

원본이 없으므로 비교 불필요. ChartTestWidget은 완전히 새로운 위젯입니다.


4 ListWidget vs ListTestWidget

상태: 완료

원본 기능

원본 ListWidget 파일이 존재하지 않습니다!

ListTestWidget은 처음부터 신규 개발된 위젯입니다.

참고: ListSummaryWidget이라는 유사한 위젯이 있으나, 현재 주석 처리되어 있습니다.

테스트 버전 기능

  • 다중 데이터 소스 (REST API + Database 혼합)
  • 테이블/카드 뷰 전환
  • 페이지네이션
  • 컬럼 설정 (자동/수동)
  • 자동 새로고침 (설정 가능)
  • 수동 새로고침 버튼
  • 마지막 새로고침 시간 표시
  • 컬럼 매핑 지원

🎯 결론

원본이 없으므로 비교 불필요. ListTestWidget은 완전히 새로운 위젯입니다.


5 MapSummaryWidget vs MapTestWidgetV2

상태: 완료

원본 기능 (MapSummaryWidget)

  • 단일 데이터 소스 (Database 쿼리)
  • 마커 표시
  • VWorld 타일맵 (고정)
  • 날씨 정보 통합
    • 주요 도시 날씨 API 연동
    • 마커별 날씨 캐싱
  • 기상특보 표시 (showWeatherAlerts)
    • 육지 기상특보 (GeoJSON 레이어)
    • 해상 기상특보 (폴리곤)
    • 하드코딩된 해상 구역 좌표
  • 자동 새로고침 (30초)
  • 테이블명 한글 번역

테스트 버전 기능 (MapTestWidgetV2)

  • 다중 데이터 소스 (REST API + Database 혼합)
  • 마커 표시
  • 폴리곤 표시 (GeoJSON)
  • VWorld 타일맵 (설정 가능)
  • 데이터 소스별 색상 설정
  • 자동 새로고침 (설정 가능)
  • 수동 새로고침 버튼
  • 마지막 새로고침 시간 표시
  • 컬럼 매핑 지원
  • XML/CSV 데이터 파싱
  • 지역 코드/이름 → 좌표 변환
  • 날씨 정보 통합 (누락)
  • 기상특보 표시 (누락)

🎯 결론

MapTestWidgetV2에 누락된 기능:

  1. 날씨 API 통합 (주요 도시 날씨)
  2. 기상특보 표시 (육지/해상)

단, 기상특보는 REST API 데이터 소스로 대체 가능하므로 중요도가 낮습니다.


🎯 주요 발견 사항

1. 테스트 위젯의 공통 강화 기능

모든 테스트 위젯은 원본 대비 다음 기능이 추가되었습니다:

  • 다중 데이터 소스 지원
    • REST API 다중 연결
    • Database 다중 연결
    • REST API + Database 혼합
  • 컬럼 매핑
    • 서로 다른 데이터 소스의 컬럼명 통일
  • 자동 새로고침 간격 설정
    • 데이터 소스별 개별 설정
  • 수동 새로고침 버튼
  • 마지막 새로고침 시간 표시
  • XML/CSV 파싱 (Map, RiskAlert)

2. 원본에만 있는 기능 (누락 가능성)

현재까지 확인된 원본 전용 기능:

  1. 통계 카드 (CustomMetricWidget)

    • Group By Mode테스트 버전에 추가 완료
  2. RiskAlertWidget

    • 새 알림 애니메이션 → 사용자 요청으로 제외 ⚠️
  3. 기타 위젯

    • 추가 분석 필요 🔍

3. 테스트 위젯 전용 기능

테스트 버전에만 있는 고급 기능:

  • ChartTestWidget: 혼합 차트 (ComposedChart), 데이터 병합 모드
  • MapTestWidgetV2: 폴리곤 표시, 데이터 소스별 색상
  • 통계 카드 (CustomMetricTestWidget): 상세 정보 모달 (원본 데이터 표시)

📋 다음 단계

즉시 수행

  • ChartWidget 원본 파일 확인
  • ListWidget 원본 파일 확인 (존재 여부)
  • MapSummaryWidget 원본 파일 확인

검토 필요

  • 사용자에게 새 알림 애니메이션 필요 여부 재확인
  • 원본 위젯의 숨겨진 기능 파악

장기 계획

  • 테스트 위젯을 원본으로 승격 고려
  • 원본 위젯 deprecated 처리 고려

📊 통계

  • 분석 완료: 5/5 (100%)
  • 누락 기능 발견: 3개
    1. Group By Mode해결 완료
    2. 날씨 API 통합 (MapTestWidgetV2) → 낮은 우선순위 ⚠️
    3. 기상특보 표시 (MapTestWidgetV2) → REST API로 대체 가능 ⚠️
  • 원본이 없는 위젯: 2개 (ChartTestWidget, ListTestWidget)
  • 테스트 버전 추가 기능: 10개 이상
  • 전체 평가: 테스트 버전이 원본보다 기능적으로 우수함 🏆

🎉 최종 결론

분석 완료

모든 테스트 위젯과 원본 위젯의 비교 분석이 완료되었습니다.

🔍 주요 발견

  1. 통계 카드 (CustomMetricTestWidget): 원본의 모든 기능 포함 + 다중 데이터 소스 + 상세 모달
  2. RiskAlertTestWidget: 원본의 핵심 기능 포함 + 다중 데이터 소스 (새 알림 애니메이션은 불필요)
  3. ChartTestWidget: 원본 없음 (신규 개발)
  4. ListTestWidget: 원본 없음 (신규 개발)
  5. MapTestWidgetV2: 원본 대비 날씨 API 누락 (REST API로 대체 가능)

📈 테스트 위젯의 우수성

테스트 위젯은 다음과 같은 공통 강화 기능을 제공합니다:

  • 다중 데이터 소스 (REST API + Database 혼합)
  • 컬럼 매핑 (데이터 통합)
  • 자동 새로고침 간격 설정
  • 수동 새로고침 버튼
  • 마지막 새로고침 시간 표시
  • XML/CSV 파싱 (Map, RiskAlert)

🎯 권장 사항

  1. 통계 카드 (CustomMetricTestWidget): 원본 대체 가능
  2. RiskAlertTestWidget: 원본 대체 가능
  3. ChartTestWidget: 이미 프로덕션 준비 완료
  4. ListTestWidget: 이미 프로덕션 준비 완료
  5. MapTestWidgetV2: 날씨 기능이 필요하지 않다면 원본 대체 가능 ⚠️

🚀 다음 단계

  • 테스트 위젯을 원본으로 승격 고려 → 완료 (2025-10-28)
  • 원본 위젯 deprecated 처리 고려 → 완료 (주석 처리)
  • MapTestWidgetV2에 날씨 API 추가 여부 결정 (선택사항) → 보류 (사용자 요청으로 그냥 승격)

🎉 승격 완료 (2025-10-28)

승격된 위젯

테스트 버전 정식 버전 새 subtype
MapTestWidgetV2 MapSummaryWidget map-summary-v2
ChartTestWidget ChartWidget chart
ListTestWidget ListWidget list-v2
CustomMetricTestWidget CustomMetricWidget custom-metric-v2
RiskAlertTestWidget RiskAlertWidget risk-alert-v2

📝 변경 사항

  1. types.ts: 테스트 subtype 주석 처리, 정식 subtype 추가
  2. 기존 원본 위젯: 주석 처리 (백업 보관)
  3. CanvasElement.tsx: subtype 조건문 변경
  4. DashboardViewer.tsx: subtype 조건문 변경
  5. ElementConfigSidebar.tsx: subtype 조건문 변경
  6. DashboardTopMenu.tsx: 메뉴 재구성 (테스트 섹션 제거)
  7. SQL 마이그레이션: 스크립트 생성 완료

🔗 관련 문서


보고서 작성 완료일: 2025-10-28
작성자: AI Assistant
상태: 완료 → 승격 완료