KCG 모니터링 대시보드
Go to file
Nan Kyung Lee cebe5ce06b feat(korea): 작전가이드 + 보고서 + Google TTS — KoreaDashboard 통합
- OpsGuideModal: 3탭 (실시간탐지/대응절차/조치기준)
  - 해경 기지 선택 → 주변 의심선박 자동 탐지
  - 선박 클릭 → 업종별 대응 절차 자동 표시 (PT/GN/PS/FC/GEAR)
  - 중국어 경고문 16개 (클릭: 복사, 🔊: Google TTS 음성)
  - 임검침로 점선 시각화 (해경→선박)
  - 드래그 이동 + 크기 조절
- ReportModal: 현재 데이터 기반 자동 보고서 7섹션 + 인쇄/PDF
- KoreaDashboard에 작전가이드 버튼 + 모달 연결
- KoreaMap: externalFlyTo + opsRoute props 추가
- Google TTS: Vite 프록시 /api/gtts (client=webapp)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:31:55 +09:00
.claude feat: 센서 그래프 실데이터 + 선박 모달 UI 개선 + KST/UTC 라디오 2026-03-18 09:23:45 +09:00
.gitea/workflows fix: prediction 배포 스크립트 수정 — health timeout 60초 + tar.gz 재시도 수정 2026-03-20 12:20:54 +09:00
.githooks feat(backend): OSINT/Satellite 수집기 + Caffeine 캐시 통일 + REST API 2026-03-18 04:04:18 +09:00
backend feat: AI 분석 통계 서버사이드 전환 + 어구/선단 UI 개선 2026-03-24 15:55:15 +09:00
database feat(prediction): 선단/어구그룹 폴리곤 서버사이드 생성 + PostGIS 저장 2026-03-24 13:30:31 +09:00
deploy feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시 2026-03-20 12:10:21 +09:00
docs feat: AI 분석 통계 서버사이드 전환 + 어구/선단 UI 개선 2026-03-24 15:55:15 +09:00
frontend feat(korea): 작전가이드 + 보고서 + Google TTS — KoreaDashboard 통합 2026-03-24 16:31:55 +09:00
prediction feat: AI 분석 통계 서버사이드 전환 + 어구/선단 UI 개선 2026-03-24 15:55:15 +09:00
.editorconfig chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
.gitignore fix(deploy): application-prod.yml 코드 내장 + 외부 설정 참조 제거 2026-03-18 04:38:25 +09:00
.node-version chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
.npmrc chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
.prettierrc chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
CLAUDE.md feat: AI 분석 통계 서버사이드 전환 + 어구/선단 UI 개선 2026-03-24 15:55:15 +09:00
README.md feat: KCG 모니터링 대시보드 초기 프로젝트 구성 2026-03-17 09:01:18 +09:00
workflow-version.json chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])