- INDEX.md: TODO.md 링크 추가 - TODO.md: 프로젝트 할일 목록 신규 생성 - plans/flow-tests/: Flow Tester 테스트 시나리오 JSON 추가 - auth-api-flow.json: 인증 API 플로우 테스트 - pricing-validation-test.json: 가격 검증 테스트 - projects/api-integration/: 마이그레이션 계획 문서 - MASTER_PLAN.md: 전체 마이그레이션 전략 - PROGRESS.md: 진행 상황 추적 - WORKFLOW.md: 작업 워크플로우 - phase-1 ~ phase-4: 단계별 상세 계획 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.8 KiB
8.8 KiB
Gap 분석 보고서
작성일: 2025-12-20 분석 범위: React ↔ Laravel API 연동 현황 목적: Mock 데이터 → 실제 API 전환을 위한 우선순위 도출
Executive Summary
현재 상태
| 지표 | 값 |
|---|---|
| 총 React 페이지 | 109개 |
| API 연동 완료 | 8개 (7.3%) |
| Mock 데이터 사용 | 95개 (87.2%) |
| 부분 연동 | 4개 (3.7%) |
| 미구현 | 2개 (1.8%) |
핵심 발견사항
- Items + Master Data 모듈만 완전 연동 (100%)
- Sales 모듈 절반 연동 (거래처/단가 O, 견적/주문 X)
- 나머지 8개 모듈은 전체 Mock 데이터 (Accounting, HR, Board, Approval, Settings, Dashboard, Reports, Production, Customer Center)
- 권한 관리는 localStorage 사용 → API 전환 필요
1. 모듈별 Gap 분석
1.1 ✅ 완료 모듈 (연동률 100%)
Items 모듈
- 상태: 완전 연동
- Gap: 없음
- 비고: 파일 업로드, BOM 관리 포함
Master Data 모듈
- 상태: 완전 연동
- Gap: 없음
- 비고: 50+ 마스터 데이터 API 연동
1.2 🟡 부분 연동 모듈
Sales 모듈 (50% 연동)
| 기능 | 상태 | Gap |
|---|---|---|
| 거래처 관리 | ✅ | - |
| 단가 관리 | ✅ | - |
| 견적 관리 | 🆕 | QuoteController 필요 |
| 주문 관리 | 🆕 | OrderController 필요 |
| 영업 실적 | 🆕 | 리포트 API 필요 |
필요 API 목록:
POST /api/v1/quotes
GET /api/v1/quotes
GET /api/v1/quotes/{id}
PUT /api/v1/quotes/{id}
DELETE /api/v1/quotes/{id}
POST /api/v1/quotes/{id}/send
POST /api/v1/quotes/{id}/convert-to-order
GET /api/v1/orders
POST /api/v1/orders
GET /api/v1/orders/{id}
PUT /api/v1/orders/{id}
GET /api/v1/reports/sales-performance
1.3 🔴 Mock 데이터 모듈 (연동률 0%)
Accounting 모듈 (17 페이지)
현재 상태: 모든 페이지에서 generateMockData() 함수 사용
필요 API 우선순위:
| 우선순위 | 기능 | 필요 API | 복잡도 |
|---|---|---|---|
| 🔴 높음 | 매출 관리 | SalesController CRUD |
중 |
| 🔴 높음 | 매입 관리 | PurchaseController CRUD |
중 |
| 🔴 높음 | 수금 관리 | CollectionController CRUD |
중 |
| 🔴 높음 | 지급 관리 | PaymentController CRUD |
중 |
| 🟡 중간 | 전표 관리 | SlipController CRUD |
상 |
| 🟡 중간 | 세금계산서 | TaxInvoiceController + 외부연동 |
상 |
| 🟢 낮음 | 장부 조회 | LedgerController (조회 전용) |
하 |
| 🟢 낮음 | 결산 | ClosingController |
상 |
예상 개발 규모: Controller 8개, 모델 10+개
HR 모듈 (9 페이지)
현재 상태: 모든 페이지에서 Mock 데이터 사용
필요 API 우선순위:
| 우선순위 | 기능 | 필요 API | 복잡도 |
|---|---|---|---|
| 🔴 높음 | 사원 관리 | EmployeeController CRUD |
중 |
| 🔴 높음 | 부서 관리 | DepartmentController CRUD |
하 |
| 🔴 높음 | 근태 관리 | AttendanceController + 출퇴근 |
중 |
| 🟡 중간 | 휴가 관리 | LeaveController + 승인 |
중 |
| 🟡 중간 | 급여 관리 | SalaryController + 계산 |
상 |
| 🟢 낮음 | 카드 관리 | EmployeeCardController |
하 |
| 🟢 낮음 | HR 설정 | HrSettingController |
하 |
예상 개발 규모: Controller 7개, 모델 8+개
Board 모듈 (6 페이지)
현재 상태: Mock 데이터 사용
필요 API:
GET /api/v1/boards
GET /api/v1/boards/{boardType}/posts
POST /api/v1/boards/{boardType}/posts
GET /api/v1/posts/{id}
PUT /api/v1/posts/{id}
DELETE /api/v1/posts/{id}
POST /api/v1/posts/{id}/comments
GET /api/v1/posts/{id}/files
POST /api/v1/posts/{id}/files
예상 개발 규모: Controller 3개, 모델 3개
Approval 모듈 (4 페이지)
현재 상태: Mock 데이터 사용
필요 API:
GET /api/v1/approvals
POST /api/v1/approvals
GET /api/v1/approvals/{id}
POST /api/v1/approvals/{id}/approve
POST /api/v1/approvals/{id}/reject
GET /api/v1/approval-templates
GET /api/v1/approval-lines
POST /api/v1/approval-lines
예상 개발 규모: Controller 3개, 모델 4개
Settings 모듈 (10 페이지)
현재 상태:
- 권한 관리: localStorage 사용 (⚠️ 보안 이슈)
- 기타: Mock 데이터
필요 API:
# 권한 관리 (우선순위 높음)
GET /api/v1/permissions
POST /api/v1/permissions
GET /api/v1/roles
POST /api/v1/roles
PUT /api/v1/roles/{id}/permissions
# 사용자 관리
GET /api/v1/users
POST /api/v1/users
PUT /api/v1/users/{id}
# 메뉴 관리
GET /api/v1/menus
PUT /api/v1/menus
# 시스템 설정
GET /api/v1/settings
PUT /api/v1/settings
⚠️ 특별 주의: 권한 관리 localStorage → API 전환 우선
Dashboard 모듈 (1 페이지)
현재 상태: 빈 페이지 (미구현)
필요 API:
GET /api/v1/dashboard/summary
GET /api/v1/dashboard/sales-chart
GET /api/v1/dashboard/inventory-status
GET /api/v1/dashboard/recent-activities
GET /api/v1/dashboard/pending-approvals
Reports 모듈 (2 페이지)
현재 상태: Mock 데이터
필요 API:
GET /api/v1/reports/sales
GET /api/v1/reports/purchase
GET /api/v1/reports/inventory
GET /api/v1/reports/financial
GET /api/v1/reports/comprehensive
Customer Center 모듈 (6 페이지)
현재 상태: Mock 데이터
필요 API:
GET /api/v1/notices
GET /api/v1/faqs
GET /api/v1/inquiries
POST /api/v1/inquiries
GET /api/v1/inquiries/{id}
Production 모듈 (4 페이지)
현재 상태: Mock 데이터 (초기 개발 단계)
필요 API:
GET /api/v1/production-orders
POST /api/v1/production-orders
GET /api/v1/production-orders/{id}
PUT /api/v1/production-orders/{id}
POST /api/v1/production-orders/{id}/start
POST /api/v1/production-orders/{id}/complete
GET /api/v1/work-orders
POST /api/v1/work-performance
2. 우선순위 권장사항
Phase 1: 핵심 비즈니스 (1-2주)
| 순위 | 모듈 | 작업 | 이유 |
|---|---|---|---|
| 1 | Settings | 권한 API 전환 | 🔴 보안 이슈 |
| 2 | Sales | 견적 관리 API | 핵심 영업 기능 |
| 3 | Accounting | 매출/매입 API | 핵심 회계 기능 |
Phase 2: 운영 지원 (2-3주)
| 순위 | 모듈 | 작업 | 이유 |
|---|---|---|---|
| 4 | HR | 사원/근태 API | 기본 인사 관리 |
| 5 | Approval | 결재 시스템 API | 업무 프로세스 |
| 6 | Board | 게시판 API | 커뮤니케이션 |
Phase 3: 부가 기능 (3-4주)
| 순위 | 모듈 | 작업 | 이유 |
|---|---|---|---|
| 7 | Dashboard | 대시보드 API | 경영 현황 |
| 8 | Reports | 리포트 API | 분석 기능 |
| 9 | Customer Center | 고객센터 API | 지원 기능 |
| 10 | Production | 생산 관리 API | 제조 기능 |
3. 기술적 Gap
3.1 API 클라이언트 패턴 불일치
| 패턴 | 사용처 | 문제점 |
|---|---|---|
/api/proxy/* |
Items, Clients | ✅ 표준 패턴 |
/api/v1/* |
Pricing | Server Actions 사용 |
generateMockData() |
대부분 | Mock 데이터 |
권장사항: /api/proxy/* 패턴으로 통일
3.2 인증 토큰 처리
- 현재: HttpOnly Cookie (access_token)
- 문제: 일부 페이지에서 토큰 갱신 미처리
- 권장: 토큰 갱신 미들웨어 적용
3.3 에러 처리
- 현재: 페이지별 개별 처리
- 권장: 글로벌 에러 핸들러 + Toast 알림 통일
4. 개발 예상 규모
API 개발 (Laravel)
| 항목 | 수량 |
|---|---|
| 신규 Controller | 25+ |
| 신규 Model | 30+ |
| 신규 Migration | 20+ |
| FormRequest | 40+ |
| Resource | 30+ |
React 연동
| 항목 | 수량 |
|---|---|
| API 클라이언트 함수 | 80+ |
| Mock → API 전환 페이지 | 95개 |
| 새 타입 정의 | 50+ |
5. 리스크 및 대응
| 리스크 | 영향도 | 대응 방안 |
|---|---|---|
| 권한 관리 localStorage | 🔴 높음 | 즉시 API 전환 필요 |
| Mock 데이터 의존도 | 🟡 중간 | 점진적 전환 |
| API 응답 형식 불일치 | 🟡 중간 | Resource 클래스 표준화 |
| 다중 테넌트 미적용 | 🔴 높음 | BelongsToTenant 확인 |
6. 다음 단계 권장
-
즉시 조치
- Settings 권한 API 개발 및 localStorage 제거
- API 응답 표준 정의 (Resource 클래스)
-
Phase 4 준비
- 영업 모듈 견적 API 개발
- 회계 모듈 매출/매입 API 개발
-
표준화 작업
- API 클라이언트 패턴 통일
- 에러 처리 글로벌화
- 토큰 갱신 자동화
이 문서는 Phase 3 API 분석의 일부로 작성되었습니다.