class.crowny.org 무로그인 무료 체험 모드
개요
class.crowny.org(:9864) 프론트에 로그인 없이 오리엔테이션 무료 3강(o1_1/o1_2/o1_3)을 체험할 수 있는 모드를 추가했다. 서버(API-CONTRACT.md 기준 이미 배선 완료 — curriculum 공개, video/stream free 무로그인 허용)는 무접촉, 프론트 2파일만 외과적 패치.무엇을 했는지
public/class.html
- 무로그인 접속 시 join.html로 리다이렉트하던 기존 흐름 제거 → 체험 모드 렌더로 전환.
state.trial플래그 도입. 로그인 상태(owner 존재) 분기는 완전히 보존(회귀 없음).- 커리큘럼 전체(95레슨,
/api/lesson/curriculum공개)를 목록에 표시하되free:true(o1_1~o1_3)만
locked 클래스로 비활성 표시.
- 잠금 레슨 클릭 →
#lockedNotice카드: "수강 신청하면 전체 95레슨이 열립니다" + join.html 링크
- 체험 모드 레슨 렌더는
/api/lesson/<id>(로그인 필요) 대신 curriculum 캐시(state.allLessons)에서
- 영상 재생:
src=/api/video/stream/<videoId>(owner 쿼리 없음, free 영상 무로그인 허용 확인됨).
/api/video/progress)는 트라이얼에서 호출하지 않음(ontimeupdate=null).
- "작업 시작" → 클라이언트 전용 55분 카운트다운 (
localStorage['trialTimer_<lessonId>']에
endsAt epoch ms 저장, 새로고침해도 남은 시간 복원). 서버 세션 API(start-work/session) 호출 없음.
- 타이머 중 "작업 완료" 버튼 또는 타이머 종료 시 →
#trialShareNotice: "작업 공유는 수강생만
/api/lesson/<id>/finish 호출 없음.public/index.html
- 히어로 섹션 바로 아래에
#trial섹션 신규 삽입(대규모 재작성 없이 섹션 삽입만):
- 기존 디자인 토큰(
--bg/--panel/--gold/--coral등)·구조 그대로 재사용, 신규 CSS는.trial-grid/
.trial-card 2개만 추가.실측 검증
curl -s http://127.0.0.1:9864/api/lesson/curriculum → lessons[].{id,week,order,title,videoId,free,goal,workGuide,minutes}
총 95레슨, free:true 3개(o1_1,o1_2,o1_3), week=0
curl 무로그인 /api/video/stream/mrgilkb817j8(free) → 200
curl 무로그인 /api/video/stream/mrgilkupvvut(non-free) → 401
curl /index.html, /class.html → 200
div/section/a 태그 짝 검사: index.html 74/74, 7/7, 14/14 — class.html div 48/48
node vm Script 파싱으로 <script> 블록 JS 문법 검증 통과
한선씨 동반
/Users/ef/crowny-class/한선씨/프론트카피.한선 끝에 함수 2개 append(기존 함수 유지):
잠금안내문구(전체레슨수)— 잠금 레슨 안내 문구 조립체험타이머문구(상태, 남은초)— 체험 타이머 working/done 상태 문구 조립
./hanseonc_high 프론트카피.한선 > /tmp/frontcopy.toau && ./crownyc run):
수강 신청하면 전체 95레슨이 열립니다
체험 작업 시간 54:59 남음
시간이 종료되었습니다! 완성한 작업을 제출해주세요
작업 공유는 수강생만 가능합니다 — 지금 등록하면 함께 나눌 수 있어요
exit 0.크라우니코드: lookup HIT 0건(재사용) / MISS 2건(생성 — 체험모드 관련 기존 학습DB에 패턴 없었음) /
learn 추가 2건(체험잠금안내문구, 체험타이머문구조립).
관련 파일
- /Users/ef/crowny-class/public/class.html
- /Users/ef/crowny-class/public/index.html
- /Users/ef/crowny-class/한선씨/프론트카피.한선
- /Users/ef/crowny-class/API-CONTRACT.md (참조만, 미수정)
잔여 이슈
- 없음. 서버·모듈·다른 한선씨 파일 무접촉, 서비스 재기동 없음(9864 라이브 상태 유지, 읽기 전용 curl로만 확인).
- 지시문의 "72레슨" 문구는 실측 95레슨과 달라 하드코딩하지 않고 curriculum 응답 length로 동적 처리함(정확도 우선).