크라우니 통합 스케줄 생태계 구축
개요
1인 중심 크라우니 생태계 전체의 일정을 통합하는 5단계 작업 완료.
구현 결과
1. auth.crowny.org:9401 — Org/Membership 스키마
orgs.json, memberships.json 추가
- Org 모델: team/org/family/church 유형
- N:M 멤버십: owner/admin/member/viewer 역할
- API: /api/orgs CRUD, /api/orgs/:id/members CRUD, /api/me/orgs, /api/accounts/:id/orgs
2. schedule.crowny.org:9402 — 통합 일정 서비스 (신규)
- Event 모델: 개인/팀/공개 가시성, sourceService 태그, sourceRef 원본 링크
- 반복 일정: daily/weekly/monthly/yearly + byDay + until/count
- 기간 조회, 오늘 요약, sourceService 필터
- WS 인증 + 실시간 일정 변경 브로드캐스트
- Webhook API: X-Service-Key 인증, 생성/갱신/검색
- 정적 파일 서빙 (통합 캘린더 UI)
3. project.crowny.org:9730 → schedule 연동
- logActivity()에 projectToSchedule() 통합
- toau 전이, 담당자 지정, 프로젝트 생성 → schedule 자동 emit
- emitScheduleEvent() — http.request로 webhook 호출
4. focus.crowny.org:9810 → schedule 연동
- 작업 생성(기한 있을 때) → 기한 일정 emit
- 포커스 세션 시작 → 세션 일정 emit (시작~목표 시간)
- 작업 완료 → 완료 이벤트 emit
5. mind.crowny.org:7750 → schedule 연동
6. 통합 캘린더 UI (schedule.crowny.org:9402)
- 오늘 뷰: 당일 일정 카드 형태
- 월간 뷰: 달력 그리드 + 이벤트 미리보기
- 목록 뷰: 날짜별 그룹화
- 서비스 필터: project/focus/mind/수동 토글
- 새 일정 생성 모달
- WS 실시간 갱신
아키텍처
auth.crowny.org:9401 (SSO + Org/Membership)
|
schedule.crowny.org:9402 (통합 일정 허브)
|
+----+----+----+
| | | |
project focus mind ...39개 서비스
:9730 :9810 :7750
파일 위치
/Users/ef/crowny-data/auth/auth-server.js — Org/Membership 추가 (477→550줄)
/Users/ef/crowny-schedule/server.js — 신규 서비스 (490줄)
/Users/ef/crowny-schedule/public/index.html — 통합 캘린더 UI
/Users/ef/crowny-project/server.js — emitScheduleEvent + projectToSchedule 추가
/Users/ef/crowny-focus/server.js — emitSchedule 3곳 추가
/Users/ef/crowny-mind/server.js — emitSchedule 1곳 추가
잔여
- 나머지 36개 서비스 순차 연동
- 반복 일정 UI 생성/수정
- 모바일 반응형
- push 알림 (리마인더)
- iCal 표준 내보내기/가져오기