크라우니 아카데미 사업제안서 모듈 추가
작성: 2026-05-27
개요
academy.crowny.org (포트 9865)에 사업제안서 모듈을 추가. solution.crowny.org 도입 프로세스 6단계 구조를 참고해 학원 맞춤 제안서를 자동 생성하는 7개 라우트를 구현했다.
작업 내용
신규 파일
/Users/ef/crowny-academy/modules/proposal/routes.js— 백엔드 라우터 (7 엔드포인트)/Users/ef/crowny-academy/public/views/proposal.html— 좌우분할 SPA 뷰/Users/ef/crowny-academy/한선씨/proposal.한선— 한선씨 동반 파일 (함수 6개)
수정 파일
/Users/ef/crowny-academy/server.js— MODULE_ROUTES에 proposal 등록 (Phase 16)
기능 요약
템플릿 3종: 신규학원_도입_기본 / 기존학원_업그레이드 / 프랜차이즈_본부
섹션 8개: 표지 / 문제정의 / 솔루션개요 / 핵심기능 / 도입효과ROI / 단가표 / 일정 / 회사소개
견적 자동 계산: 원생수 → 플랜 자동 선택(Lite/Standard/Advanced) + 옵션 합산 + VAT 10%
엔드포인트 7개:
- GET /api/proposal/templates (3종)
- POST /api/proposal (생성)
- GET /api/proposal (목록)
- GET /api/proposal/:id (상세)
- PUT /api/proposal/:id (수정)
- POST /api/proposal/:id/lock (확정)
- GET /api/proposal/:id/preview (HTML 출력, content-type: text/html)
검증 결과
- 모듈 로드: 27/27 (기존 26 + proposal 1)
- GET /api/proposal/templates → 200 (3종)
- POST /api/proposal → 201 (견적 자동 계산 포함)
- GET /api/proposal/:id/preview → 200 text/html (인쇄/PDF 가능)
- POST /api/proposal/:id/lock → 200
- GET /views/proposal.html → 200
잔여 이슈
없음. index.html nav에 '제안서' 탭이 있으면 자동 노출됨 (navTo('proposal') 패턴).