Skip to content

Commit 231160a

Browse files
SOIVclaude
andcommitted
docs(roadmap): 문서 기반 누락 항목 로드맵 반영
문서에는 설계되어 있으나 로드맵에 빠진 항목 전수 추가: - Phase 2.x.3 Event Bus & Core Service Registry (모듈 간 통신 인프라) - Phase 2.x.4 Core Scheduler (Cron 배경 작업 엔진 — Subscription 선행) - Phase 2.x.5 통합 서비스 레이어 Google Calendar 우선 (Subscription 선행) - Phase 2.2 Subscription 선행 조건 명시 (환율·Event Bus·Scheduler·Google Calendar) - Phase 3.4 사용자 ID 시스템 (3계층 ID — 내부 UUID / 공개 핸들 / 사용자 코드) - Phase 4.3 자동 업데이트 Release/Beta/Alpha 3채널 정책 반영 - Phase 4.4 Server Console CLI (readline 기반 인터랙티브 콘솔) - Phase 5 모듈 재편: Tax Management / Planner / Video Downloader 추가 - Phase 5.1 Scheduler 항목을 코어 엔진이 아닌 관리 UI로 범위 명확화 - 마일스톤 2.x 완료 기준 업데이트 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 1d89605 commit 231160a

1 file changed

Lines changed: 158 additions & 34 deletions

File tree

docs/v2_FINANCIAL-LEDGER/roadmap/01-development-plan.md

Lines changed: 158 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -571,11 +571,14 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
571571
#### 2.2 Subscription Module (구독 관리)
572572
**예상 기간: 4주**
573573

574+
> **선행 완료 권장:** 2.1.5 환율 시스템 / 2.x.3 Event Bus / 2.x.4 Core Scheduler / 2.x.5 통합 서비스 레이어(Google Calendar)
575+
574576
**Backend:**
575-
- [ ] DB 스키마 설계 (설계 완료)
577+
- [ ] DB 스키마 설계 (설계 완료`modules/00-default-modules.md`)
576578
- [ ] API 엔드포인트 (설계 완료)
577-
- [ ] Google Calendar 연동 (설계 완료)
578-
- [ ] 알림 시스템 (Scheduler) (설계 완료)
579+
- [ ] Google Calendar 연동 (2.x.5 통합 레이어 활용)
580+
- [ ] 알림 시스템 (2.x.4 Scheduler 활용 — 매일 자정 결제일 체크)
581+
- [ ] Ledger 자동 연동 (2.x.3 Event Bus `subscription:payment` 이벤트 발행)
579582
- [ ] 테스트
580583

581584
**Frontend:**
@@ -656,7 +659,53 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
656659
- [x] 언어 설정 서버 저장: `PATCH /core/users/me/settings` 연동 (`users.language` 컬럼 + 로그인 후 로드)
657660
- [x] 모듈 템플릿에 `locales/` 디렉터리 및 샘플 번역 파일 추가 (`module-template/frontend/locales/ko.json` / `en.json`)
658661

