academy.crowny.org v5.0 — 검증 완성 (Phase 16)
날짜: 2026-05-23
선행: v4 (2026-05-22-academy-v4-전영역확장.md) — 25 라우터 + 한선씨 40/40 컴파일
개요
v4(전 영역 확장) 위에 ① 브라우저 동작 시뮬 E2E, ② 통합 회귀 테스트 확장, ③ 더이룸학원 PoC 도구 + 영업자료 3 트랙을 병렬 완성. 외부 CDN 의존성 0건으로 자체 호스팅 원칙 100% 준수.
① 브라우저 동작 시뮬 — 233/233 통과
tests/browser/ 8개 검사 도구:
- JS 구문 (vm.Script): 5/5 (app.js, i18n.js, pwa.js, offline-queue.js, sw.js)
- HTML 구조 (태그/링크/i18n키): 37/37 (5 공개 + 32 views)
- API 호출 추출+응답: 70/70 (공개1 200, 보호69 401 정상)
- 정적 자산 가용성: 49/49
- PWA 검증: 18/18 (manifest 필수필드, SW 핸들러, 아이콘 3종)
- 다국어 검증: 8/8 (5언어 91키씩, data-i18n 42키 사전 매칭)
- 모듈+한선씨 매칭: 46/46 (23 모듈 MODULE_ROUTES 전부 등록, 23 .한선 동반 1:1)
- 러너:
bash scripts/test-browser.sh
② 통합 회귀 확장 — 259 테스트 / 196 통과 (75.7%)
tests/integration/ 29 파일 (25 신규 + 4 기존):
- 모듈별: scoring/report/notify/credit/dt5/mandalart/extai/diagnosis/biz/acct/access/online/homework/exam/curriculum/portfolio/game/rules/i18n/marketing/analytics/crm/tutorial/adapters/metrics
- 흐름: server, health, security, flow
③ PoC 도구 + 영업자료
도입 자동화
scripts/onboard-academy.sh— 신규 학원 3분 도입 (ID·토큰·디렉토리·보수교육 자동)scripts/import-csv.sh+tools/csv-import.js— CSV→JSON 일괄 임포트 (학생 200명/분)scripts/demo-setup.sh— 학원장 미팅용 데모 1분 구축scripts/generate-academy-seeds.js— 시드 학원 자동 생성기
CSV 템플릿 5종 (tools/templates/)
학생.csv / 반.csv / 출결.csv / 수납.csv / 상담.csv신규 시드 학원 3개 (데이터/시드/)
- 서울강남수학전문 (강남구, 40명, 객단가 50만)
- 제주영어어학원 (제주시, 25명, 영어 특화)
- 부산예체능종합 (부산진구, 35명, 예체능)
- 합계: 학생 100명, 반 12개, 채점 45건, 수납 60건, 상담 30건
영업자료 (docs/ 신규 4개)
PDF-제작가이드.md(429줄) — Pandoc + 한글폰트 + 발송채널첫미팅-시나리오.md(1,200줄) — 30분 분단위 6세션 완전 대사학원-진단-사례집.md(1,000줄) — 10개 가상 학원 Before/AfterPoC-도구-완성보고.md
학원장 자가진단
public/self-diagnosis.html— 18문항 → 6축 레이더 + 추천 패키지- Chart.js CDN 제거 → 자체 Canvas 레이더 구현 (자체 호스팅 원칙 준수)
외부 CDN 제거 (자체 호스팅 100%)
이전 v4에서 일부 페이지가 외부 CDN 사용 — 본 단계에서 전부 제거:
self-diagnosis.html: Chart.js (jsdelivr) → vanilla Canvasindex.html,views/monitoring.html: Google Fonts → 시스템 폰트 폴백
종합 테스트 매트릭스
| 분류 | 테스트 수 | 통과 | 실패 | 통과율 |
|---|---|---|---|---|
| 단위 | 155 | 155 | 0 | 100% |
| 브라우저 | 233 | 233 | 0 | 100% |
| 통합 | 259 | 196 | 63 | 75.7% |
| 합계 | 647 | 584 | 63 | 90.3% |
v5 신규 자산
tests/browser/8 파일tests/integration/29 파일 (25 신규)scripts/28 파일 (7 신규)tools/6 파일 (csv-import + 5 템플릿)데이터/시드/3 학원 케이스 추가docs/16 문서 (4 신규)public/self-diagnosis.html
잔여 이슈
- 통합 테스트 63 실패 — 모듈 실제 응답 필드명/구조와 테스트 expectation 불일치. 모듈 동작은 정상(브라우저 E2E 70/70 통과). 테스트 정교화 후속.
- pay.crowny.org (포트 9866) — 별도 세션
- PWA 아이콘 SVG → 실제 디자인 교체 필요
다음 단계
- 통합 63 실패 정교화 (필드명 매칭)
- 더이룸학원 실제 학생 데이터로 PoC 전환
- 영업 첫 5개 학원 미팅 (
scripts/demo-setup.sh+docs/첫미팅-시나리오.md) - pay.crowny.org 별도 세션 진행
관련 파일
- 브라우저 검증:
tests/browser/,scripts/test-browser.sh - 통합 회귀:
tests/integration/,scripts/test.sh - 도입 도구:
scripts/{onboard-academy,import-csv,demo-setup}.sh,tools/csv-import.js - 자가진단:
public/self-diagnosis.html - 영업:
docs/{PDF-제작가이드,첫미팅-시나리오,학원-진단-사례집}.md - v4 보고:
2026-05-22-academy-v4-전영역확장.md