382 lines
9.6 KiB
Markdown
382 lines
9.6 KiB
Markdown
|
|
# MES/ERP 시스템 분석 및 개발 로드맵
|
||
|
|
|
||
|
|
**프로젝트 목표:** 품목 기준관리를 시작으로 견적 → 수주 → 생산 → 출하 → 품질까지 전체 MES/ERP 시스템 완성
|
||
|
|
|
||
|
|
**작업 방식:** 각 Phase를 Step 단위로 나누고, 스텝 완료 시마다 스킬을 호출하여 점진적으로 진행
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📊 전체 비즈니스 플로우
|
||
|
|
|
||
|
|
```
|
||
|
|
[기준정보]
|
||
|
|
├─ 품목 기준관리 ⭐ (Phase 1 - 최우선)
|
||
|
|
├─ 회원/권한 관리 (기존 API 활용)
|
||
|
|
└─ 코드/카테고리 관리 (기존 API 확인)
|
||
|
|
|
||
|
|
[영업 프로세스]
|
||
|
|
├─ 견적 시스템 ⭐ (Phase 2)
|
||
|
|
└─ 수주 관리 (Phase 3)
|
||
|
|
|
||
|
|
[생산 프로세스]
|
||
|
|
├─ 생산 계획 (Phase 4)
|
||
|
|
├─ 생산 실행 (Phase 5)
|
||
|
|
├─ 출하 관리 (Phase 6)
|
||
|
|
└─ 품질 관리 (Phase 7)
|
||
|
|
|
||
|
|
[지원 기능]
|
||
|
|
├─ 재고 관리 (Phase 8)
|
||
|
|
├─ 구매 관리 (Phase 9)
|
||
|
|
└─ 보고서/대시보드 (Phase 10)
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Phase 0: 베이스라인 분석 (기존 시스템 파악)
|
||
|
|
|
||
|
|
**목표:** 기존 개발 현황을 파악하고 새로 개발할 범위 명확화
|
||
|
|
|
||
|
|
### Step 0.1: 기존 시스템 분석 (문서 우선 + 코드 분석) ⭐
|
||
|
|
|
||
|
|
**전략:** 문서 우선 검토 → 코드 분석 → 쪼개서 저장 → 통합 분석
|
||
|
|
**상세 계획:** `claudedocs/mes/00_baseline/STEP_0_1_ANALYSIS_STRATEGY.md` 참조
|
||
|
|
|
||
|
|
**Phase A: 문서 우선 검토 (2-3시간)**
|
||
|
|
- API 핵심 문서 3개 검토 (`SAM_Item_DB_API_Analysis_v3_FINAL.md` 등)
|
||
|
|
- React 아키텍처 문서 3개 검토 (`ATOMIC_DESIGN_SYSTEM.md` 등)
|
||
|
|
- 대형 문서 쪼개기 (>20KB → 5-10KB 단위)
|
||
|
|
- 문서 간 교차 참조 맵 생성
|
||
|
|
|
||
|
|
**Phase B: 코드 분석 (3-4시간)**
|
||
|
|
- API 프로젝트 구조 분석 (routes, controllers, services, models)
|
||
|
|
- React 프로젝트 구조 분석 (pages, components, hooks)
|
||
|
|
- 코드 인벤토리 생성
|
||
|
|
|
||
|
|
**Phase C: 통합 및 갭 분석 (2-3시간)**
|
||
|
|
- 문서 vs 코드 매칭
|
||
|
|
- 재사용 가능 기능 vs 신규 개발 필요 기능 구분
|
||
|
|
- 품목 기준관리 요구사항 도출
|
||
|
|
|
||
|
|
**산출물:**
|
||
|
|
```
|
||
|
|
00_baseline/
|
||
|
|
├─ STEP_0_1_ANALYSIS_STRATEGY.md # 분석 전략
|
||
|
|
├─ docs_breakdown/ # 쪼갠 문서 (8개)
|
||
|
|
├─ code_analysis/ # 코드 분석 (6개)
|
||
|
|
├─ integration/ # 통합 분석 (4개)
|
||
|
|
└─ existing_api_analysis.md # 최종 통합 문서
|
||
|
|
```
|
||
|
|
|
||
|
|
**예상 소요:** 7-10시간 (여러 세션으로 분할 가능)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 0.2: mes_react 프로젝트 구조 분석
|
||
|
|
**스킬:** `/sc:analyze`
|
||
|
|
**대상:** `mes_react/` 폴더
|
||
|
|
**분석 항목:**
|
||
|
|
- 전체 화면 구조 (라우팅, 페이지 목록)
|
||
|
|
- 품목 관련 화면 (품목관리, 품목 기준관리)
|
||
|
|
- 견적 관련 화면
|
||
|
|
- 기타 주요 화면 (수주, 생산, 출하, 품질)
|
||
|
|
- 컴포넌트 구조 및 디자인 패턴
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/00_baseline/mes_react_analysis.md`
|
||
|
|
|
||
|
|
**예상 소요:** 1-2시간
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 0.3: 비즈니스 플로우 및 요구사항 매핑
|
||
|
|
**스킬:** `/sc:design`
|
||
|
|
**작업:**
|
||
|
|
- 기존 API vs mes_react 화면 매핑
|
||
|
|
- 구현 완료 vs 미구현 기능 구분
|
||
|
|
- 품목 기준관리 상세 요구사항 도출
|
||
|
|
- 모듈 간 의존성 정의
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/00_baseline/business_requirements.md`
|
||
|
|
|
||
|
|
**예상 소요:** 2-3시간
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 0.4: Phase 0 종합 및 개발 범위 정의
|
||
|
|
**작업:**
|
||
|
|
- 재사용 가능한 기존 API 정리
|
||
|
|
- 새로 개발할 API 목록 작성
|
||
|
|
- 수정이 필요한 API 목록 작성
|
||
|
|
- Phase 1 착수 조건 확인
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/00_baseline/development_scope.md`
|
||
|
|
|
||
|
|
**예상 소요:** 1시간
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Phase 1: 품목 기준관리 시스템 설계 및 구현
|
||
|
|
|
||
|
|
**목표:** EAV 패턴 기반 메타 데이터 시스템으로 품목관리의 확장성 확보
|
||
|
|
|
||
|
|
### Step 1.1: 품목 기준관리 화면 분석
|
||
|
|
**스킬:** `/sc:analyze`
|
||
|
|
**대상:** `mes_react/` 품목 기준관리 관련 화면
|
||
|
|
**분석 항목:**
|
||
|
|
- 항목(컬럼) 관리 화면
|
||
|
|
- 섹션 관리 화면
|
||
|
|
- 페이지 구성 화면
|
||
|
|
- 항목 → 섹션 → 페이지 연결 구조
|
||
|
|
- 고정 컬럼 vs 가변 컬럼 UI 차이
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/01_item_management/ui_requirements.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.2: 품목관리 화면 분석
|
||
|
|
**스킬:** `/sc:analyze`
|
||
|
|
**대상:** `mes_react/` 품목관리 CRUD 화면
|
||
|
|
**분석 항목:**
|
||
|
|
- 품목 리스트 화면 (필터, 검색, 정렬)
|
||
|
|
- 품목 등록 화면 (동적 필드 렌더링)
|
||
|
|
- 품목 수정 화면
|
||
|
|
- 품목 상세보기 화면
|
||
|
|
- 카테고리별 차이점 (제품/부품 vs 원자재 등)
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/01_item_management/item_ui_requirements.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.3: 데이터 모델 설계
|
||
|
|
**스킬:** `/sc:design`
|
||
|
|
**작업:**
|
||
|
|
- 품목 기준관리 테이블 설계
|
||
|
|
- item_fields (항목/컬럼 정의)
|
||
|
|
- item_sections (섹션 정의)
|
||
|
|
- item_pages (페이지 구성)
|
||
|
|
- item_page_sections (페이지-섹션 연결)
|
||
|
|
- item_section_fields (섹션-필드 연결)
|
||
|
|
- products/materials 테이블 수정안
|
||
|
|
- 고정 컬럼 정의
|
||
|
|
- attributes/options JSON 구조
|
||
|
|
- 단가 테이블 설계
|
||
|
|
- 카테고리 체계 정의
|
||
|
|
|
||
|
|
**산출물:**
|
||
|
|
- `claudedocs/mes/01_item_management/data_model.md`
|
||
|
|
- `claudedocs/mes/01_item_management/database_schema.sql` (DDL)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.4: API 설계 (품목 기준관리)
|
||
|
|
**스킬:** `/sc:design`
|
||
|
|
**작업:**
|
||
|
|
- 항목 관리 API (CRUD)
|
||
|
|
- 섹션 관리 API (CRUD)
|
||
|
|
- 페이지 관리 API (CRUD + 구성 조회)
|
||
|
|
- Swagger 명세 작성
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/01_item_management/meta_api_spec.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.5: API 설계 (품목 관리)
|
||
|
|
**스킬:** `/sc:design`
|
||
|
|
**작업:**
|
||
|
|
- 품목 CRUD API (동적 필드 포함)
|
||
|
|
- 품목 검색 API (필터링, 정렬)
|
||
|
|
- 단가 관리 API
|
||
|
|
- 카테고리별 API 분기 로직
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/01_item_management/item_api_spec.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.6: 프론트엔드 개발 가이드 작성
|
||
|
|
**스킬:** `/sc:document`
|
||
|
|
**작업:**
|
||
|
|
- 컴포넌트 구조 제안 (Atomic Design)
|
||
|
|
- 동적 폼 렌더링 가이드
|
||
|
|
- API 연동 방법
|
||
|
|
- 상태 관리 전략
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/01_item_management/frontend_guide.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.7: 구현 (DB Migration)
|
||
|
|
**스킬:** `/sc:implement`
|
||
|
|
**작업:**
|
||
|
|
- Migration 파일 생성
|
||
|
|
- Model 생성 (BelongsToTenant, SoftDeletes 적용)
|
||
|
|
- 시더 작성 (기본 데이터)
|
||
|
|
|
||
|
|
**산출물:** `api/database/migrations/*`, `api/app/Models/*`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.8: 구현 (품목 기준관리 API)
|
||
|
|
**스킬:** `/sc:implement`
|
||
|
|
**작업:**
|
||
|
|
- Controller, Service, FormRequest 생성
|
||
|
|
- Swagger 주석 추가
|
||
|
|
- 테스트 작성
|
||
|
|
|
||
|
|
**산출물:** `api/app/Http/Controllers/Api/V1/*`, `api/app/Services/*`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.9: 구현 (품목 관리 API)
|
||
|
|
**스킬:** `/sc:implement`
|
||
|
|
**작업:**
|
||
|
|
- 동적 필드 처리 로직
|
||
|
|
- 카테고리별 분기 처리
|
||
|
|
- 단가 연동 로직
|
||
|
|
|
||
|
|
**산출물:** `api/app/Http/Controllers/Api/V1/*`, `api/app/Services/*`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 1.10: 테스트 및 검증
|
||
|
|
**스킬:** `/sc:test`
|
||
|
|
**작업:**
|
||
|
|
- API 테스트 실행
|
||
|
|
- Postman/Swagger 테스트
|
||
|
|
- 성능 테스트
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/01_item_management/test_report.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Phase 2: 견적 시스템 설계 및 구현
|
||
|
|
|
||
|
|
### Step 2.1: 견적 화면 분석
|
||
|
|
**스킬:** `/sc:analyze`
|
||
|
|
**대상:** `mes_react/` 견적 관련 화면
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/02_quotation/ui_requirements.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 2.2: 견적 데이터 모델 설계
|
||
|
|
**스킬:** `/sc:design`
|
||
|
|
**작업:**
|
||
|
|
- 견적서 헤더/라인 아이템 테이블
|
||
|
|
- 품목/단가 참조 구조
|
||
|
|
- 버전 관리 로직
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/02_quotation/data_model.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 2.3: 견적 API 설계
|
||
|
|
**스킬:** `/sc:design`
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/02_quotation/api_spec.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 2.4: 프론트엔드 개발 가이드
|
||
|
|
**스킬:** `/sc:document`
|
||
|
|
|
||
|
|
**산출물:** `claudedocs/mes/02_quotation/frontend_guide.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Step 2.5 ~ 2.8: 구현 및 테스트
|
||
|
|
**스킬:** `/sc:implement`, `/sc:test`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Phase 3 ~ 10: 후속 모듈 (동일 패턴 반복)
|
||
|
|
|
||
|
|
각 Phase마다:
|
||
|
|
1. 화면 분석
|
||
|
|
2. 데이터 모델 설계
|
||
|
|
3. API 설계
|
||
|
|
4. 프론트엔드 가이드
|
||
|
|
5. 구현
|
||
|
|
6. 테스트
|
||
|
|
|
||
|
|
**Phase 3:** 수주 관리
|
||
|
|
**Phase 4:** 생산 계획
|
||
|
|
**Phase 5:** 생산 실행
|
||
|
|
**Phase 6:** 출하 관리
|
||
|
|
**Phase 7:** 품질 관리
|
||
|
|
**Phase 8:** 재고 관리
|
||
|
|
**Phase 9:** 구매 관리
|
||
|
|
**Phase 10:** 보고서/대시보드
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 통합 및 최적화
|
||
|
|
|
||
|
|
### Phase 11: 시스템 통합
|
||
|
|
- 모듈 간 인터페이스 검증
|
||
|
|
- 공통 컴포넌트 리팩토링
|
||
|
|
- 성능 최적화
|
||
|
|
|
||
|
|
### Phase 12: 보안 및 품질
|
||
|
|
- 보안 감사
|
||
|
|
- 접근 제어 검증
|
||
|
|
- 부하 테스트
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 실행 방법
|
||
|
|
|
||
|
|
### 1. 현재 단계 시작
|
||
|
|
```
|
||
|
|
"Phase 0 - Step 0.1 시작해줘"
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. 스킬 자동 실행 및 문서 저장
|
||
|
|
|
||
|
|
### 3. 완료 후 진행 상황 업데이트
|
||
|
|
- `MES_PROGRESS_TRACKER.md` 자동 업데이트
|
||
|
|
|
||
|
|
### 4. 다음 단계 진행
|
||
|
|
```
|
||
|
|
"Phase 0 - Step 0.2 시작해줘"
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 예상 일정
|
||
|
|
|
||
|
|
| Phase | 예상 소요 | 비고 |
|
||
|
|
|-------|----------|------|
|
||
|
|
| Phase 0 | 1-2일 | 기존 시스템 파악 |
|
||
|
|
| Phase 1 | 1-2주 | 품목 기준관리 (핵심) |
|
||
|
|
| Phase 2 | 1주 | 견적 시스템 |
|
||
|
|
| Phase 3-7 | 각 3-5일 | 수주/생산/출하/품질 |
|
||
|
|
| Phase 8-10 | 각 3-5일 | 지원 기능 |
|
||
|
|
| Phase 11-12 | 1주 | 통합 및 최적화 |
|
||
|
|
|
||
|
|
**총 예상 기간:** 8-12주
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 문서 구조
|
||
|
|
|
||
|
|
```
|
||
|
|
claudedocs/mes/
|
||
|
|
├─ MES_PROJECT_ROADMAP.md # 이 문서
|
||
|
|
├─ MES_PROGRESS_TRACKER.md # 진행 상황 추적
|
||
|
|
├─ 00_baseline/
|
||
|
|
│ ├─ existing_api_analysis.md # 기존 API 분석 ⭐
|
||
|
|
│ ├─ mes_react_analysis.md
|
||
|
|
│ ├─ business_requirements.md
|
||
|
|
│ └─ development_scope.md
|
||
|
|
├─ 01_item_management/
|
||
|
|
│ ├─ ui_requirements.md
|
||
|
|
│ ├─ item_ui_requirements.md
|
||
|
|
│ ├─ data_model.md
|
||
|
|
│ ├─ database_schema.sql
|
||
|
|
│ ├─ meta_api_spec.md
|
||
|
|
│ ├─ item_api_spec.md
|
||
|
|
│ ├─ frontend_guide.md
|
||
|
|
│ └─ test_report.md
|
||
|
|
├─ 02_quotation/
|
||
|
|
│ └─ ...
|
||
|
|
└─ ...
|
||
|
|
```
|