# MNG 애플리케이션 전체 개발 계획

## 📋 프로젝트 개요

**목적:** Admin(Filament) 기능을 Plain Laravel(Blade + Tailwind)로 마이그레이션하여 운영 주력 관리자 패널 구축

**개발 기간:** 8-11주 (Phase별 상세 타임라인 참조)

**기술 스택:**
- Backend: Laravel 12 + PHP 8.2+
- Frontend: Blade + Tailwind CSS + DaisyUI + HTMX + Vite
- 인증: Laravel Sanctum
- 아키텍처: Multi-tenant + RBAC + Audit Log

## 🎯 핵심 목표

1. **독립성:** Admin(Filament)과 별개로 독립 실행 가능한 관리자 패널
2. **사용성:** Plain Laravel (Blade + Tailwind + DaisyUI + HTMX)로 수정 용이한 UI/UX
3. **확장성:** Multi-tenant, RBAC 완벽 지원
4. **품질:** SAM API Rules 준수 - Service-First, FormRequest, i18n, Audit Log 일관성

## 📊 전체 메뉴 구조

```
MNG 애플리케이션
├── 회원관리 (User Management)
├── 테넌트관리 (Tenant Management)
├── 거래처관리 (Client Management)
├── 영업관리 (Sales Management)
├── 전자결재관리 (Approval Management)
├── 템플릿관리 (Template Management)
├── 게시판관리 (Board Management)
├── 견적서관리 (Quotation Management)
├── 구독관리 (Subscription Management)
├── 결제관리 (Payment Management)
├── 환불관리 (Refund Management)
├── 설정 (Settings)
│   ├── 관리자 계정 관리
│   ├── 카테고리 관리
│   ├── 배너 관리
│   ├── 팝업 관리
│   ├── 이메일 관리
│   └── 문자 관리
└── 통계 (Statistics & Analytics)
```

## 🗓️ Phase별 개발 계획

### Phase 1: 기반 마스터 데이터 (1-2주)
**문서:** `01_PHASE1_MASTER_DATA.md`

**목표:** 모든 기능의 기반이 되는 핵심 마스터 데이터 구축

**포함 기능:**
- ✅ 회원관리 (User Management)
- ✅ 테넌트관리 (Tenant Management)
- ✅ 거래처관리 (Client Management)

**핵심 산출물:**
- Users, Tenants, Clients 테이블 및 모델
- CRUD 기능 완성
- 권한/역할 할당 기능

---

### Phase 2: 시스템 설정 (1주)
**문서:** `02_PHASE2_SETTINGS.md`

**목표:** 다른 기능들이 참조하는 공통 설정 기능 구축

**포함 기능:**
- ✅ 설정 - 카테고리 관리
- ✅ 설정 - 관리자 계정 관리

**핵심 산출물:**
- Categories 테이블 및 계층 구조
- 슈퍼관리자 계정 관리 UI

---

### Phase 3: 비즈니스 핵심 기능 (2-3주)
**문서:** `03_PHASE3_BUSINESS_CORE.md`

**목표:** 실제 비즈니스 가치를 창출하는 핵심 기능 구현

**포함 기능:**
- ✅ 영업관리 (Sales Management)
- ✅ 견적서관리 (Quotation Management)
- ✅ 전자결재관리 (Approval Management)

**핵심 산출물:**
- 영업 파이프라인 시스템
- 견적서 생성 및 PDF 출력
- 결재선 설정 및 승인 워크플로우

---

### Phase 4: 콘텐츠 관리 (1-2주)
**문서:** `04_PHASE4_CONTENT.md`

**목표:** 사용자 경험 향상을 위한 콘텐츠 관리 기능 구현

**포함 기능:**
- ✅ 템플릿관리 (Template Management)
- ✅ 게시판관리 (Board Management) - EAV 패턴
- ✅ 설정 - 배너/팝업 관리

**핵심 산출물:**
- 문서 템플릿 변수 치환 시스템
- EAV 기반 유연한 게시판 시스템
- 배너/팝업 노출 관리

**특이사항:** 게시판은 EAV + Atomic Design 전략 적용 (CLAUDE.md 참조)

---

### Phase 5: 수익 관리 (2주)
**문서:** `05_PHASE5_REVENUE.md`

**목표:** SaaS 비즈니스 모델의 수익 관리 시스템 구축

**포함 기능:**
- ✅ 구독관리 (Subscription Management)
- ✅ 결제관리 (Payment Management)
- ✅ 환불관리 (Refund Management)

**핵심 산출물:**
- 구독 플랜 및 갱신 시스템
- PG 연동 (토스페이먼츠 등)
- 환불 요청 및 처리 워크플로우

---

