Architecture Brief

요구사항은 모듈, API, 데이터, 테스트 계약으로 번역한다

온라인 코드 에디터 요구사항을 기능 목록으로만 두면 구현 중 빠진 경계가 생긴다. 각 요구사항을 설계 산출물로 연결해야 한다.

01사용자 행동

회원가입, 프로젝트 생성, 파일 편집, 협업 참여를 유스케이스로 분리한다.

02백엔드 경계

REST API, WebSocket 이벤트, provider 책임을 나눈다.

03데이터 구조

User, Project, File, Folder 관계와 소유권을 고정한다.

04검증 기준

권한, 입력 검증, 실패 응답, 성능 목표를 테스트 항목으로 둔다.

요구사항 설계 산출물 확인할 계약 테스트 신호
인증로그인, 현재 사용자 AuthModule, JWT strategy 토큰 발급, 만료, guard 적용 401/403 실패 케이스 포함
파일 관리프로젝트/폴더/파일 Project/File schema, REST route ownerId 기준 조회와 변경 다른 사용자 접근 차단
실시간 협업코드/커서 동기화 Gateway room, socket event join_file, code_change, ack room 단위 이벤트 수신

설계 기준: 요구사항 하나가 엔드포인트, 이벤트, 테이블, 테스트 중 어디에도 연결되지 않으면 구현 단계에서 누락될 가능성이 높다.