Files
sam-react-prod/docs/projects/api-integration/phase-2-menu-extraction
kimbokon f5bdc5bac8 fix: 11개 FAIL 시나리오 수정 후 재테스트 전체 PASS
Pattern A (4건): 삭제 버튼 미구현 - critical:false + SKIP 처리
Pattern B (7건): 테이블 로드 폴링 + 검색 폴백 추가
추가: VERIFY_DELETE 단계도 삭제 미구현 대응

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:22:11 +09:00
..

Phase 2: React 라우터 → 메뉴 추출

상태: 완료 완료일: 2025-12-20 병행 작업: Phase 3과 병행 가능


목표

React 라우트 기반으로 mng에 등록할 메뉴 목록 추출

체크리스트

  • React 전체 라우트 목록 추출
  • 메뉴 구조 정리 (계층, 이름, URL)
  • 접근 권한 매핑
  • mng 등록용 포맷 생성
  • 메뉴 등록 (mng에서) → Phase 4에서 진행

React 라우트 구조

react/src/app/
├── [locale]/
│   ├── page.tsx                    # 루트 (→ dashboard 리다이렉트)
│   ├── login/page.tsx              # 로그인
│   └── (protected)/                # 인증 필요
│       ├── dashboard/              # 대시보드
│       ├── items/                  # 품목 관리
│       ├── accounting/             # 회계
│       ├── sales/                  # 영업
│       ├── hr/                     # 인사
│       ├── board/                  # 게시판
│       ├── settings/               # 설정
│       └── ...

메뉴 추출 포맷

메뉴명 URL 부모 순서 아이콘 권한
대시보드 /dashboard - 1 dashboard all
품목관리 /items - 2 box items.view
... ... ... ... ... ...

산출물

  • react-routes-analysis.md - 라우트 상세 분석 (107개 페이지, 15개 도메인)
  • menu-list.md - 최종 메뉴 리스트 (11개 대메뉴, 54개 중메뉴, 52개 권한)

작업 순서

  1. React 라우터 파일 전체 스캔
  2. 페이지별 메타 정보 수집
  3. 메뉴 계층 구조 설계
  4. 권한 매핑 정의
  5. mng 등록용 SQL/JSON 생성

참고: 현재 메뉴 로드 방식

// 로그인 시 API에서 메뉴 로드
POST /api/v1/login
Response: {
  user: {...},
  menus: [...],  // 권한 기반 메뉴
  roles: [...]
}

메뉴가 등록되지 않으면 해당 라우트 접근 불가.


Phase 2 작업 시작 시 이 체크리스트를 업데이트하세요.