스터디룸 소개(프리뷰) FRD¶
비로그인·신규 사용자가 스터디룸을 둘러보는 프리뷰를 어떻게 구현하는지 정리한다. PUBLIC 스터디룸은 '살아 있는 사용 예시'로 비회원에게 열고, 생성 시 받아 둔 정보와 운영 데이터를 상태 중심으로 풀어 수업 성격을 한눈에 보여 준다. PRIVATE 룸은 접근 제한 안내만 띄운다. 상위 기획은 prd에 있고, 거기서 화면 구성·공개범위가 바뀌면 아래 API·처리흐름을 맞춘다.
기술 접근 · 아키텍처¶
- 비회원이 목록에서 룸 클릭 → 프리뷰 조회.
- 공개범위 분기: PUBLIC → 읽기전용 구조 / PRIVATE → 접근 제한 안내(존재하지 않는 publicId는 404).
- [더 둘러보기] → 공개 옵션에 따라 접근/제한. 문의하기는 준비 중(미동작 예고 UI).
- 운영 수치는 노출 시 상태 문구로 매핑(원시 카운트 비노출, 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.