커밋 그래프

338 커밋

작성자 SHA1 메시지 날짜
Nan Kyung Lee
a470df5518 feat(aerial): KBS CCTV HLS 직접 재생 + CCTV 위치 지도 + 좌표 정확도 개선
- KBS 재난안전포탈 CCTV를 iframe에서 HLS 직접 재생으로 전환
- 백엔드 KBS HLS 리졸버 엔드포인트 추가 (/api/aerial/cctv/kbs-hls/:cctvId/stream.m3u8)
- KBS API 3단계 리졸브: 팝업API → loomex API → m3u8 (5분 캐시)
- CCTV 미선택 시 MapLibre 지도에 마커 표시 + 팝업 영상 선택
- 우측 미니맵을 실제 MapLibre 지도로 교체
- KBS API 정확 좌표로 19개 CCTV 업데이트 + 신규 2건 추가 (울산 달동, 제주 도남동)
- PredictionInputSection 중복 className 수정

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 07:40:52 +09:00
891db2a894 Merge pull request 'docs: ������ ��Ʈ ���� (2026-03-13)' (#89) from release/2026-03-13-notes into develop 2026-03-13 14:57:12 +09:00
4e0bb23dab docs: 릴리즈 노트 정리 (2026-03-13)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 14:56:05 +09:00
1bfc06c6c5 Merge pull request 'feat(prediction): 오염분석 다각형/원 분석 기능 구현' (#87) from feature/prediction-pollution-analysis into develop 2026-03-13 14:48:46 +09:00
740b8acf1d chore: develop 머지 + RELEASE-NOTES 충돌 해결 2026-03-13 14:46:50 +09:00
d693c6865f chore: 팀 워크플로우 동기화 (v1.6.1) 2026-03-13 14:30:43 +09:00
a40daf2263 docs: 릴리즈 노트 업데이트 2026-03-13 14:14:57 +09:00
6864f6dab5 fix(useSubMenu): useEffect import 추가 2026-03-13 14:10:15 +09:00
421f5f8b52 Merge branch 'feature/prediction-pollution-analysis' of https://gitea.gc-si.dev/gc/wing-ops into feature/prediction-pollution-analysis
# Conflicts:
#	docs/RELEASE-NOTES.md
#	frontend/src/common/components/map/MapView.tsx
#	frontend/src/tabs/prediction/components/OilSpillView.tsx
#	frontend/src/tabs/prediction/components/RightPanel.tsx
2026-03-13 14:00:47 +09:00
a8ba29fd4c Merge pull request 'feat(prediction): 시뮬레이션 에러 모달 추가 및 보고서 해안부착 현황 개선' (#88) from feature/function_develop into develop 2026-03-13 13:41:41 +09:00
59f4753c12 Merge branch 'develop' of https://gitea.gc-si.dev/gc/wing-ops into feature/function_develop
# Conflicts:
#	docs/RELEASE-NOTES.md
2026-03-13 13:31:41 +09:00
fb2dcce1f5 Merge branch 'feature/function_develop' into develop 2026-03-13 13:27:55 +09:00
827dab27a0 docs: 릴리즈 노트 업데이트 2026-03-13 13:17:01 +09:00
Nan Kyung Lee
efc8f18bb9 chore: 팀 워크플로우 동기화 (v1.6.1)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 09:26:21 +09:00
Nan Kyung Lee
dc82574635 feat(prediction): 오염분석 다각형/원 분석 기능 구현
- 오염분석 섹션을 탭 UI로 개편 (다각형 분석 / 원 분석)
- 다각형 분석: 지도 클릭으로 꼭짓점 추가 후 분석 실행
- 원 분석: NM 프리셋 버튼(1·3·5·10·15·20·30·50) + 직접 입력, 사고지점 기준 자동 계산
- 분석 결과: 분석면적·오염비율·오염면적·해상잔존량·연안부착량·민감자원 개소 표시
- MapView: 다각형(PolygonLayer) / 원(ScatterplotLayer) 실시간 지도 시각화
- geo.ts: pointInPolygon, polygonAreaKm2, circleAreaKm2 유틸 함수 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 09:19:30 +09:00
9ddae7a973 feat(prediction): 시뮬레이션 에러 모달 추가 및 보고서 해안부착 현황 개선 2026-03-12 19:08:25 +09:00
bf41763925 Merge pull request 'feat(weather): 해류 캔버스 파티클 레이어 추가' (#86) from feature/weather-ocean-canvas into develop 2026-03-12 16:49:24 +09:00
61ac3b42c0 docs: 릴리즈 노트 업데이트 2026-03-12 16:47:06 +09:00
0c94c631c4 feat(weather): 해류 캔버스 파티클 레이어 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:03:17 +09:00
Nan Kyung Lee
d9a51d2101 feat(manual): 사용자 매뉴얼 팝업 기능 추가
- 퀵 메뉴에 '사용자 매뉴얼' 버튼 추가 (위성영상 아래)
- UserManualPopup 컴포넌트 신규 생성 (77개 화면, 8개 챕터)
- 각 화면별 스크린샷 이미지 77장 포함 (/public/manual/)
- 라이트박스 이미지 확대, 전체 열기/닫기, 챕터 네비게이션
2026-03-12 10:30:14 +09:00
ebed0c5657 Merge pull request 'docs: ������ ��Ʈ ���� (2026-03-11)' (#84) from release/2026-03-11-notes into develop 2026-03-11 18:21:19 +09:00
2119e77501 docs: 릴리즈 노트 정리 (2026-03-11) 2026-03-11 18:20:23 +09:00
d40281520b Merge pull request 'feat(prediction): OpenDrift ���� Ȯ�� �ùķ��̼� ���� + �̹��� �м� Docker ȯ��' (#83) from feature/prediction-opendrift-integration into develop 2026-03-11 18:11:59 +09:00
dfe0ac8efe chore: develop 브랜치 최신화 머지 (conflict 해결)
- aerialService.ts: IMAGE_API_URL + stitchImages() 유지 (현재 브랜치 기준)
- aerialRouter.ts: /stitch 라우트 유지 (현재 브랜치 기준)
- RELEASE-NOTES.md: [Unreleased] + [2026-03-11] 병합
2026-03-11 18:09:38 +09:00
5c75ba8712 docs: 릴리즈 노트 업데이트 2026-03-11 17:54:49 +09:00
b672e9b531 chore(workflow): 팀 워크플로우 v1.6.1 적용일 갱신 2026-03-11 17:52:01 +09:00
54d3a281c6 feat(prediction): CPU 전용 Docker 환경 구축 + 이미지 분석/보고서/항공 UI 개선 2026-03-11 17:30:25 +09:00
dc321d2f5a docs: 릴리즈 노트 정리 (2026-03-11) (#81)
Co-authored-by: leedano <dnlee@gcsc.co.kr>
Co-committed-by: leedano <dnlee@gcsc.co.kr>
2026-03-11 12:55:03 +09:00
bc45fb55cf docs: 프로젝트 문서 최신화 (KHOA API, Vite 프록시) (#80)
Co-authored-by: leedano <dnlee@gcsc.co.kr>
Co-committed-by: leedano <dnlee@gcsc.co.kr>
2026-03-11 12:51:29 +09:00
416fa2211b feat: add-weather-alarm (#79)
Co-authored-by: leedano <dnlee@gcsc.co.kr>
Co-committed-by: leedano <dnlee@gcsc.co.kr>
2026-03-11 11:46:02 +09:00
3743027ce7 feat(weather): 기상 정보 기상 레이어 업데이트 (#78)
## Summary
- 기상 맵 컨트롤 컴포넌트 추가 및 KHOA API 연동 개선
- KHOA API 엔드포인트 교체 및 해양예측 오버레이 Canvas 렌더링 전환

## 변경 파일
- OceanForecastOverlay.tsx
- WeatherMapOverlay.tsx
- WeatherView.tsx
- useOceanForecast.ts
- khoaApi.ts
- vite.config.ts

## Test plan
- [ ] 기상정보 -> 기상 레이어 -> 해황 예보도 클릭 -> 이미지 렌더링 확인
- [ ] 기상정보 -> 기상 레이어 -> 백터 바람 클릭 -> 백터 이미지 렌더링 확인

Co-authored-by: Nan Kyung Lee <nankyunglee@Nanui-Macmini.local>
Reviewed-on: #78
Co-authored-by: leedano <dnlee@gcsc.co.kr>
Co-committed-by: leedano <dnlee@gcsc.co.kr>
2026-03-11 11:14:25 +09:00
4300191000 feat(prediction): SPIL_DATA 이미지 분석 결과 컬럼 인라인 통합
- init.sql, 009_incidents.sql에 IMG_RSLT_DATA JSONB 컬럼 인라인 추가
- 별도 마이그레이션 파일(021_spil_img_rslt.sql) 제거 (인라인으로 통합)
2026-03-10 18:46:26 +09:00
22a473f254 Merge branch 'feature/prediction-image-upload' into feature/prediction-opendrift-integration 2026-03-10 18:38:11 +09:00
3946ff6a25 feat(prediction): 이미지 분석 서버 Docker 패키징 + DB 코드 제거
- prediction/image/ FastAPI 서버 Docker 환경 구성
  - Dockerfile: PyTorch 2.1 + CUDA 12.1 기반 GPU 이미지
  - docker-compose.yml: GPU 할당 + 데이터 볼륨 마운트
  - requirements.txt: 서버 의존성 목록
  - .env.example: 환경변수 템플릿
  - DOCKER_USAGE.md: 빌드/실행/API 사용법 문서
  - Dockerfile에 .dockerignore 제외 폴더 mkdir -p 추가
- .gitignore: prediction/image 결과물 및 모델 가중치(.pth) 제외 추가
- dbInsert_csv.py, dbInsert_shp.py 삭제 (미사용 DB 로직)
- api.py: dbInsert import 및 주석 처리된 DB 호출 코드 제거
- aerialRouter.ts: req.params 타입 오류 수정
2026-03-10 18:37:36 +09:00
Nan Kyung Lee
ed3758645c chore: 프론트엔드 포트 변경(5174) + CORS 허용 + 드론 모델명 스타일 개선 2026-03-10 14:40:12 +09:00
b601edd741 feat(prediction): flyTo 완료 후 자동 재생 + OpenDrift Docker 설정 추가
- MapView: flyToIncident/onIncidentFlyEnd props 추가, moveend 이벤트 후 콜백 호출
- OilSpillView: 사고 지점 변경 시 flyTo 완료 후 재생(pendingPlayRef), 동일 지점은 즉시 재생
- opendrift/config.py: STORAGE_BASE 환경변수로 스토리지 경로 설정
- opendrift/dockerfile, .dockerignore 추가
- opendrift/createKmaImage.py 제거

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 18:46:15 +09:00
Nan Kyung Lee
df01fd1b1d feat(aerial): 실시간 드론 RTSP→HLS 스트림 연동 + 드론 모델명 표시 2026-03-09 15:52:45 +09:00
88eb6b121a feat(prediction): OpenDrift 유류 확산 시뮬레이션 통합 + CCTV/관리자 고도화
[예측]
- OpenDrift Python API 서버 및 스크립트 추가 (prediction/opendrift/)
- 시뮬레이션 상태 폴링 훅(useSimulationStatus), 로딩 오버레이 추가
- HydrParticleOverlay: deck.gl 기반 입자 궤적 시각화 레이어
- OilSpillView/LeftPanel/RightPanel: 시뮬레이션 실행·결과 표시 UI 개편
- predictionService/predictionRouter: 시뮬레이션 CRUD 및 상태 관리 API
- simulation.ts: OpenDrift 연동 엔드포인트 확장
- docs/PREDICTION-GUIDE.md: 예측 기능 개발 가이드 추가

[CCTV/항공방제]
- CCTV 오일 감지 GPU 추론 연동 (OilDetectionOverlay, useOilDetection)
- CCTV 안전관리 감지 기능 추가 (선박 출입, 침입 감지)
- oil_inference_server.py: Python GPU 추론 서버

[관리자]
- 관리자 화면 고도화 (사용자/권한/게시판/선박신호 패널)
- AdminSidebar, BoardMgmtPanel, VesselSignalPanel 신규 컴포넌트

[기타]
- DB: 시뮬레이션 결과, 선박보험 시드(1391건), 역할 정리 마이그레이션
- 팀 워크플로우 v1.6.1 동기화

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 14:55:46 +09:00
Nan Kyung Lee
5b734d3cf1 feat(aerial): CCTV 안전관리 감지 기능 추가 (선박 출입, 침입 감지) 2026-03-09 10:39:14 +09:00
Nan Kyung Lee
9574594151 fix(users): /orgs 라우트를 /:id 앞에 등록하여 라우트 매칭 수정
Express에서 /orgs가 /:id 뒤에 등록되어 'orgs'가 파라미터로 잡히던 버그 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:34:27 +09:00
Nan Kyung Lee
ce80e620c1 feat(admin): 관리자 화면 고도화 — 사용자/권한/게시판/선박신호 패널
- UsersPanel: 테이블+페이징+등록모달+상세모달(비밀번호초기화/잠금해제)
- PermissionsPanel: 사용자별 역할 할당 탭 추가
- BoardMgmtPanel: 공지사항/게시판/QNA 관리자 일괄 삭제
- VesselSignalPanel: VTS/VTS-AIS/V-PASS/E-NAVI/S&P AIS 타임라인 모니터링
- AdminSidebar/AdminPlaceholder/adminMenuConfig 신규
- 권한 미들웨어 부모 리소스 fallback 로직 추가
- 조직 목록 API, 관리자 삭제 API 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:30:55 +09:00
Nan Kyung Lee
476b6b99ac Merge remote-tracking branch 'origin/develop' into feature/cctv-hns-enhancements 2026-03-06 16:00:40 +09:00
kdn
4d218f9fdd Merge pull request 'chore(workflow): 팀 워크플로우 v1.6.1 동기화' (#77) from feature/sync-workflow-v1.5.0 into develop 2026-03-06 15:55:27 +09:00
yeriyoo
fafaade420 docs: 릴리즈 노트 업데이트 2026-03-06 15:54:27 +09:00
yeriyoo
da51c213c9 chore(workflow): 팀 워크플로우 v1.6.1 동기화
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 15:37:57 +09:00
kdn
a9d8a946d2 Merge pull request 'chore(workflow): 팀 워크플로우 v1.6.0 동기화' (#76) from feature/sync-workflow-v1.5.0 into develop 2026-03-06 15:10:50 +09:00
yeriyoo
23d65cdc45 chore(workflow): 팀 워크플로우 v1.6.0 동기화
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 15:09:53 +09:00
Nan Kyung Lee
626fea4c75 feat(aerial): CCTV 오일 감지 GPU 추론 연동 및 HNS 초기 핀 제거
CCTV 오일 유출 감지:
- GPU 추론 서버 FastAPI 서비스 (oil_inference_server.py)
- Express 프록시 엔드포인트 (POST /api/aerial/oil-detect)
- 프론트엔드 API 연동 (oilDetection.ts, useOilDetection.ts)
- 4종 유류 클래스별 색상 오버레이 (OilDetectionOverlay.tsx)
- 캡처 기능 (비디오+오버레이 합성 PNG 다운로드)
- Rate limit HLS 스트리밍 skip + 한도 500 상향

HNS 대기확산:
- 초기 핀 포인트 제거 (지도 클릭으로 선택)
- 좌표 미선택 시 안내 메시지 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 13:31:02 +09:00
kdn
b1c1d6e893 Merge pull request 'chore(workflow): 팀 워크플로우 v1.5.0 동기화' (#75) from feature/sync-workflow-v1.5.0 into develop 2026-03-06 12:44:31 +09:00
yeriyoo
32daac843f docs: 릴리즈 노트 업데이트 2026-03-06 12:43:11 +09:00