Final Project Blueprint

요구사항 책임 분해

최종 프로젝트는 기능 목록을 그대로 코드로 옮기기보다 인증, 프로젝트, 협업, 이벤트, 운영 책임으로 나눌 때 확장하기 쉽다.

Auth

JWT / Guard

로그인, 토큰 갱신, 역할 확인을 담당하고 REST와 Gateway가 같은 사용자 컨텍스트를 공유한다.

Project

파일 메타데이터

프로젝트, 파일, 권한, 최근 수정 시각을 PostgreSQL 테이블과 repository로 관리한다.

Collaboration

WebSocket Gateway

협업 이벤트와 권한을 함께 처리한다.

Redis

세션과 이벤트

presence, Pub/Sub, rate limit을 맡는다.

Ops

CI / Logging

테스트, lint, migration, structured log, 헬스 체크로 배포 품질을 검증한다.

기능 요구사항 사용자 인증, 프로젝트 생성, 파일 편집, 실시간 협업
모듈 책임 AuthModule, ProjectModule, FileModule, CollaborationModule
최종 산출물 검증 E2E 테스트에서 권한, 데이터 저장, room 이벤트 수신을 함께 확인
비기능 요구사항 확장성, 장애 추적, 보안, 배포 자동화
인프라 책임 Redis adapter, ConfigModule, Logger, CI pipeline, migration
배포 신호 점검 reconnect rate, error code, migration status, health endpoint를 배포 전 확인

권장 순서

안전한 저장 구조와 실시간 기능

1schema, migration, repository 계약 정의
2Auth guard와 project membership 검증
3REST API와 service 단위 테스트 고정
4Gateway room, Redis adapter, 배포 관측성 연결