academy.crowny.org v3.0 — 깊이 강화 (17 모듈 + 운영 고도화)
날짜: 2026-05-22
도메인: academy.crowny.org (포트 9865)
선행: 2026-05-21-academy-고도화-패스드림+더이룸학원.md, 2026-05-22-academy-상용화-준비완료.md
개요
v2.1 (11 모듈 + 상용 인프라) 위에 신규 6 모듈 + 셀코어 규칙엔진 + 테스트/모니터링/PWA를 병렬 구축. 총 18 라우터 그룹.
Phase 12 — 신규 6 모듈
| 모듈 | API | 핵심 |
|---|---|---|
| homework | 10 | 숙제 배포(all/class/students)/제출/채점/마감알림 |
| exam-wizard | 10 | AI 자동 출제(난이도·영역 분포), 문제은행 28문제, OMR 생성, 템플릿 5종 |
| curriculum | 15 | 커리큘럼 6 템플릿(2022개정/2026고교학점제), 진도 추적, 개인화 로드맵, 이탈위험 |
| portfolio | 10 | 학생 작품 모음, 자동수집(채점/PBL/만다라트/리포트), 성장곡선 |
| gamification | 10 | 뱃지 20종, 포인트 11룰, 퀘스트 10종, 리더보드, 레벨 공식 |
| accounting | 14 | 거래/계정/보고서/세무, Crowny Quadbook 4상(T/O/A/U), 시드 210건 |
Phase 13 — 운영 고도화
셀코어 규칙엔진 (selcore-rules)
- API 11개, 사전 정의 룰 31개 (9 카테고리: 이탈방지/게이미피케이션/학습/PBL/마케팅/운영/재무/교사/휴소예측)
- 학원 운영 의사결정 자동화 (결석 누적 → 상담 추천, 만점 → 뱃지 부여 등)
- 한선씨 셀코어
룰생성/룰조건추가/룰변경추가패턴
테스트 자동화
node:test기반 (외부 의존성 없음)- 단위 155 + 통합 39 = 194 테스트 전부 통과
- 부하 테스트 (동시 100 req, p50/p95/p99)
bash scripts/test.sh [unit|integration|load|all]
모니터링
lib/metrics.js— 엔드포인트별 p50/p95/p99, 1h/24h/7d 시계열/api/metrics/{summary,endpoints,timeseries,errors,system,prometheus}(관리자)lib/alerts.js— 에러율>5% / p95>2000ms / RSS>400MB 감지public/views/monitoring.html— verdant 톤 대시보드 (Canvas 차트, 10초 폴링)- server.js 요청마다
recordRequest자동 기록
PWA
manifest.webmanifest+sw.js(캐시 우선/네트워크 우선/오프라인 폴백)assets/offline-queue.js— IndexedDB 큐 (출결/채점 오프라인 → 온라인 복귀 시 자동 동기화)views/scoring-camera.html— 후면 카메라 직접 촬영 → 채점 업로드- 앱 아이콘 SVG 3종 (192/512/maskable)
한선씨 동반 보강
한선씨/lib/9개 +한선씨/adapters/8개 신규- 한선씨 비율 33% → 72%+ (목표 70% 달성)
- 동반파일 총 34개
검증 결과
[modules] 18/18 라우터 로드됨
[auth] auth-routes 로드됨
[adapters] 어댑터 상태 라우트 로드됨
[metrics] 메트릭 수집기 + 라우트 로드됨
[alerts] 알람 모니터 시작
/health/ready → {"status":"ready","modules":{"loaded":18,"total":18}}
단위 테스트 155개 전부 통과 (1.26초)
보호 경로 401 / 공개 경로 200 / PWA 자산 200
최종 집계 (v3.0)
| 항목 | 수량 |
|---|---|
| 모듈 디렉토리 | 17 (라우터 18 그룹, dt5→tutor 공유) |
| 한선씨 동반 | 34 |
| lib (운영/보안/메트릭) | 12 JS |
| adapters | 9 JS |
| tests | 20 파일 / 194 테스트 |
| public/views | 19 뷰 |
| docs | 12 문서 |
| scripts | 23 파일 |
18 라우터 그룹
Phase 1: /api/scoring /api/report /api/notify /api/credit /api/tutorial
Phase 2: /api/dt5 /api/tutor /api/mandalart /api/extai /api/diagnosis
Phase 3: /api/biz
Phase 4: /api/acct
Phase 12: /api/homework /api/exam /api/curriculum /api/portfolio /api/game
Phase 13: /api/rules
+ /api/auth /api/adapters /api/metrics /health (인프라)
관련 파일
- 모듈:
/Users/ef/crowny-academy/modules/{17개}/routes.js - 한선씨:
/Users/ef/crowny-academy/한선씨/+한선씨/lib/+한선씨/adapters/ - 테스트:
/Users/ef/crowny-academy/tests/(scripts/test.sh) - 모니터링:
/Users/ef/crowny-academy/lib/metrics.js,public/views/monitoring.html - PWA:
/Users/ef/crowny-academy/public/{manifest.webmanifest,sw.js} - 셀코어:
/Users/ef/crowny-academy/modules/selcore-rules/routes.js
잔여 이슈
- server.js EADDRINUSE — 재기동 시 이전 프로세스 명시적 종료 필요 (
scripts/restart.sh사용 권장) - 신규 6 모듈 한선씨 컴파일 검증 미완 (학습DB 등록은 됨)
- PWA 아이콘 SVG — 실제 디자인 PNG로 교체 필요
- monitoring.html을 관리자 SPA 메뉴에 연결 필요
- exam-wizard 문제은행 — 실제 교재 문제로 확충 필요
다음 단계
- pay.crowny.org 별도 세션 (포트 9866)
- 다국어 i18n (한/영/중)
- 마케팅 자동화 (네이버/카카오/당근)
- 데이터 분석 예측 모델 (이탈 예측 ML)
- 더이룸학원 실제 PoC