Phase 3 Execution Plan
Last updated: 2026-04-10
목적:
Phase 3: Publisher Portal설계를 실제 출시 가능한 작업 순서로 변환한다. 이 문서는 설계 원문인docs/phase3-publisher-portal.md를 대체하지 않고, 구현 우선순위와 운영 결정을 정리하는 실행 문서다.
1. 현재 기준선
완료된 것
-
membloc-app-engine- Publisher Portal용 DB 마이그레이션 초안 추가
migrations/006_publisher_portal.up.sqlmigrations/006_publisher_portal.down.sql
- Publisher API MVP 추가
POST /api/publisher/registerGET /api/publisher/profilePUT /api/publisher/profileGET /api/publisher/modulesPOST /api/publisher/modulesGET /api/publisher/modules/:keyPUT /api/publisher/modules/:keyPOST /api/publisher/modules/:key/submit
- Admin review queue MVP 추가
GET /api/admin/publishers/pendingPOST /api/admin/publishers/:id/approvePOST /api/admin/publishers/:id/rejectGET /api/admin/modules/pending
- Go 테스트 통과
- Publisher Portal용 DB 마이그레이션 초안 추가
-
membloc-developer-portal- Next.js App Router 프로젝트 생성 완료
- Firebase 세션 + 수동 토큰 fallback 셸 추가
- MVP 화면 추가
//login/register/dashboard/modules/modules/new/modules/[key]/admin/reviews
npm run lint,npm run build통과
아직 비어 있는 것
- 실제 Firebase 웹 설정값 연결
- 엔진 DB에
006_publisher_portal마이그레이션 적용 - 파일 업로드 플로우
- 아이콘
- 스크린샷
- API 키 관리 UI/API
- Webhook CRUD, dispatcher, delivery log UI
- Analytics 집계 및 차트
- 문서 사이트
- 실배포 환경
- 도메인 연결
2. 이번 Phase 3의 목표
이번 단계의 목표는 “퍼블리셔가 등록하고, 초안을 만들고, Membloc 팀이 심사해서 승인하는 첫 번째 운영 루프”를 닫는 것이다.
이번 MVP에서 반드시 되는 것:
- 퍼블리셔 등록 신청
- admin 승인/반려
- 승인된 퍼블리셔의 모듈 draft 생성
- draft 수정
- review 제출
- admin review queue에서 승인/반려
이번 MVP에서 의도적으로 뒤로 미루는 것:
- 완전한 analytics
- webhook delivery 재시도 운영
- API key rotation UI
- 버전 히스토리 고도화
- 스토리지 업로드 최적화
- 외부 문서 사이트 정식 공개
3. 운영 가정
도메인 가정
사용자가 membloc.com을 확보한 상태이므로, 현재 실행 가정은 아래와 같다.
- 메인 제품/랜딩:
membloc.com - 퍼블리셔 포털:
developer.membloc.com - 향후 문서 사이트:
docs.membloc.com
주의:
- 서비스 브랜드는
Membloc을 사용한다. - 도메인과 조직 식별자는 현재
membloc.com/membloclabs를 사용한다. - 기존 설계 문서에는
developer.membloc.com가 등장하지만, 현재 실행 기준은developer.membloc.com이다.
배포 가정
membloc-app-engine: API 백엔드membloc-developer-portal: Vercel 배포- Auth: Firebase Auth
- Primary DB: PostgreSQL
4. 실행 단계
Phase 3A. Environment Bring-up
목표: 로컬 MVP를 실제 테스트 가능한 상태로 올린다.
작업:
membloc-app-engine에006_publisher_portal마이그레이션 적용membloc-developer-portal에 Firebase Web config 입력NEXT_PUBLIC_HOMB_ENGINE_URL설정- 로컬 end-to-end 확인
- 로그인
- 퍼블리셔 등록
- admin 승인
- 모듈 생성
- review 제출
- admin 승인
완료 기준:
- 로컬에서 퍼블리셔 등록부터 모듈 승인까지 한 번 성공
Phase 3B. MVP Hardening
목표: 운영 전에 바로 막힐 부분을 보강한다.
작업:
- Publisher registration validation 강화
- 이름
- 이메일
- URL 형식
- Admin reject reason 필수화
- module submit validation 강화
webview면entry_url필수- 최소 메타데이터 존재 여부 확인
- error response 형식 통일
- 엔진 audit log 항목 정리
- portal empty state / error state / loading state 점검
완료 기준:
- 잘못된 입력에 대해 backend와 portal이 일관되게 실패
- admin 액션 로그가 남음
Phase 3C. Assets + Review Readiness
목표: 실제 심사가 가능한 수준의 메타데이터를 받는다.
작업:
- 아이콘 업로드 플로우
- 스크린샷 업로드 플로우
- privacy policy URL, support URL 필드 추가
- module detail에 review metadata 표시
- admin review 화면에 핵심 심사 정보 노출
완료 기준:
- review queue에서 모듈 메타데이터만으로 1차 심사 가능
Phase 3D. Launch Candidate
목표: 실제 퍼블리셔 1~2곳으로 dogfooding 가능한 상태로 올린다.
작업:
developer.membloc.com배포- staging/prod 환경 분리
- 초대할 퍼블리셔 후보 선정
- 운영용 심사 체크리스트 문서화
- 장애 대응 규칙 정리
완료 기준:
- 내부가 아닌 외부 계정으로 첫 등록/승인/게시 테스트 통과
5. 저장소별 작업 목록
membloc-app-engine
이미 들어간 것
- Publisher repository/service/handler 추가
- Publisher auth middleware 추가
- Admin pending queue 확장
다음 우선순위
- 마이그레이션 실제 적용과 검증
- reject reason / validation 강화
- upload metadata 컬럼 확장
- webhook/API key/analytics 순차 구현
보류 항목
- webhook dispatcher retry worker
- analytics aggregation scheduler
- module version review 고도화
membloc-developer-portal
이미 들어간 것
- auth shell
- registration/profile
- modules CRUD draft flow
- admin reviews page
다음 우선순위
- Firebase 실연결
- 보호 라우팅 정리
- form validation UX 강화
- assets upload UI
- deploy config + environment setup
보류 항목
- full analytics dashboard
- webhook management UI
- API key management UI
- docs embed
6. 도메인 및 배포 계획
DNS 제안
membloc.com- 제품 랜딩 또는 메인 소개 페이지
developer.membloc.com- publisher portal
docs.membloc.com- SDK / integration docs
첫 배포 순서
membloc-developer-portal를 Vercel에 연결- preview 배포로 Firebase 로그인 검증
developer.membloc.com연결- CORS / Firebase authorized domain 반영
- QA 후 production 승격
체크 포인트
- Firebase Authorized Domains에 배포 도메인 추가 필요
- backend CORS에 portal 도메인 반영 필요
- portal과 engine의 environment URL mismatch 방지 필요
7. 리스크
제품 리스크
membloc도메인과homb제품명이 혼재되어 브랜딩이 어색해질 수 있음- 퍼블리셔 관점에서 review rejection 기준이 아직 문서보다 UI가 약함
기술 리스크
- Firebase auth claim과 backend user bootstrap 흐름이 환경별로 다르게 보일 수 있음
- migration 적용 전 기존
publishers/modules상태 제약과 충돌 가능성 있음 - portal은 현재 static build 기준이라 runtime env 관리 실수 시 잘못된 API URL로 고정될 수 있음
운영 리스크
- admin 계정 role 세팅이 안 되어 있으면 review queue 접근 불가
- reject reason이 약하면 외부 퍼블리셔 커뮤니케이션 비용 증가
8. 출시 전 의사결정
아래 4개는 출시 전에 확정해야 한다.
-
브랜드 기준
homb유지membloc전환- 혼합 운영
-
포털 공개 범위
- invite-only
- 공개 등록
-
배포 환경
- Vercel 단일
- 별도 staging/prod 분리
-
문서 공개 시점
- 포털과 동시 공개
- 1차 dogfooding 후 공개
9. 바로 다음 액션
우선순위 기준 다음 실행 순서는 아래다.
membloc-app-engine에006_publisher_portal마이그레이션 적용membloc-developer-portal에 실제 Firebase 환경값 연결- 로컬 end-to-end smoke test 실행
developer.membloc.com연결 전략 확정- assets upload 범위를 정의하고 schema/API 보강
10. 완료 정의
이 문서 기준 Phase 3 MVP 완료는 아래 조건을 모두 만족하는 상태다.
- 퍼블리셔가
developer.membloc.com또는 결정된 포털 도메인에서 로그인 가능 - 퍼블리셔 등록 신청 가능
- admin이 승인/반려 가능
- 승인된 퍼블리셔가 모듈 초안 생성 가능
- 초안 수정 및 review 제출 가능
- admin이 review queue에서 승인/반려 가능
- 승인된 모듈이 marketplace 노출 가능한 상태로 전환됨