수업노트 PRD¶
수업노트(StudyNote)는 스터디룸 안에서 교사가 수업 내용을 기록하고 학생·보호자와 나누는 글이다. 작성·조회·수정·삭제라는 기본 흐름이 전부지만, 이게 스터디룸을 채우는 핵심 콘텐츠라 MS1(MVP-A)부터 들어갔다. 구현 레벨 명세는 frd를 따른다.
목표 & 성공 기준 (지표)¶
- 문제: 선생님이 수업에서 다룬 내용을 학생·학부모와 구조적으로 공유·누적할 공간이 없다. 학생은 복습 자료가, 학부모는 학습 현황 가시성이 부족하다.
- 목표: 수업노트로 선생님 과외 포트폴리오·브랜드, 학생 반복 학습, 학부모 자녀 현황 가치 제공.
- 성공지표: 교사 노트 작성 횟수·주기(브랜드 강화), 학생 노트 조회·재방문율, 노트 기반 질문 전환율. (KR: 실사용자 사용률.) 트래킹 이벤트 정의는 frd.
대상 페르소나¶
- 선생님(작성·관리), 학생(조회·복습·질문), 학부모(연결 학생 종속·
isGuardianVisible허용 노트 조회).
범위 (포함 / 제외)¶
- In: 작성·조회(목록/상세)·수정·삭제(Soft Delete), 그룹화, 권한×공개범위 매트릭스.
- Out(Spec-Out): 예약 게시, 템플릿, 임시/자동저장, 에디터 고급(헤딩·링크·이미지·표·수식·멘션), 첨부 업로드, 외부 공유 링크, 좋아요/댓글, 조회수 노출, 버전 히스토리 UI, Export, 열람자 통계.
요구사항 (유저 스토리 · 기능)¶
- 교사가 노트 작성(제목·본문·공개범위·대상학생·보호자공개) → 학생/보호자에게 노출.
- 학생이 목록·상세 조회로 복습, 질문하기로 QnA 연계.
- 보호자가
isGuardianVisible허용 노트로 자녀 학습 현황 확인. -
교사가 노트를 그룹으로 묶어 정리(모의고사·내신대비 등 후속 태그 확장 예정).
-
교사 CRUD 전부 O, 학생/보호자/전체 = 조회만(교사가 visibility로 권한 부여). 학부모는 연결 학생에 종속.
- 구성요소( 필수): 제목(30~80자), 날짜(default 작성일), 본문(3,000자·TipTap), 공개범위*, 조회수(게시글당 뷰카운트, 가능 시 동일 IP 1일 1회). 동적 항목: 수정 시 참조된 항목 일괄 업데이트.
- 공개범위(기획 4종 + 세부): 나만보기 / 특정 학생(default) — '대상 학생 선택' flow, default 대상=스터디룸 학생·max 100명(추후 BM max 30명 후 결제 확장), 학생만 / 학생+보호자(default) / 스터디룸 공개("나중에 추가되는 학생도 볼 수 있어요", 학생만 / 학생+보호자 default) / 전체(비회원, 룸 비공개면 선택 불가). 보호자 열람은
isGuardianVisible토글. 도메인 6단계 enum 매핑은 teaching-note. - 에디터: TipTap bold/italic/strike/ul/ol만(헤딩/링크/이미지/첨부 Spec-Out).
- 그룹화: 그룹명(필수 1~15자), 소속 스터디룸 필수, 그룹:노트=1:N, 생성 시 최소 1개 로그 선택, 그룹명 수정 시 참조 갱신, 그룹 해제해도 노트 보존, 개수 제한 없음.
- 제한: 사용자당 5,000개·룸당 1,000개. 회원 탈퇴 시 자동 삭제 안 됨.
- 리스트: 검색(제목·작성자 이름·내용은 추후) / 정렬(최신 default·오래된·가나다(제목)·조회수).
근거¶
- MVP-A FDD(FE/UX·A11y·트래킹 본체) · 2차 스프린트 FRD(정책·구성요소·접근권한 본체)에서 정리.
오픈 이슈¶
- 제목 길이 문서 간 상이(FRD 30자 vs FDD
maxlength=80) — 확정 필요. - 조회수 중복 방지(동일 IP 1일 1회) 구현 비용(3일+) 대비 단순 카운트 여부.
- 팔로우업: 특정 학생 읽음 확인, 노트별 숙제 기능, 작성 횟수 기반 브랜드 지표, 그룹화→수업노트 태그 기능([모의고사][내신대비], 250702 PD-BE 회의 논의).