e797beaac6
feat(chat): Ollama Qwen3 기반 AI 해양분석 채팅 구축
...
- Ollama Docker(14b/32b) + Redis 컨텍스트 캐싱 + 대화 히스토리
- Python SSE 채팅 엔드포인트 + 사전 쿼리 + Tool Calling
- 도메인 지식(해양법/어업협정/알고리즘) + DB 스키마 가이드
- Frontend SSE 스트리밍 + 타이머 + thinking 접기 + 확장 UI
2026-03-26 09:03:05 +09:00
7573c84e91
fix: 분석 파이프라인 정확도 개선 + 캐시 증분 갱신 + TTS 프록시
...
- MIN_TRAJ_POINTS 100→20 (16척→684척, 파이프라인 병목 해소)
- risk.py: SOG 급변 count를 위험도 점수에 반영 (+5/+10)
- spoofing.py: BD09 오프셋 중국 MMSI(412*) 예외 (좌표계 노이즈 제거)
- fishing_pattern.py: 마지막 조업 세그먼트 누락 버그 수정
- VesselAnalysisService: 인메모리 캐시 + 증분 갱신 (warmup 2h → incremental)
- nginx: /api/gtts 프록시 추가 (Google TTS CORS 우회)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 06:48:27 +09:00
a68dfb21b2
feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시
...
- prediction/: FastAPI 7단계 분류 파이프라인 + 6개 탐지 알고리즘
- snpdb 궤적 조회 → 인메모리 캐시(13K척) → 분류 → kcgdb 저장
- APScheduler 5분 주기, Python 3.9 호환
- 버그 수정: @property last_bucket, SQL INTERVAL 바인딩, rollback, None 가드
- 보안: DB 비밀번호 하드코딩 제거 → env 환경변수 필수
- deploy/kcg-prediction.service: systemd 서비스 (redis-211, 포트 8001)
- deploy.yml: prediction CI/CD 배포 단계 추가 (192.168.1.18:32023)
- backend: PredictionProxyController (health/status/trigger 프록시)
- backend: AppProperties predictionBaseUrl + AuthFilter 인증 예외
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:10:21 +09:00
0fd32081b0
refactor(frontend): 패키지 구조 리팩토링 + UI 버그 수정 ( #38 )
...
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 07:41:19 +09:00
282adff6a7
fix(deploy): SSH 기반 백엔드 자동 재시작 ( #35 )
...
Deploy KCG / deploy (push) Failing after 1m8s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 06:34:24 +09:00
fe1de4bf51
fix(deploy): 배포 자동화 + 수집기 모니터링 + 이란 signal-batch 연동 ( #32 )
...
Deploy KCG / deploy (push) Successful in 1m10s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 05:46:55 +09:00
1e4c51e76b
feat(aircraft): 항공기 백엔드 수집기 구현 + 프론트엔드 전환
...
- Airplanes.live / OpenSky @Scheduled 수집기 (60초 주기)
- 인메모리 캐시 + PostGIS DB 적재 (향후 리플레이용)
- GET /api/aircraft?region=iran|korea REST API
- 프론트엔드 LIVE→백엔드 API, REPLAY→샘플 전용
- JDK 17→21 업그레이드 (pom, sdkmanrc, CI/CD, systemd)
2026-03-17 16:50:17 +09:00
7cde0c57d8
feat(frontend): UI 브랜딩 개선 + 배포 설정 정리
...
- 로그인 화면: kcg.svg 로고 적용 (이모지 교체)
- 헤더 우측: 사용자 프로필/이름 + 로그아웃 버튼 추가
- 브라우저 탭: favicon → kcg.svg, 제목 → kcg-dashboard-demo
- 프로덕션 빌드: console/debugger 자동 제거
- CORS: CorsFilter 최우선 순위 등록 (AuthFilter 이전)
- deploy.yml: secrets → .env 파일로 배포
- systemd/nginx: 경로 /devdata/services/kcg/ 반영
2026-03-17 15:50:05 +09:00
7d594ba632
fix(ci): deploy.yml 전면 재구성 (act 컨테이너 환경 대응)
...
- sudo 제거 (컨테이너 내 root)
- apt-get으로 JDK/Maven 설치 (sudo 없이)
- actions/setup-node 제거 (node:24 이미지 기본 제공)
- systemctl → .deploy-trigger + systemd path unit
- kcg-backend-watcher.path/.service 추가
2026-03-17 15:17:56 +09:00
fea77361d8
chore: CI/CD 파이프라인 + 배포 설정 + 루트 정리
...
- .gitea/workflows/deploy.yml: main merge 시 frontend/backend 자동 빌드·배포
- deploy/kcg-backend.service: systemd 서비스 (JDK 17, 2~4GB 힙)
- deploy/nginx-kcg.conf: SSL + SPA 서빙 + API 프록시 + 외부 API CORS 프록시
- .githooks/pre-commit: 모노레포 대응 (frontend tsc+eslint, backend mvn compile)
- .gitignore: frontend/backend/prediction 각각 빌드 산출물 추가
- CLAUDE.md: 모노레포 구조 반영
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 13:55:21 +09:00