659-
#### 2.x.3 마켓플레이스 Module Registry 구축
662+
#### 2.x.3 Event Bus & Core Service Registry
663+
**예상 기간: 3일**
664+
665+
> 모듈 간 직접 import 금지 원칙(CLAUDE.md 참고)을 지키면서 데이터를 주고받을 수 있는 인프라.
666+
> 설계는 `modules/03-system-design.md` 기준. Subscription → Ledger 자동 연동에 필수.
667+
668+
**Event Bus:**
669+
- [ ] `apps/api/src/event-bus.ts` — 발행(emit) / 구독(on) / 단발(once) 인터페이스 구현
670+
- [ ] 타입 안전한 이벤트 이름 + 페이로드 타입 정의 (`subscription:payment`, `ledger:created` 등)
671+
- [ ] 모듈 종료(shutdown) 시 리스너 자동 해제 지원
672+
673+
**Core Service Registry:**
674+
- [ ] `apps/api/src/service-registry.ts` — 모듈 서비스 인스턴스 중앙 등록소
675+
- [ ] `register(name, service)` / `getService(name)` 메서드
676+
- [ ] 모듈 로더와 연동 — 모듈 초기화 시 서비스 자동 등록, 언로드 시 해제
677+
678+
#### 2.x.4 Core Scheduler (Cron 기반 배경 작업)
679+
**예상 기간: 3일**
680+
681+
> 모듈이 주기적 작업을 등록할 수 있는 코어 인프라. 설계는 `technical/06-scheduler.md` 기준.
682+
> Subscription 결제일 자동 체크·Ledger 자동 기록에 필수.
683+
> Phase 5.1의 "Scheduler 관리 UI"와는 별개 — 여기서는 엔진(실행기)만 구현.
684+
685+
- [ ] `apps/api/src/plugins/scheduler/index.ts` — Scheduler 싱글턴 엔진 (`node-cron` 또는 `cron` 패키지)
686+
- [ ] `register(taskName, cronExpr, handler, opts?)` / `unregister(taskName)` / `runNow(taskName)` / `toggle(taskName, enabled)` 메서드
687+
- [ ] 중복 실행 방지 (`runningTasks` Set)
688+
- [ ] 실행 로그 DB 저장 (`scheduler_logs` 테이블 — `taskName`, `executedAt`, `success`, `duration`, `error`)
689+
- [ ] 재시도 정책 (`retries`, `retryDelay`)
690+
- [ ] 서버 부트스트랩 시 자동 시작, graceful shutdown 시 전체 중지
691+
- [ ] 타임존 지원 (기본: `Asia/Seoul`)
692+
693+
#### 2.x.5 통합 서비스 레이어 (Google Calendar 우선)
694+
**예상 기간: 1주**
695+
696+
> 외부 서비스 연동을 위한 추상화 레이어. 설계는 `modules/02-integrations.md` 기준.
697+
> 1순위: Google Calendar (Subscription 결제일 이벤트 자동 등록에 필요).
698+
> 이후 Google Drive, Gmail, Microsoft Calendar 등 순차 확장.
699+
700+
- [ ] `packages/core/src/integrations/base.ts``Integration` 인터페이스 + `BaseIntegration` 추상 클래스
701+
- [ ] `packages/core/src/integrations/security.ts` — OAuth 토큰 AES-256 암호화 저장
702+
- [ ] `packages/core/src/integrations/google/calendar.ts` — Google Calendar API 클라이언트
703+
- 이벤트 생성 / 수정 / 삭제
704+
- OAuth 2.0 인증 흐름 (Google Cloud Console 앱 등록 전제)
705+
- [ ] Admin 설정 화면에 Google 연동 섹션 추가 (연동하기 버튼 → OAuth 팝업 → 상태 표시)
706+
- [ ] `integrations` DB 테이블 — 서비스명·암호화 토큰·만료일 저장
707+
708+
#### 2.x.6 마켓플레이스 Module Registry 구축
660709
**예상 기간: 2주**
661710

662711
> Phase 3 마켓플레이스 웹사이트 개발의 선행 인프라.
@@ -677,7 +726,8 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
677726
### 마일스톤 2.x 완료 기준
678727
- ✅ SMTP 연동 및 이메일 발송 작동
679728
- ✅ 한국어/영어 전환 실제 동작, 모듈별 번역 파일 로드
680-
- ✅ 마켓플레이스 Registry GitHub 저장소 공개 및 제출 프로세스 문서화
729+
- ✅ Event Bus / Core Scheduler / 통합 서비스 레이어 구현 완료 (Subscription 착수 가능 상태)
730+
- ✅ 마켓플레이스 Registry 제출 프로세스 설계 완료
681731

682732
---
683733

@@ -732,6 +782,22 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
732782
- [ ] 인기 모듈 랭킹
733783
- [ ] 대시보드 차트
734784

785+
#### 3.4 사용자 ID 시스템 (공개 핸들)
786+
**예상 기간: 1주**
787+
788+
> 마켓플레이스 모듈 제작자 프로필·커뮤니티 멘션에 필요. 설계: `docs/local/user-id-system-design.md`.
789+
790+
**3계층 ID 구조:**
791+
- 내부 ID: UUID (기존 DB PK 그대로 유지)
792+
- 공개 핸들: `@username` 형식 — 사용자 변경 가능, 시스템 내 고유
793+
- 사용자 코드: 20자 영숫자 — 생성 시 고정, 핸들 변경 후 계정 확인용
794+
795+
**주요 작업:**
796+
- [ ] `users` 테이블에 `handle`·`user_code` 컬럼 추가
797+
- [ ] 핸들 변경 API (`PATCH /core/users/me/handle`) — 중복 검사 + 변경 이력 저장
798+
- [ ] 사용자 코드 자동 생성 (가입 시, 혼동 문자 제외)
799+
- [ ] 프로필 페이지 URL 라우팅 (`/u/:handle`)
800+
735801
### 마일스톤 3 완료 기준
736802
- ✅ 공식 웹사이트 오픈
737803
- ✅ 마켓플레이스 작동
@@ -858,15 +924,32 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
858924
#### 4.3 자동 업데이트 시스템
859925
**예상 기간: 2주**
860926

