- DB 마이그레이션 007_reports.sql: 7개 테이블 (REPORT_TMPL, REPORT_TMPL_SECT,
REPORT_ANALYSIS_CTGR, REPORT_CTGR_SECT, REPORT, REPORT_SECT_DATA 등)
+ 초기 데이터 (5개 템플릿, 3개 카테고리, 섹션 정의)
- 백엔드 reportsService.ts: 템플릿/카테고리 조회, 보고서 CRUD, 섹션 UPSERT
- 백엔드 reportsRouter.ts: GET/POST only 패턴 (보안취약점 가이드 준수)
- GET /api/reports, GET /api/reports/:sn (조회)
- POST /api/reports (생성), POST /:sn/update (수정), POST /:sn/delete (삭제)
- POST /:sn/sections/:sectCd (개별 섹션 수정)
- 프론트 reportsApi.ts: API 호출 + OilSpillReportData ↔ API 변환 + 캐싱
- 프론트 4개 컴포넌트 localStorage → API 전환:
ReportsView, OilSpillReportTemplate, TemplateFormEditor, ReportGenerator
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- wing + wing_auth DB를 wing 단일 DB로 통합 (wing/auth 스키마 분리)
- wingPool 단일 Pool + search_path 설정, authPool 하위 호환 유지
- 게시판 BOARD_POST DDL + 초기 데이터 10건 마이그레이션
- boardService/boardRouter CRUD 구현 (페이징, 검색, 소유자 검증, 논리삭제)
- requirePermission 카테고리별 서브리소스 동적 적용 (board:notice, board:qna 등)
- 프론트엔드 boardApi 서비스 + BoardListTable mock→API 전환
- CRUD-API-GUIDE (범용 가이드 + 게시판 튜토리얼) 문서 작성
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- HNS_SUBSTANCE 테이블 마이그레이션 SQL 추가 (002_hns_substance.sql)
- HNS 검색/상세 API 구현 (hnsRouter, hnsService)
- HNS 시드 스크립트 추가 (seedHns.ts, 20종 물질 데이터)
- 프론트엔드 HNSSubstanceView: 정적 HNS_SEARCH_DB → API 호출 전환
- HNSSearchSubstance 타입 common/types/hns.ts로 분리
- Mock 데이터 이동: data/ → common/mock/ (vesselMockData, backtrackMockData)
- layerDatabase.ts → common/services/layerService.ts 이동
- layerData.ts → common/data/layerData.ts 이동
- scat/index.ts 누락 수정 + .gitignore scat 규칙 수정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- better-sqlite3 제거, wingDb.ts (PostgreSQL wing DB Pool) 추가
- layers 라우터: 동기(better-sqlite3) → 비동기(pg) 전환
- LAYER 테이블 마이그레이션 SQL 생성 (database/migration/001_layer_table.sql)
- seed 스크립트 PostgreSQL 전환
- 문서 업데이트: CLAUDE.md, README.md, docs/README.md, COMMON-GUIDE.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>