@@ -572,17 +572,44 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
572572- [ ] 월간/연간 구독료 계산
573573- [ ] Ledger Module (가계부) 연동
574574
575- #### 2.3 SMTP 연동
575+ #### 2.3 통합 및 테스트
576576** 예상 기간: 1주**
577577
578+ - [ ] Ledger ↔ Subscription 연동
579+ - 결제일에 자동으로 가계부 기록
580+ - [ ] E2E 테스트
581+ - [ ] 성능 테스트
582+ - [ ] 사용자 테스트
583+
584+ ### 마일스톤 2 완료 기준
585+ - ✅ 가계부 모듈 완전 작동
586+ - ✅ 구독 관리 모듈 완전 작동
587+ - ✅ 두 모듈 연동
588+ - ✅ 사용 가능한 MVP
589+
590+ ---
591+
592+ ## Phase 2.x: 코어 시스템 보완
593+
594+ > ** Phase 2와 병행 또는 직후 완료 권장.**
595+ > 모듈 개발(2.1 Ledger / 2.2 Subscription)과 성격이 다른 코어 인프라·시스템 항목을 별도로 분리.
596+ > 이 항목들은 특정 모듈의 기능이 아니라 앱 전체에 영향을 주는 시스템 레이어다.
597+
598+ ### 주요 작업
599+
600+ #### 2.x.1 SMTP 연동
601+ ** 예상 기간: 1주**
602+
603+ > Phase 1.9.3에서 비밀번호 복구 API를 구현할 때 "관리자 수동 토큰 경로"로 우선 완성하고 이메일 발송은 여기서 실제 연동.
604+
578605- [ ] Admin 설정 화면에 SMTP 입력 항목 구현 (호스트, 포트, 보안, 사용자명, 비밀번호, 발신자)
579606- [ ] SMTP 비밀번호 암호화 저장 (AES-256)
580607- [ ] 테스트 이메일 발송 기능
581608- [ ] 비밀번호 복구 이메일 실제 발송 연동
582609- [ ] 신규 유저 임시 비밀번호 자동 발송 (SMTP 설정 완료 시)
583610- [ ] SMTP 미설정 시 관리자 수동 발급 안내 UX
584611
585- #### 2.4 i18n 국제화 시스템
612+ #### 2.x.2 i18n 국제화 시스템
586613** 예상 기간: 1주**
587614
588615> 초기 지원 언어: 한국어(ko) · 영어(en). 번역 파일 추가만으로 언어를 확장할 수 있는 구조로 설계.
@@ -608,21 +635,28 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
608635- [ ] Ledger 모듈 번역 파일 작성 (` modules/ledger/frontend/locales/ko.json ` / ` en.json ` )
609636- [ ] 모듈 템플릿에 ` locales/ ` 디렉터리 및 샘플 번역 파일 추가
610637
611- #### 2.5 통합 및 테스트
612- ** 예상 기간: 1주 **
638+ #### 2.x.3 마켓플레이스 Module Registry 구축
639+ ** 예상 기간: 2주 **
613640
614- - [ ] Ledger ↔ Subscription 연동
615- - 결제일에 자동으로 가계부 기록
616- - [ ] E2E 테스트
617- - [ ] 성능 테스트
618- - [ ] 사용자 테스트
641+ > Phase 3 마켓플레이스 웹사이트 개발의 선행 인프라.
642+ > GitHub 저장소 기반이 아닌 자체 웹사이트 내 처리 방식으로 구축한다.
643+ > 레지스트리 스키마는 기존 ` module.json ` 매니페스트(` ModuleManifest ` )를 기반으로 마켓플레이스 전용 필드만 추가한다.
619644
620- ### 마일스톤 2 완료 기준
621- - ✅ 가계부 모듈 완전 작동
622- - ✅ 구독 관리 모듈 완전 작동
623- - ✅ 두 모듈 연동
645+ ** 스키마 확장 (module.json → registry entry):**
646+ - ` ModuleManifest ` 기반 + ` author ` , ` tags ` , ` icon ` , ` repository ` , ` license ` , ` downloads ` , ` publishedAt ` 추가
647+ - [x] 기반 스키마 (` name ` , ` version ` , ` displayName ` , ` description ` , ` dependencies ` , ` routes ` ) — 기존 매니페스트로 확정
648+
649+ ** 주요 작업:**
650+ - [ ] 레지스트리 전용 확장 필드 타입 정의 (` RegistryEntry ` — ` ModuleManifest ` 상속)
651+ - [ ] 모듈 제출 API 설계 (마켓플레이스 서버 — Cloudflare Workers)
652+ - [ ] 서버 측 검증 파이프라인 (스키마 검사, 의존성 충돌, 악성 코드 패턴)
653+ - [ ] 관리자 심사 UI (제출 목록, 승인/거절, 스캔 결과 표시)
654+ - [ ] ` ModuleManifest ` 타입에 누락 필드 보완 (` displayName ` , ` description ` , ` fileHandlers ` )
655+
656+ ### 마일스톤 2.x 완료 기준
624657- ✅ SMTP 연동 및 이메일 발송 작동
625- - ✅ 사용 가능한 MVP
658+ - ✅ 한국어/영어 전환 실제 동작, 모듈별 번역 파일 로드
659+ - ✅ 마켓플레이스 Registry GitHub 저장소 공개 및 제출 프로세스 문서화
626660
627661---
628662
@@ -633,16 +667,7 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
633667
634668### 주요 작업
635669
636- #### 3.1 Module Registry 구축
637- ** 예상 기간: 2주**
638-
639- - [ ] GitHub 저장소 생성
640- - [ ] modules.json 스키마 정의
641- - [ ] 제출 프로세스 설계
642- - [ ] 자동 검증 (GitHub Actions)
643- - [ ] 보안 스캔 시스템
644-
645- #### 3.2 공식 웹사이트 개발
670+ #### 3.1 공식 웹사이트 개발
646671** 예상 기간: 4주**
647672
648673** 기술 스택:**
@@ -662,7 +687,7 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
662687- [ ] 블로그
663688- [ ] 커뮤니티
664689
665- #### 3.3 앱 내 Module Manager
690+ #### 3.2 앱 내 Module Manager
666691** 예상 기간: 3주**
667692
668693** Backend:**
@@ -678,7 +703,7 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
678703- [ ] 업데이트 확인
679704- [ ] 모듈 ON/OFF 토글
680705
681- #### 3.4 통계 수집 시스템
706+ #### 3.3 통계 수집 시스템
682707** 예상 기간: 1주**
683708
684709- [ ] Cloudflare Workers + KV
0 commit comments