docs.membloc.com

membloc docs

제품, 플랫폼, 운영 문서를 한곳에서 읽는 Membloc 공식 문서 포털입니다.

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.sql
      • migrations/006_publisher_portal.down.sql
    • Publisher API MVP 추가
      • POST /api/publisher/register
      • GET /api/publisher/profile
      • PUT /api/publisher/profile
      • GET /api/publisher/modules
      • POST /api/publisher/modules
      • GET /api/publisher/modules/:key
      • PUT /api/publisher/modules/:key
      • POST /api/publisher/modules/:key/submit
    • Admin review queue MVP 추가
      • GET /api/admin/publishers/pending
      • POST /api/admin/publishers/:id/approve
      • POST /api/admin/publishers/:id/reject
      • GET /api/admin/modules/pending
    • Go 테스트 통과
  • 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-engine006_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 강화
    • webviewentry_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 확장

다음 우선순위

  1. 마이그레이션 실제 적용과 검증
  2. reject reason / validation 강화
  3. upload metadata 컬럼 확장
  4. 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

다음 우선순위

  1. Firebase 실연결
  2. 보호 라우팅 정리
  3. form validation UX 강화
  4. assets upload UI
  5. 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

첫 배포 순서

  1. membloc-developer-portal를 Vercel에 연결
  2. preview 배포로 Firebase 로그인 검증
  3. developer.membloc.com 연결
  4. CORS / Firebase authorized domain 반영
  5. 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개는 출시 전에 확정해야 한다.

  1. 브랜드 기준

    • homb 유지
    • membloc 전환
    • 혼합 운영
  2. 포털 공개 범위

    • invite-only
    • 공개 등록
  3. 배포 환경

    • Vercel 단일
    • 별도 staging/prod 분리
  4. 문서 공개 시점

    • 포털과 동시 공개
    • 1차 dogfooding 후 공개

9. 바로 다음 액션

우선순위 기준 다음 실행 순서는 아래다.

  1. membloc-app-engine006_publisher_portal 마이그레이션 적용
  2. membloc-developer-portal에 실제 Firebase 환경값 연결
  3. 로컬 end-to-end smoke test 실행
  4. developer.membloc.com 연결 전략 확정
  5. assets upload 범위를 정의하고 schema/API 보강

10. 완료 정의

이 문서 기준 Phase 3 MVP 완료는 아래 조건을 모두 만족하는 상태다.

  • 퍼블리셔가 developer.membloc.com 또는 결정된 포털 도메인에서 로그인 가능
  • 퍼블리셔 등록 신청 가능
  • admin이 승인/반려 가능
  • 승인된 퍼블리셔가 모듈 초안 생성 가능
  • 초안 수정 및 review 제출 가능
  • admin이 review queue에서 승인/반려 가능
  • 승인된 모듈이 marketplace 노출 가능한 상태로 전환됨