Design Trace

요구사항 구현 연결

온라인 코드 에디터는 기능 목록, 비기능 목표, 데이터 구조, REST API, WebSocket 이벤트가 서로 추적 가능해야 한다.

requirements

요구사항

사용자, 프로젝트, 파일, 협업 기능을 명확히 나누고 100ms, 500ms 같은 품질 목표를 수치로 둔다.

modules

도메인 모듈

Auth, Users, Projects, Files, Collaboration을 모듈형 모놀리식 경계로 시작한다.

rest

HTTP 계약

/projects와 파일 경로 API는 소유권 검사, 입력 검증, 에러 응답까지 포함해야 한다.

socket

실시간 협업

join_file, code_change, cursor_change는 파일 단위 세션으로 묶는다.

data

데이터 모델

PostgreSQL은 영속 데이터를 맡고 Redis는 세션, 임시 편집 상태, Socket.IO 전파 보조에 둔다.

delivery

배포와 관측

Docker, 관리형 DB, 정적 프론트 배포, CI/CD, 로그와 메트릭을 같은 설계 표에 연결한다.