콘텐츠로 이동
✍️ 수정가능누구나 고쳐도 됩니다. 고치면 하단 frontmatter의 갱신일·작성자·변경요약을 남겨 주세요.작성 Claude · 2026-06-04 · v12 재편·raw 컴파일·인간화

학생 초대 PRD

요지

예전에는 이미 가입한 학생만 검색해서 초대할 수 있었다. 아직 가입하지 않은 학생은 부를 길이 없었다는 뜻이다. 학생 초대는 그 벽을 없앤다 — 선생님이 초대 링크를 공유하면, 미가입 학생도 링크 한 번으로 로그인·회원가입을 거쳐 스터디룸까지 자연스럽게 들어온다. MVP-C 기능이다.

목표 & 성공 기준 (지표)

링크 공유만으로 새 학생 유입의 마찰을 없애고, 가입과 초대 사이에서 흐름이 끊기지 않게 하는 것이 목표다.

지표는 초대 링크 클릭부터 가입·수락까지의 퍼널 전환율, 가입·로그인 단계의 이탈률, 그리고 링크를 만들고 만료하기까지의 소요일을 본다.

대상 페르소나

링크를 만들고 끄는 선생님과, 링크를 받는 학생(로그인 상태일 수도, 비로그인일 수도, 아예 미가입일 수도 있다)이 주인공이다. 보호자는 수락할 수 없다. 페르소나 상세는 member.

범위 (포함 / 제외)

여기서 다루는 건 초대 링크 생성·만료·복사, 로그인·가입·소셜을 거치는 동안의 토큰 유지, 회원의 수락, 그리고 학생 상태별 분기다.

링크별 만료 기한(TTL)과 운영이 끝난 스터디룸의 초대 허용 여부는 아직 정하지 못해 frd에서 미결로 남겨 뒀다.

요구사항 (유저 스토리 · 기능)

선생님이 스터디룸 초대 링크를 만들어 공유하면, 학생이 링크를 누르고 상태(로그인/가입 필요/즉시 수락)에 따라 갈라진 뒤 수락하면 스터디룸에 들어온다. 핵심은 가입·로그인을 "초대를 수락하기 위한 과정"으로 묶은 것이다 — 가입을 마치면 끊겼던 초대 흐름으로 자동으로 되돌아온다.

세부 규칙은 이렇다. 초대장은 스터디룸당 하나(1:1)이고 선생님이 만든다. 상태는 Active, 수동 만료한 Expired, 스터디룸이 끝난 Disabled로 나뉘며, 토글을 켜면 새 토큰을 만들고 끄면 토큰을 지운다. 만료한 링크는 되살릴 수 없고, 다시 켜면 새 토큰으로 새로 만든다. 이미 스터디룸에 속한 학생이 또 수락하려 하면 막고, 대신 스터디룸 화면(수업노트 탭)으로 보낸다. 권한은 선생님(생성·비활성), 학생(수락), 보호자(수락 불가), 비로그인(로그인·가입 유도)으로 갈린다.

근거 (피드백·아이디어·리서치 source)

MVP-C 학생 초대 고도화 기획서와 백엔드 구현 설계 로그에서 도출했다. 출처는 frontmatter source에 있다.

오픈 이슈

  • 링크별 만료 기한(TTL)을 넣으려면 토큰 발급 시점을 "링크 복사 시"로 바꾸고 Redis 상태관리를 검토해야 한다. 운영이 끝난 스터디룸의 초대 정책도 함께 정해야 한다.