2026-03-08 01:35:33 +09:00
|
|
|
# R&D 메뉴
|
|
|
|
|
|
|
|
|
|
> **작성일**: 2026-03-08
|
|
|
|
|
> **상태**: 운영 중
|
|
|
|
|
> **프로젝트**: SAM MNG (관리자 웹)
|
|
|
|
|
> **라우트 접두사**: `/rd`
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 1. 개요
|
|
|
|
|
|
|
|
|
|
### 1.1 목적
|
|
|
|
|
|
|
|
|
|
R&D 메뉴는 SAM 플랫폼의 **연구개발 및 내부 도구** 모음이다. AI 견적, 조직도 관리, 기획디자인(스토리보드 에디터), 안전점검 등 실험적이거나 내부 운영 목적의 기능을 제공한다.
|
|
|
|
|
|
|
|
|
|
### 1.2 문서 구조
|
|
|
|
|
|
|
|
|
|
| 문서 | 설명 |
|
|
|
|
|
|------|------|
|
|
|
|
|
| **README.md** (이 문서) | 전체 개요, 메뉴 구조, 컨트롤러 매핑 |
|
|
|
|
|
| [planning-design.md](planning-design.md) | 기획디자인 스토리보드 에디터 기술 명세 |
|
2026-03-08 11:22:09 +09:00
|
|
|
| [design-insight.md](design-insight.md) | 디자인 인사이트 UI/UX 연구 도구 (100종 패턴, AI 프롬프트) |
|
2026-03-08 01:35:33 +09:00
|
|
|
|
|
|
|
|
### 1.3 하위 메뉴 구조
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
R&D
|
|
|
|
|
├── 대시보드 /rd
|
|
|
|
|
├── 조직도 관리 /rd/org-chart
|
|
|
|
|
├── 중대재해처벌법 점검 /rd/safety-audit
|
|
|
|
|
├── AI 견적 /rd/ai-quotation
|
|
|
|
|
│ ├── 목록 /rd/ai-quotation
|
|
|
|
|
│ ├── 생성 /rd/ai-quotation/create
|
|
|
|
|
│ ├── 상세 /rd/ai-quotation/{id}
|
|
|
|
|
│ ├── 편집 /rd/ai-quotation/{id}/edit
|
|
|
|
|
│ └── 문서 /rd/ai-quotation/{id}/document
|
2026-03-08 11:22:09 +09:00
|
|
|
├── 기획디자인 /rd/planning-design
|
|
|
|
|
└── 디자인 인사이트 /rd/design-insight
|
2026-03-08 01:35:33 +09:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 2. 아키텍처
|
|
|
|
|
|
|
|
|
|
### 2.1 기술 스택
|
|
|
|
|
|
|
|
|
|
| 계층 | 기술 | 설명 |
|
|
|
|
|
|------|------|------|
|
|
|
|
|
| 뷰 | Blade + Alpine.js | 반응형 SPA (서버 렌더링 없음) |
|
|
|
|
|
| 컨트롤러 | `RdController` | 모든 R&D 라우트 처리 |
|
|
|
|
|
| 서비스 | `AiQuotationService` | AI 견적 비즈니스 로직 |
|
|
|
|
|
| 모델 | `AiQuotation`, `Employee`, `Department`, `Tenant` | Multi-tenant |
|
|
|
|
|
| 저장 | localStorage (기획디자인), DB (견적/조직도) | 용도별 분리 |
|
|
|
|
|
|
|
|
|
|
### 2.2 컨트롤러 구조
|
|
|
|
|
|
|
|
|
|
**파일**: `app/Http/Controllers/RdController.php`
|
|
|
|
|
|
|
|
|
|
| 메서드 | 라우트 | 설명 |
|
|
|
|
|
|--------|--------|------|
|
|
|
|
|
| `index()` | `GET /rd` | R&D 대시보드 |
|
|
|
|
|
| `orgChart()` | `GET /rd/org-chart` | 조직도 관리 |
|
|
|
|
|
| `orgChartAssign()` | `POST /rd/org-chart/assign` | 직원 부서 배치 |
|
|
|
|
|
| `orgChartUnassign()` | `POST /rd/org-chart/unassign` | 직원 부서 해제 |
|
|
|
|
|
| `orgChartReorder()` | `POST /rd/org-chart/reorder` | 직원 순서/이동 |
|
|
|
|
|
| `orgChartReorderDepts()` | `POST /rd/org-chart/reorder-depts` | 부서 순서 변경 |
|
|
|
|
|
| `orgChartToggleHide()` | `POST /rd/org-chart/toggle-hide` | 부서 숨기기/표시 |
|
|
|
|
|
| `safetyAudit()` | `GET /rd/safety-audit` | 중대재해처벌법 점검 |
|
|
|
|
|
| `quotations()` | `GET /rd/ai-quotation` | AI 견적 목록 |
|
|
|
|
|
| `createQuotation()` | `GET /rd/ai-quotation/create` | AI 견적 생성 폼 |
|
|
|
|
|
| `showQuotation()` | `GET /rd/ai-quotation/{id}` | AI 견적 상세 |
|
|
|
|
|
| `editQuotation()` | `GET /rd/ai-quotation/{id}/edit` | AI 견적 편집 |
|
|
|
|
|
| `documentQuotation()` | `GET /rd/ai-quotation/{id}/document` | AI 견적 문서 |
|
|
|
|
|
| `planningDesign()` | `GET /rd/planning-design` | 기획디자인 |
|
2026-03-08 11:22:09 +09:00
|
|
|
| `designInsight()` | `GET /rd/design-insight` | 디자인 인사이트 |
|
2026-03-08 01:35:33 +09:00
|
|
|
|
|
|
|
|
### 2.3 HTMX 전체 페이지 로드 규칙
|
|
|
|
|
|
|
|
|
|
모든 `/rd/*` 페이지는 Alpine.js 또는 React 컴포넌트를 사용하므로, HTMX 부분 로드 시 스크립트가 실행되지 않는다. 각 메서드에서 `HX-Request` 감지 시 `HX-Redirect`로 전체 페이지 로드를 강제한다.
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
if ($request->header('HX-Request')) {
|
|
|
|
|
return response('', 200)->header('HX-Redirect', route('rd.planning-design'));
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 3. 기능별 구현 현황
|
|
|
|
|
|
|
|
|
|
| 기능 | 구현 방식 | 백엔드 | DB | 상태 |
|
|
|
|
|
|------|----------|--------|-----|------|
|
|
|
|
|
| R&D 대시보드 | Blade | AiQuotationService | ai_quotations | 운영 중 |
|
|
|
|
|
| 조직도 관리 | Blade + Alpine.js | RdController (직접 쿼리) | employees, departments | 운영 중 |
|
|
|
|
|
| 중대재해처벌법 점검 | Blade (정적) | 없음 | 없음 | 운영 중 |
|
|
|
|
|
| AI 견적 | Blade + Alpine.js | AiQuotationService | ai_quotations | 운영 중 |
|
|
|
|
|
| **기획디자인** | **Blade + Alpine.js (SPA)** | **없음 (localStorage)** | **없음** | **운영 중** |
|
2026-03-08 11:22:09 +09:00
|
|
|
| **디자인 인사이트** | **Blade + Alpine.js (SPA)** | **없음 (localStorage)** | **없음** | **운영 중** |
|
2026-03-08 01:35:33 +09:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 4. 관련 문서
|
|
|
|
|
|
|
|
|
|
- [기획디자인 스토리보드 에디터](planning-design.md) — 블록 에디터, 서식, 인쇄, 내보내기
|
2026-03-08 11:22:09 +09:00
|
|
|
- [디자인 인사이트](design-insight.md) — UI/UX 연구 도구 (100종 패턴, AI 프롬프트 복사)
|
2026-03-08 01:35:33 +09:00
|
|
|
- [조직도 관리 기술문서](../../projects/org-chart/) — 조직도 시스템 상세 (별도 프로젝트 문서)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**최종 업데이트**: 2026-03-08
|