JWT guard와 ownership 검증을 REST와 Gateway에서 공유한다.
기능 요구사항을 백엔드 책임과 검증 기준으로 나눈다
온라인 코드 에디터는 기능 목록보다 인증, 파일 관리, 실시간 협업, 운영 품질을 누가 책임지는지가 먼저 정리되어야 한다.
프로젝트, 폴더, 파일, 최근 수정 시각을 repository 계약으로 관리한다.
join_file, code_change, cursor_change를 room 단위로 분리한다.
Redis, 로그, health check, E2E 테스트가 운영 품질을 검증한다.
| 요구사항 | 구현 책임 | 빠지면 생기는 문제 | 잠글 테스트 |
|---|---|---|---|
| 회원 인증가입, 로그인, 프로필 | AuthService, JwtStrategy, AuthGuard | Gateway와 REST의 사용자 기준이 달라짐 | 토큰 발급, 만료, 보호 API 접근 |
| 파일 편집프로젝트와 파일 트리 | ProjectService, FileService, repository | 다른 사용자 파일 접근, 고아 파일 발생 | ownerId 필터와 삭제 트랜잭션 |
| 협업 세션코드와 커서 동기화 | Gateway room, Redis adapter | room 누락, 일부 사용자 메시지 유실 | 두 클라이언트 이벤트 수신 |
설계 포인트: 책임 경계를 먼저 잡으면 테이블, DTO, provider, 테스트 범위가 같은 방향으로 정렬된다.