861-
- [ ] 업데이트 체커 (Scheduler)
862-
- [ ] 시간대 지정
863-
- [ ] 활성 사용자 확인
864-
- [ ] 백업 자동 생성
865-
- [ ] 유지보수 모드
866-
- [ ] 롤백 기능
867-
- [ ] 알림 시스템
927+
> 상세 설계: `deployment/04-updates.md`, `deployment/05-update-channels.md`
928+
929+
**업데이트 채널 (3단계):**
930+
- Release (안정): 충분히 검증된 버전 — 일반 사용자 권장
931+
- Beta: 신규 기능 얼리 액세스 — 일부 버그 가능성 인지 필요
932+
- Alpha: 개발 중 최신본 — 테스터·기여자 대상
868933

869-
#### 4.4 배포 템플릿
934+
**주요 작업:**
935+
- [ ] 업데이트 체커 (Scheduler 기반 — 사용자 지정 주기)
936+
- [ ] 채널 선택 UI (Admin 설정 — Release / Beta / Alpha)
937+
- [ ] 활성 사용자 확인 후 유지보수 모드 전환
938+
- [ ] 백업 자동 생성 (업데이트 전)
939+
- [ ] 롤백 기능 (이전 버전으로 복원)
940+
- [ ] 업데이트 알림 (앱 내 배너)
941+
942+
#### 4.4 Server Console CLI
943+
**예상 기간: 3일**
944+
945+
> 서버 실행 중 터미널에서 명령어를 입력해 제어하는 인터랙티브 CLI. 설계: `docs/local/fieldstack-cli-spec.md`.
946+
> Minecraft 서버 콘솔 방식 — Node.js `readline`으로 `process.stdin`을 비동기 읽기, Express와 충돌 없음.
947+
948+
- [ ] `packages/cli/src/index.ts` — readline 기반 CLI 루프
949+
- [ ] 기본 명령어: `status`, `reload`, `shutdown`, `users list`, `modules list`, `scheduler list`
950+
- [ ] 서버 엔트리(`apps/api/src/index.ts`)에서 CLI 자동 실행
951+
952+
#### 4.5 배포 템플릿
870953
**예상 기간: 1주**
871954

872955
- [ ] Docker Compose 최적화
@@ -889,53 +972,94 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
889972

890973
### 주요 작업
891974

892-
#### 5.1 Scheduler Plugin
893-
**예상 기간: 2주**
975+
#### 5.1 Scheduler 관리 UI
976+
**예상 기간: 1주**
977+
978+
> 코어 엔진은 Phase 2.x.4에서 구현. 여기서는 관리자/사용자가 등록된 작업을 제어하는 UI.
894979
895-
- [ ] Cron 표현식 지원
896-
- [ ] 작업 등록/관리
897-
- [ ] 실행 로그
898-
- [ ] 웹 UI 관리 페이지
980+
- [ ] Admin 패널 "스케줄러" 섹션 — 등록된 작업 목록 조회
981+
- [ ] 작업 활성화/비활성화 토글
982+
- [ ] 다음 실행 시간 표시
983+
- [ ] 수동 실행 트리거 버튼
984+
- [ ] 실행 히스토리(로그) 조회
899985

