회원가입, 프로젝트 생성, 파일 편집, 협업 참여를 유스케이스로 분리한다.
요구사항은 모듈, API, 데이터, 테스트 계약으로 번역한다
온라인 코드 에디터 요구사항을 기능 목록으로만 두면 구현 중 빠진 경계가 생긴다. 각 요구사항을 설계 산출물로 연결해야 한다.
REST API, WebSocket 이벤트, provider 책임을 나눈다.
User, Project, File, Folder 관계와 소유권을 고정한다.
권한, 입력 검증, 실패 응답, 성능 목표를 테스트 항목으로 둔다.
| 요구사항 | 설계 산출물 | 확인할 계약 | 테스트 신호 |
|---|---|---|---|
| 인증로그인, 현재 사용자 | AuthModule, JWT strategy | 토큰 발급, 만료, guard 적용 | 401/403 실패 케이스 포함 |
| 파일 관리프로젝트/폴더/파일 | Project/File schema, REST route | ownerId 기준 조회와 변경 | 다른 사용자 접근 차단 |
| 실시간 협업코드/커서 동기화 | Gateway room, socket event | join_file, code_change, ack | room 단위 이벤트 수신 |
설계 기준: 요구사항 하나가 엔드포인트, 이벤트, 테이블, 테스트 중 어디에도 연결되지 않으면 구현 단계에서 누락될 가능성이 높다.