diff --git a/journey/plans/260323_23_24서버_NAS_공유편집_협업공간_구축_계획.md b/journey/plans/260323_23_24서버_NAS_공유편집_협업공간_구축_계획.md new file mode 100644 index 0000000..497c5c1 --- /dev/null +++ b/journey/plans/260323_23_24서버_NAS_공유편집_협업공간_구축_계획.md @@ -0,0 +1,69 @@ +--- +type: plans +tags: [plans, infrastructure, nas, collaboration, shared-editing, redis] +status: open +depends_on: +closing_criteria: 23·24서버 에이전트가 NAS 공유 폴더에서 충돌 없이 문서를 동시 작성·읽기 가능한 상태 +--- + +# 260323 23·24서버 NAS 공유 편집 협업 공간 구축 계획 + +## 목적 + +- 23·24서버 에이전트가 git pull/push 없이 문서를 공유·편집할 수 있는 협업 공간을 만든다. +- 단계적으로 확장: 폴더 공유 → 편집 알림 → 실시간 동기화. + +## 참조 문서 + +- [아이디어](../ideas/260323_23_24서버_NAS_공유편집_협업공간_아이디어.md) +- [리서치](../research/260323_에이전트간_실시간_공유편집_동시성제어_리서치.md) + +## 단계 + +### 0단계: NAS 공유 폴더 생성 (즉시) + +- `/mnt/nas/workspace/shared-editing/` 폴더 구조 생성 + - `drafts/` — 자유 작성·토의·임시 메모 + - `reviews/` — 상호 리뷰·코멘트 + - `archive/` — git 이관 완료 문서 보관 +- 충돌 방지 규칙 적용: 파일명 `[23]_`, `[24]_` 접두, 섹션 분리 +- 23·24 양쪽 접근 확인 + +### 1단계: Redis 편집 알림 (1일) + +- 23서버에 Redis 설치 (또는 기존 Redis 활용) +- 편집 시작/완료 이벤트를 Redis Pub/Sub으로 알림 +- 에이전트가 파일 편집 전 "누가 편집 중인지" 확인 가능 +- 파일 자체는 여전히 NAS + +### 2단계: Yjs 실시간 공동 편집 (후속) + +- Node.js 기반 Yjs WebSocket 서버 구축 +- MD 문서 실시간 동시 편집 (CRDT 기반) +- 편집 완료 시 NAS에 스냅샷 저장 +- 별도 서비스 개발 필요, 현재 범위 밖 + +## 실행 순서 + +``` +0단계 (폴더 생성 + 규칙) → 검증 → 1단계 (Redis 알림) → 검증 → 2단계 (Yjs, 후속) +``` + +## 0단계 작업 상세 + +| 작업 | 서버 | 내용 | +|------|------|------| +| 폴더 생성 | 23 또는 24 | `/mnt/nas/workspace/shared-editing/{drafts,reviews,archive}` | +| 접근 확인 | 23 + 24 | 양쪽에서 파일 쓰기/읽기 확인 | +| 규칙 문서 | DOCS | `shared-editing/README.md`에 사용 규칙 작성 | + +## 검증 기준 + +- 0단계: 23서버에서 쓴 파일을 24서버에서 즉시 읽을 수 있다 +- 0단계: 파일명 분리 규칙으로 동시 작성 시 덮어쓰기 없음 +- 1단계: Redis로 "편집 중" 상태를 상대 서버가 확인 가능 + +## 닫는 조건 + +- 0단계 + 1단계 완료 시 닫음 +- 2단계는 별도 계획으로 분리