feat(reports): 보고서 탭 localStorage → DB/API 전환 #31

병합
htlee feature/reports-crud 에서 develop 로 1 commits 를 머지했습니다 2026-02-28 21:00:56 +09:00
소유자

Summary

  • 보고서(Reports) 탭의 localStorage 기반 데이터 저장을 PostgreSQL DB + REST API로 전환
  • DB 7개 테이블 설계 및 초기 데이터 마이그레이션 (템플릿 5종, 카테고리 3종, 섹션 정의)
  • 백엔드 CRUD API 구현 (GET/POST only — 보안취약점 가이드 준수)
  • 프론트엔드 4개 컴포넌트 API 연동 전환

Test plan

  • 백엔드 빌드 통과
  • 프론트 타입체크 + ESLint 통과
  • API CRUD 전체 테스트
  • Mock/localStorage 잔여 검사 0건

🤖 Generated with Claude Code

## Summary - 보고서(Reports) 탭의 localStorage 기반 데이터 저장을 PostgreSQL DB + REST API로 전환 - DB 7개 테이블 설계 및 초기 데이터 마이그레이션 (템플릿 5종, 카테고리 3종, 섹션 정의) - 백엔드 CRUD API 구현 (GET/POST only — 보안취약점 가이드 준수) - 프론트엔드 4개 컴포넌트 API 연동 전환 ## Test plan - [x] 백엔드 빌드 통과 - [x] 프론트 타입체크 + ESLint 통과 - [x] API CRUD 전체 테스트 - [x] Mock/localStorage 잔여 검사 0건 🤖 Generated with [Claude Code](https://claude.com/claude-code)
htlee added 1 commit 2026-02-28 20:59:56 +09:00
- 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>
htlee merged commit 4fb06ad43e into develop 2026-02-28 21:00:56 +09:00
htlee 삭제된 브랜치 feature/reports-crud 2026-02-28 21:00:57 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 1명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/wing-ops#31
No description provided.