### Phase 6: 커뮤니케이션 & 통계 (1-2주)
**문서:** `06_PHASE6_COMM_STATS.md`

**목표:** 고객 커뮤니케이션 및 데이터 분석 기능 완성

**포함 기능:**
- ✅ 설정 - 이메일 관리
- ✅ 설정 - 문자 관리
- ✅ 통계 (Statistics & Analytics)

**핵심 산출물:**
- 이메일/SMS 발송 시스템
- 대시보드 차트 및 통계
- 엑셀 내보내기 기능

---

## 🛠️ 공통 개발 원칙

### 1. Architecture Pattern
```
Controller (라우팅, 요청/응답)
    ↓
FormRequest (유효성 검증)
    ↓
Service (비즈니스 로직) ← Repository (선택적)
    ↓
Model (Eloquent ORM)
    ↓
Database
```

### 2. Multi-tenancy & Security
- **BelongsToTenant trait:** 모든 tenant 데이터 모델에 필수
- **Tenant Scope:** 자동으로 tenant_id 필터링
- **RBAC:** 메뉴 기반 권한 체크 (Menu → Permission → Role)
- **Audit Log:** 모든 CUD 작업 기록 (13개월 보관)

### 3. Frontend Stack
- **Blade Templates:** 서버 사이드 렌더링
- **Tailwind CSS:** 유틸리티 우선 스타일링
- **DaisyUI:** Tailwind 기반 컴포넌트 라이브러리
- **HTMX:** 선언적 AJAX, CSS 전환 및 WebSocket 지원
- **Vite:** 빠른 빌드 및 HMR

### 4. Code Quality Standards
- **Laravel Pint:** 코드 스타일 자동 포맷
- **PHPStan:** 정적 분석 (Level 5+)
- **i18n:** 한글 직접 금지, `__('key')` 사용
- **Soft Delete:** 기본 삭제 정책
- **Service-First:** 비즈니스 로직은 반드시 Service 계층
- **FormRequest:** Controller에서 검증 금지

### 5. API 연동
- **API 서버:** 별도 저장소 (독립 실행)
- **Product/BOM:** API에서 조회 (로컬 DB 복제 금지)
- **인증:** Sanctum 토큰 기반
- **에러 처리:** API 장애 시 graceful degradation

---

## 📁 문서 구조

```
claudedocs/mng/
├── 00_OVERVIEW.md (본 문서)
├── 01_PHASE1_MASTER_DATA.md
├── 02_PHASE2_SETTINGS.md
├── 03_PHASE3_BUSINESS_CORE.md
├── 04_PHASE4_CONTENT.md
├── 05_PHASE5_REVENUE.md
├── 06_PHASE6_COMM_STATS.md
└── 99_TECHNICAL_STANDARDS.md
```

각 Phase 문서 포함 내용:
- **기능 목록 및 우선순위**
- **DB 스키마 설계**
- **API 엔드포인트 명세**
- **UI/UX 와이어프레임** (텍스트 기반)
- **개발 체크리스트**

---

## 🔗 참고 문서

- **SAM 빠른 참조:** `SAM_QUICK_REFERENCE.md`
- **API 규칙:** `API_RULES.md`
- **개발 명령어:** `DEV_COMMANDS.md`
- **품질 체크리스트:** `QUALITY_CHECKLIST.md`
- **MES 프로젝트:** `claudedocs/mes/README.md`
- **EAV + Atomic Design:** `CLAUDE.md` (게시판 시스템 전략)

---

## ⚠️ 중요 고려사항

### Admin과의 관계
- **독립 실행:** MNG는 Admin과 별개로 독립적으로 동작
- **중복 허용:** 일부 기능이 Admin과 중복될 수 있으나, UI/UX 개선이 목표
- **점진적 전환:** Admin은 점차 deprecated, MNG가 운영 주력

### 개발 우선순위
1. **Phase 1-2 필수:** 다른 Phase의 선행 조건
2. **Phase 3-4 핵심:** 비즈니스 가치 창출
3. **Phase 5-6 확장:** 완성도 및 부가 기능

### 품질 보증
- **매 Phase 완료 시:** Pint, PHPStan, 테스트 실행
- **코드 리뷰:** `code-workflow` 스킬 활용
- **문서화:** 각 기능별 README 및 주석

---

## 📈 성공 지표

- **개발 속도:** Phase별 예상 기간 준수
- **코드 품질:** PHPStan Level 5+ 통과
- **사용자 경험:** Admin 대비 클릭 수 30% 감소
- **유지보수성:** 신규 기능 추가 시간 50% 단축

---

**최종 업데이트:** 2025-11-21
**작성자:** Claude Code (Sequential Thinking MCP)
**버전:** 1.0.0