900-
#### 5.2 TODO Module
986+
#### 5.2 Tax Management Module (세무 관리)
987+
**예상 기간: 4주**
988+
989+
> 사업자·프리랜서·크리에이터 대상 세무 신고 보조 모듈. 설계는 `modules/04-tax-management.md`.
990+
> **착수 조건:** 세무사 자문 완료 후 (`docs/local/tax_Q-a-A.md` 미결 항목 해소 필요).
991+
992+
- [ ] 증빙 분류 (세금계산서 / 현금영수증 / 카드 / 기타)
993+
- [ ] 원천세 대상 거래 태깅 (3.3% 원천징수)
994+
- [ ] 부가세 신고용 데이터 집계 (과세/면세/영세율 구분)
995+
- [ ] 크리에이터 특화 항목 (플랫폼 수익 종류별 분류)
996+
- [ ] Ledger 모듈 연동 (세무 메타데이터 컬럼 확장 — Event Bus 경유)
997+
998+
#### 5.3 TODO Module
901999
**예상 기간: 3주**
9021000

1001+
> 설계 초안: `docs/_modules_for-future/01-todo-scheduler.md`
1002+
9031003
- [ ] 할 일 생성/관리
904-
- [ ] 우선순위
905-
- [ ] 마감일
1004+
- [ ] 우선순위 / 마감일
9061005
- [ ] 카테고리/태그
9071006
- [ ] 완료 통계
9081007

909-
#### 5.3 Project Module
1008+
#### 5.4 Project Module (프로젝트·외주 관리)
9101009
**예상 기간: 4주**
9111010

1011+
> 설계 초안: `docs/_modules_for-future/02-project-outsource.md` (Gmail / 위드싸인 연동 포함)
1012+
9121013
- [ ] 프로젝트 생성/관리
913-
- [ ] 외주 정보 기록
914-
- [ ] 일정 관리
915-
- [ ] 예산/정산
916-
- [ ] 클라이언트 관리
1014+
- [ ] 외주 정보 기록 (클라이언트, 계약 금액, 정산 일정)
1015+
- [ ] 예산/정산 관리
1016+
- [ ] 계약서 관리 (위드싸인 연동 검토)
1017+
1018+
#### 5.5 Planner Module
1019+
**예상 기간: 3주**
9171020

918-
#### 5.4 AI 요약 자동화
1021+
> 설계 초안: `docs/_modules_for-future/03-planner.md` (여행 계획 등 목적 특화 계획 관리)
1022+
1023+
- [ ] 계획 생성/관리 (여행, 이벤트, 프로젝트 등)
1024+
- [ ] 일정 타임라인 뷰
1025+
- [ ] 체크리스트
1026+
1027+
#### 5.6 Video Downloader Module
9191028
**예상 기간: 2주**
9201029

1030+
> 설계 초안: `docs/_modules_for-future/04-video-downloader.md` (yt-dlp / Streamlink 기반)
1031+
1032+
- [ ] URL 입력 → yt-dlp 다운로드 실행
1033+
- [ ] 다운로드 큐 관리 및 진행 상태 표시
1034+
- [ ] 파일 포맷/품질 선택
1035+
1036+
#### 5.7 AI 요약 자동화
1037+
**예상 기간: 2주**
1038+
1039+
> AI 정책 및 아키텍처: `technical/08-ai-integration.md`
1040+
9211041
- [ ] 월간 가계부 요약
9221042
- [ ] 지출 패턴 분석
9231043
- [ ] 구독 최적화 제안
9241044
- [ ] 프로젝트 리포트
9251045

926-
#### 5.5 통합 서비스 확장
1046+
#### 5.8 통합 서비스 확장
9271047
**예상 기간: 2주**
9281048

1049+
> 2.x.5에서 Google Calendar 레이어 구축 후 순차 확장.
1050+
1051+
- [ ] Google Drive 자동 백업
1052+
- [ ] Gmail 연동
1053+
- [ ] Microsoft Calendar / OneDrive
9291054
- [ ] Notion 연동
9301055
- [ ] Slack 연동
931-
- [ ] GitHub 연동
9321056
- [ ] 커스텀 Webhook
9331057

9341058
### 마일스톤 5 완료 기준
935-
- ✅ 5개 이상 공식 모듈
936-
- ✅ AI 자동화 작동
937-
-다양한 통합 서비스
938-
-완성도 높은 생태계
1059+
- ✅ 5개 이상 공식 모듈 (Tax / TODO / Project / Planner / Video Downloader 포함)
1060+
- ✅ AI 요약 자동화 작동
1061+
-Google Drive, Gmail, Notion, Slack 등 통합 서비스 2개 이상 실제 연동
1062+
-Scheduler 관리 UI 완성
9391063

9401064
---
9411065

0 commit comments

Comments
 (0)