Files
sam-docs/sam/docs/features/rd/README.md
김보곤 428e77aa9b docs: [rd] R&D 기획디자인 스토리보드 에디터 기술문서 추가
- features/rd/README.md: R&D 메뉴 전체 개요 (라우트, 컨트롤러, 기능현황)
- features/rd/planning-design.md: 기획디자인 에디터 상세 기술문서
  - 블록 유형 15종, 데이터 구조, 서식 시스템
  - 올가미 다중 선택, Undo/Redo, 키보드 단축키
  - 플로팅 서식 툴바, 우클릭 컨텍스트 메뉴
  - HTML 내보내기, 좌표 기반 인쇄
- INDEX.md에 R&D 문서 등록
2026-03-08 01:35:33 +09:00

4.1 KiB

R&D 메뉴

작성일: 2026-03-08 상태: 운영 중 프로젝트: SAM MNG (관리자 웹) 라우트 접두사: /rd


1. 개요

1.1 목적

R&D 메뉴는 SAM 플랫폼의 연구개발 및 내부 도구 모음이다. AI 견적, 조직도 관리, 기획디자인(스토리보드 에디터), 안전점검 등 실험적이거나 내부 운영 목적의 기능을 제공한다.

1.2 문서 구조

문서 설명
README.md (이 문서) 전체 개요, 메뉴 구조, 컨트롤러 매핑
planning-design.md 기획디자인 스토리보드 에디터 기술 명세

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
└── 기획디자인             /rd/planning-design

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 기획디자인

2.3 HTMX 전체 페이지 로드 규칙

모든 /rd/* 페이지는 Alpine.js 또는 React 컴포넌트를 사용하므로, HTMX 부분 로드 시 스크립트가 실행되지 않는다. 각 메서드에서 HX-Request 감지 시 HX-Redirect로 전체 페이지 로드를 강제한다.

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) 없음 운영 중

4. 관련 문서


최종 업데이트: 2026-03-08