- docs/prediction-analysis.md 신설 — opus 4.7 독립 리뷰 기반 prediction 구조/방향 심층 분석 (9개 섹션: 아키텍처·5분 사이클·17 알고리즘·4대 도메인 커버리지·6축 구조 평가·개선 제안 P1~P4·임계값 전수표) - AGENTS.md / README.md — V001~V016→V030, Python 3.9→3.11+, 14→17 알고리즘 모듈 - docs/architecture.md — /gear-collision 라우트 추가 (26→27 보호 경로) - docs/sfr-traceability.md — V029→V030, 48→51 테이블, SFR-10 에 GEAR_IDENTITY_COLLISION 추가 - docs/sfr-user-guide.md — 어구 정체성 충돌 페이지 섹션 신설 - docs/system-flow-guide.md — 노드 수 102→115, V030 manifest 미반영 경고 - backend/README.md — "Phase 2 예정" 상태 → 실제 운영 구성 + PR #79 hotfix 요구사항 전면 재작성
81 lines
3.7 KiB
Markdown
81 lines
3.7 KiB
Markdown
# AI 기반 불법조업 탐지·차단 플랫폼
|
|
|
|
해양경찰청 AIS 신호 기반 불법 조업 선박 탐지, 단속 의사결정 지원 플랫폼.
|
|
|
|
## 기술 스택
|
|
|
|
| 분류 | 기술 | 버전 |
|
|
|---|---|---|
|
|
| 프레임워크 | React + TypeScript | 19.2 / 5.9 |
|
|
| 번들러 | Vite (Rolldown) | 8.0 |
|
|
| 지도 | MapLibre GL + deck.gl | 5.22 / 9.2 |
|
|
| 차트 | ECharts | 6.0 |
|
|
| 상태관리 | Zustand | 5.0 |
|
|
| 스타일 | Tailwind CSS + CVA | 4.2 / 0.7 |
|
|
| 다국어 | react-i18next | ko / en |
|
|
| 린트 | ESLint (Flat Config) | 10 |
|
|
|
|
## 실행
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev # 개발 서버
|
|
npm run build # 프로덕션 빌드 (~480ms)
|
|
npm run lint # ESLint 검사
|
|
```
|
|
|
|
## 프로젝트 구조
|
|
|
|
```
|
|
src/
|
|
├── lib/charts/ ECharts 공통 (BaseChart + 프리셋)
|
|
├── lib/map/ MapLibre + deck.gl (BaseMap + 레이어 + hooks)
|
|
├── lib/i18n/ 다국어 (10 네임스페이스, ko/en)
|
|
├── lib/theme/ 디자인 토큰 + CVA 변형
|
|
├── data/mock/ 공유 더미 데이터 (7 모듈)
|
|
├── stores/ Zustand 스토어 (8개)
|
|
├── services/ API 서비스 샘플
|
|
├── shared/ 공유 UI 컴포넌트
|
|
├── features/ 도메인별 페이지 (13그룹, 31페이지)
|
|
├── app/ 라우터, 인증, 레이아웃
|
|
└── styles/ CSS (Dark/Light 테마)
|
|
```
|
|
|
|
## 문서
|
|
|
|
| 문서 | 설명 |
|
|
|---|---|
|
|
| [docs/architecture.md](docs/architecture.md) | 아키텍처 현황 (기술스택, 구조, 렌더링 최적화, 테마) |
|
|
| [docs/sfr-user-guide.md](docs/sfr-user-guide.md) | SFR 사용자 가이드 (메뉴별 기능 설명, 구현/미구현 현황) |
|
|
| [docs/sfr-traceability.md](docs/sfr-traceability.md) | SFR 요구사항 추적 매트릭스 (개발자용, 소스 경로 포함) |
|
|
| [docs/page-workflow.md](docs/page-workflow.md) | 31개 페이지 역할 + 4개 업무 파이프라인 |
|
|
| [docs/data-sharing-analysis.md](docs/data-sharing-analysis.md) | 데이터 공유 분석 + mock 통합 결과 |
|
|
| [docs/next-refactoring.md](docs/next-refactoring.md) | 다음 단계 TODO (API 연동, 실시간, 코드 스플리팅) |
|
|
| [docs/prediction-analysis.md](docs/prediction-analysis.md) | Prediction 모듈 구조/방향 심층 분석 (2026-04-17, opus 4.7 독립 리뷰) |
|
|
|
|
## SFR 요구사항 대응 현황
|
|
|
|
20개 SFR 전체 UI 구현 완료. 백엔드 연동 대기 중.
|
|
|
|
| SFR | 기능 | 화면 | 상태 |
|
|
|---|---|---|---|
|
|
| SFR-01 | 로그인·권한 관리 | `/login`, `/access-control` | UI 완료 |
|
|
| SFR-02 | 환경설정·공지·공통 | `/system-config`, `/notices` | UI 완료 |
|
|
| SFR-03 | 통합 데이터 허브 | `/data-hub` | UI 완료 |
|
|
| SFR-04 | AI 예측모델 관리 | `/ai-model` | UI 완료 |
|
|
| SFR-05 | 위험도 지도 | `/risk-map` | UI 완료 |
|
|
| SFR-06 | 단속 계획·경보 | `/enforcement-plan` | UI 완료 |
|
|
| SFR-07 | 단일함정 순찰경로 | `/patrol-route` | UI 완료 |
|
|
| SFR-08 | 다함정 경로최적화 | `/fleet-optimization` | UI 완료 |
|
|
| SFR-09 | Dark Vessel 탐지 | `/dark-vessel` | UI 완료 |
|
|
| SFR-10 | 어구 탐지 | `/gear-detection`, `/gear-collision`(V030) | UI 완료 |
|
|
| SFR-11 | 단속·탐지 이력 | `/enforcement-history` | UI 완료 |
|
|
| SFR-12 | 모니터링 대시보드 | `/dashboard`, `/monitoring` | UI 완료 |
|
|
| SFR-13 | 통계·성과 분석 | `/statistics` | UI 완료 |
|
|
| SFR-14 | 외부 서비스 연계 | `/external-service` | UI 완료 |
|
|
| SFR-15 | 모바일 서비스 | `/mobile-service` | UI 완료 |
|
|
| SFR-16 | 함정 Agent | `/ship-agent` | UI 완료 |
|
|
| SFR-17 | AI 알림 발송 | `/ai-alert` | UI 완료 |
|
|
| SFR-18/19 | MLOps / LLMOps | `/mlops` | UI 완료 |
|
|
| SFR-20 | AI Q&A 지원 | `/ai-assistant` | UI 완료 |
|