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

스터디룸 소개(프리뷰) FRD

비로그인·신규 사용자가 스터디룸을 둘러보는 프리뷰를 어떻게 구현하는지 정리한다. PUBLIC 스터디룸은 '살아 있는 사용 예시'로 비회원에게 열고, 생성 시 받아 둔 정보와 운영 데이터를 상태 중심으로 풀어 수업 성격을 한눈에 보여 준다. PRIVATE 룸은 접근 제한 안내만 띄운다. 상위 기획은 prd에 있고, 거기서 화면 구성·공개범위가 바뀌면 아래 API·처리흐름을 맞춘다.

기술 접근 · 아키텍처

  1. 비회원이 목록에서 룸 클릭 → 프리뷰 조회.
  2. 공개범위 분기: PUBLIC → 읽기전용 구조 / PRIVATE → 접근 제한 안내(존재하지 않는 publicId는 404).
  3. [더 둘러보기] → 공개 옵션에 따라 접근/제한. 문의하기는 준비 중(미동작 예고 UI).
  4. 운영 수치는 노출 시 상태 문구로 매핑(원시 카운트 비노출, 0건도 카운트 노출 금지 → 상태 문구 fallback).

API · 데이터 모델

  • 공개 조회 GET /studyrooms/{publicId}/preview (인증 불요, PUBLIC만). PRIVATE은 제한 응답 + 안내.
  • 응답: 성격 정보(과목·학년·모달리티·1:1/1:N·설명) + 운영 상태(학생/노트/질문 존재 여부 → 상태 문구).
  • 미정의 스키마는 원본 미작성 — 구현 시 확정.
  • 데이터 출처: studyroom(생성 시 수집 정보·공개범위) + teaching-note(노트 수) · qna(질문 수). 도메인 중복 정의 없이 참조.

의존성 · 영향 범위

  • studyroom 공개범위(PUBLIC/PRIVATE)·수업 메타. teaching-note·qna 카운트 집계.
  • 운영 카운트 → 상태 문구 매핑 레이어가 프리뷰 전용으로 필요(원시 수치 누출 방지).

테스트 계획

  • PUBLIC/PRIVATE 분기, 비로그인 접근 허용, 상태 문구 매핑(0건 포함 → 카운트 미노출), 존재하지 않는 publicId 404 경계 → qa-playbook.

작업 분해 (이슈 링크)

  • 공개 프리뷰 조회 API + PUBLIC 게이트 / 운영 카운트→상태 문구 매핑 / FE 성격 카드·활성감·문의 예고 UI / PRIVATE 접근 제한 안내. 화면 제공 방식(모달 vs Page) 확정 후 분해 — TBD(prd §범위). 이슈 링크는 status.