{
  "id": "bc9fd69a-10a7-4607-b586-af0eb3b98794",
  "slug": "ref/khub/data-eng-arch-통합-de-어드민-모듈러-아키텍처-설계서-v3-0",
  "doc_type": "ref",
  "title": "[ARCH] 통합 DE 어드민 — 모듈러 아키텍처 설계서 v3.0",
  "title_en": null,
  "one_liner": "# 📋 BizSpring 통합 DE 어드민 — 모듈러 아키텍처 설계서 > v3.0 | 2026-03-29 | Phase: 📋 PLAN (DB 검증 완료) > project_code: DATA_ENG | KHub ID: b3261b71 > v3.0: 전체 서비스(NotebookLM ",
  "summary_bullets": [],
  "body_md": "# 📋 BizSpring 통합 DE 어드민 — 모듈러 아키텍처 설계서\n\n> v3.0 | 2026-03-29 | Phase: 📋 PLAN (DB 검증 완료)\n> project_code: DATA_ENG | KHub ID: b3261b71\n> v3.0: 전체 서비스(NotebookLM 11개 솔루션) 설계 포함, GP MySQL 계정체계 반영, Supabase 연동 설계\n> v2.0: DB 실측 10건 수정. v1.0: 초판.\n> 관련: 검증 리포트 `f556f638`, 계정 체계 `0d8e87e6`, 설계 브리프 `160fd04b`\n\n---\n\n## 1. 목표\n\n11개 비즈스프링 솔루션을 독립 모듈로 설계 → Lovable 이관 → Claude MCP 제어 하에 결합·실행. LIFT 패턴 일반화.\n\n## 2. 전체 서비스 모듈 맵 (NotebookLM 11개 솔루션 완전 매핑)\n\n### Phase 1 MVP — 즉시 구현 가능 (4개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub | 난이도 |\n|--------|--------|-----------|--------|--------|\n| mod-lift | LIFT Tracker + GTM | growthplatform lift_* + EF | — | 쉬움 |\n| mod-dmp | mDP DMP×RunComm | growthplatform de_dmp_*(25T) + 25 RPC | bmp-ai-dmp | 쉬움 |\n| mod-digo | DIGO 인플루언서 | supabase-influencer de_infl_*(9T) | digo-ad-dashboard | 쉬움 |\n| mod-etl | ETL 파이프라인 | growthplatform de_etl_* + n8n API | — | 보통 |\n\n### Phase 2 Core — 플랫폼 연동 (4개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub | 난이도 |\n|--------|--------|-----------|--------|--------|\n| mod-service | GP 서비스/광고주 관리 | GP MySQL (relay) | gp-admin, gp-base | 어려움 |\n| mod-media | 매체 인벤토리 + AIR | GP MySQL + BQ/ES | bs-media-api, gp-media | 보통 |\n| mod-feed | FeedMaker | growthplatform(19T) + bawee(16T) | feedmaker, gp-feeder | 어려움 |\n| mod-report | 보고서 자동화 | GP MySQL tb_report_*, tb_excel_* | gp-report, bmp-base | 보통 |\n\n### Phase 3 Extended — 전체 솔루션 (4개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub | 난이도 |\n|--------|--------|-----------|--------|--------|\n| mod-gp-cdp | GP CDP 전체 | GP MySQL gp_prod 183T | gp-* 31 repos | 어려움 |\n| mod-ap | AP 광고관리플랫폼 | AP MySQL ap_prod | ap-* 11 repos | 미확보 |\n| mod-admonster | 애드몬스터쇼츠 | MySQL + Selenium | admonster-* 11 repos | 미확보 |\n| mod-ezwel | 이지웰 광고시스템 | MariaDB | ezwel-* 10 repos | 미확보 |\n\n### Phase 4 SaaS — 고객 접점 (3개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub |\n|--------|--------|-----------|--------|\n| mod-geocare | GEOcare.ai | bawee 119T+ | brand-hub |\n| mod-onsite | 온사이트 마케팅 | GP gp-store, gp-front | gp-store, gp-front |\n| mod-ai-agent | AI Agentic App | ext-insights-lm, bs-nl2sql | bmp-ai-demo |\n\n### 공통 기반 모듈 (Phase 1과 동시)\n\n| Module | 역할 | 데이터 소스 |\n|--------|------|-----------|\n| mod-auth | 인증/권한 | GP MySQL RBAC 동기화 + Supabase Auth |\n| mod-code | 코드 관리 | GP MySQL tb_code/code_dtl 캐시 |\n| mod-system | 시스템 현황 | n8n API + EF 상태 + DB 헬스체크 |\n\n**총 18개 모듈** = 11 솔루션 모듈 + 4 확장 + 3 기반\n\n## 3. GP MySQL 계정 체계 (통합 어드민의 근간)\n\n### 핵심 구조 (상세: `0d8e87e6`)\n\n```\ntb_agency (130, 4유형: 마스터/대행사/대리대행사/광고주)\n  → tb_admin (201, RBAC 8역할)\n    → tb_admin_role → tb_role → tb_role_privilege → tb_privilege(108)\n  → tb_team (계층구조, parent_seq 자기참조)\n    → tb_team_admin / tb_team_client\n  → tb_client (265, client_option JSON)\n    → tb_account (1,265, 매체별)\n      → tb_media_license (387) → tb_media_api (API 토큰)\n```\n\n### 코드 체계 (tb_code 89그룹, tb_code_dtl 782건)\n- 매체: 111 (41개), 대행사유형: 101 (4개), 상품: 103, 상태: 201 (6개)\n- MA: 137~139, 리포트 필드: N/K/G/F/M/S 시리즈\n\n### Supabase 연동 설계\n\n```\nGP MySQL (SOT)              →(n8n 배치 동기화)→     Supabase growthplatform\n─────────────────           ───────────────         ────────────────────────\ntb_agency                   →                       de_admin_agencies (신규)\ntb_admin + role             →                       de_admin_users (신규, Supabase Auth 연결)\ntb_client                   → (기존 연결)           de_admin_clients\ntb_account                  →                       de_admin_accounts (신규)\ntb_code + code_dtl          →                       de_admin_codes (코드 캐시, 신규)\ntb_media + license + api    →                       읽기 전용 (n8n relay)\n```\n\n원칙: GP MySQL → Supabase **단방향만**. 역방향 쓰기 절대 금지.\n\n## 4. 4-Layer 아키텍처\n\n```\nL1 Control:  Claude MCP + Lovable Host + n8n Orchestrator + Vercel CD\nL2 UI:       18개 React 모듈 (Phase 1~4)\nL3 API:      de-admin-api EF(Supabase 직접) + gp-admin-relay(n8n WF, MySQL 경유)\nL4 Data:     GP MySQL + AP MySQL + Supabase×3 + BQ + ES/OS + Kafka×2\n```\n\n### API Gateway 하이브리드\n\n```\nde-admin-api (Supabase EF) — Supabase 직접 접근\n  ├── ?mod=lift      → lift_*, lift_stats(), gtm-api-test\n  ├── ?mod=dmp       → de_dmp_*, 25+ RPC 직접 호출\n  ├── ?mod=digo      → de_infl_* (influencer Supabase)\n  ├── ?mod=feed      → de_feed_* (growthplatform 메타)\n  ├── ?mod=etl       → de_etl_job_status\n  ├── ?mod=auth      → de_admin_users + Supabase Auth\n  ├── ?mod=code      → de_admin_codes (캐시)\n  └── ?mod=system    → system_health_dashboard()\n\ngp-admin-relay (n8n WF 신규) — GP MySQL 고정 쿼리\n  ├── /service/clients        → tb_client 요약\n  ├── /service/client/:id     → client_option JSON\n  ├── /service/agencies       → tb_agency 목록\n  ├── /media/codes            → tb_code_dtl(cd_no=111)\n  ├── /media/licenses         → tb_media_license 목록\n  ├── /report/jobs            → tb_report_job 현황\n  └── /ma/campaigns           → tb_ma_campaign 현황\n```\n\n## 5. Lovable 이관 전략\n\n```\nPhase A: Claude Artifact → mod-lift PoC 검증\nPhase B: Lovable 프로젝트 이관 (모듈 단위 페이지)\nPhase C: Claude MCP 도구 등록 (각 mod API = 1 MCP tool)\nPhase D: 복합 프로젝트 수행 (모듈 결합)\n  예: \"캘러웨이 풀스택\" = mod-service + mod-feed + mod-media + mod-etl\n  예: \"신규 온보딩\" = mod-lift + mod-service + mod-etl\n  예: \"전사 헬스체크\" = mod-system + mod-etl + mod-media + mod-dmp\n```\n\n## 6. 신규 DB 리소스 계획\n\n### Phase 1 (PoC)\n- lift_gtm_deployments: GTM 배포 이력\n- lift_daily_stats() RPC: 일별 집계\n\n### Phase 2 (GP 연동)\n- de_admin_agencies: tb_agency 동기화\n- de_admin_users: tb_admin 동기화 + Supabase Auth\n- de_admin_accounts: tb_account 동기화\n- de_admin_codes: tb_code/code_dtl 캐시\n\n### Phase 3+\n- de_admin_modules: 모듈 레지스트리\n- de_admin_api_log: API 호출 로그\n\n## 7. 세션 기록 문서 참조\n\n| 문서 | KHub ID | 내용 |\n|------|---------|------|\n| 이 설계서 | b3261b71 | 전체 아키텍처 v3.0 |\n| DB 실측 검증 리포트 | f556f638 | 10건 수정, 모듈별 검증 |\n| 계정·권한·연동 체계 | 0d8e87e6 | GP MySQL RBAC, 코드, 매체 |\n| 설계 브리프(초판) | 160fd04b | 최초 기획 배경 |\n| DATA_ENG Snapshot | 1b0e5e5a | 진행 현황 |\n\nv3.0 2026-03-29",
  "related_slugs": [],
  "faq": [],
  "jsonld": null,
  "keywords": [],
  "source_id": "b3261b71-c8af-411f-aa16-96f93cebac02",
  "video_url": null,
  "duration_sec": null,
  "thumbnail_url": null,
  "image_url": null,
  "caption": null,
  "solution_slug": null,
  "captured_at": null,
  "width": null,
  "height": null,
  "created_at": "2026-08-24T11:53:44.809175+00:00",
  "updated_at": "2026-08-24T11:53:44.809175+00:00",
  "visibility": "public",
  "source_stage": "1",
  "anonymized": true,
  "source_key": "legacy-khub",
  "origin": "ingest",
  "locked": false,
  "locked_by": null,
  "locked_at": null,
  "gate_state": {
    "g1": {
      "hits": [],
      "pass": true
    },
    "g2": {
      "pass": true,
      "total": 36,
      "issues": [
        "숫자·규격 같은 검증 가능한 구체가 부족합니다",
        "다른 문서와 겹치는 말이 대부분입니다",
        "핵심 요약 불릿이 3개 미만입니다",
        "Q&A 쌍이 3개 미만입니다"
      ],
      "applies": true
    },
    "g3": {
      "pass": true,
      "required": false
    },
    "stage": "1",
    "decided_at": "2026-08-24T11:53:44.334Z"
  },
  "raw_id": "5aaf0743-127d-4a9f-997d-9aaac3baf995",
  "search_text": "[ARCH] 통합 DE 어드민 — 모듈러 아키텍처 설계서 v3.0  # 📋 BizSpring 통합 DE 어드민 — 모듈러 아키텍처 설계서 > v3.0 | 2026-03-29 | Phase: 📋 PLAN (DB 검증 완료) > project_code: DATA_ENG | KHub ID: b3261b71 > v3.0: 전체 서비스(NotebookLM   # 📋 BizSpring 통합 DE 어드민 — 모듈러 아키텍처 설계서\n\n> v3.0 | 2026-03-29 | Phase: 📋 PLAN (DB 검증 완료)\n> project_code: DATA_ENG | KHub ID: b3261b71\n> v3.0: 전체 서비스(NotebookLM 11개 솔루션) 설계 포함, GP MySQL 계정체계 반영, Supabase 연동 설계\n> v2.0: DB 실측 10건 수정. v1.0: 초판.\n> 관련: 검증 리포트 `f556f638`, 계정 체계 `0d8e87e6`, 설계 브리프 `160fd04b`\n\n---\n\n## 1. 목표\n\n11개 비즈스프링 솔루션을 독립 모듈로 설계 → Lovable 이관 → Claude MCP 제어 하에 결합·실행. LIFT 패턴 일반화.\n\n## 2. 전체 서비스 모듈 맵 (NotebookLM 11개 솔루션 완전 매핑)\n\n### Phase 1 MVP — 즉시 구현 가능 (4개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub | 난이도 |\n|--------|--------|-----------|--------|--------|\n| mod-lift | LIFT Tracker + GTM | growthplatform lift_* + EF | — | 쉬움 |\n| mod-dmp | mDP DMP×RunComm | growthplatform de_dmp_*(25T) + 25 RPC | bmp-ai-dmp | 쉬움 |\n| mod-digo | DIGO 인플루언서 | supabase-influencer de_infl_*(9T) | digo-ad-dashboard | 쉬움 |\n| mod-etl | ETL 파이프라인 | growthplatform de_etl_* + n8n API | — | 보통 |\n\n### Phase 2 Core — 플랫폼 연동 (4개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub | 난이도 |\n|--------|--------|-----------|--------|--------|\n| mod-service | GP 서비스/광고주 관리 | GP MySQL (relay) | gp-admin, gp-base | 어려움 |\n| mod-media | 매체 인벤토리 + AIR | GP MySQL + BQ/ES | bs-media-api, gp-media | 보통 |\n| mod-feed | FeedMaker | growthplatform(19T) + bawee(16T) | feedmaker, gp-feeder | 어려움 |\n| mod-report | 보고서 자동화 | GP MySQL tb_report_*, tb_excel_* | gp-report, bmp-base | 보통 |\n\n### Phase 3 Extended — 전체 솔루션 (4개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub | 난이도 |\n|--------|--------|-----------|--------|--------|\n| mod-gp-cdp | GP CDP 전체 | GP MySQL gp_prod 183T | gp-* 31 repos | 어려움 |\n| mod-ap | AP 광고관리플랫폼 | AP MySQL ap_prod | ap-* 11 repos | 미확보 |\n| mod-admonster | 애드몬스터쇼츠 | MySQL + Selenium | admonster-* 11 repos | 미확보 |\n| mod-ezwel | 이지웰 광고시스템 | MariaDB | ezwel-* 10 repos | 미확보 |\n\n### Phase 4 SaaS — 고객 접점 (3개)\n\n| Module | 솔루션 | 데이터 소스 | GitHub |\n|--------|--------|-----------|--------|\n| mod-geocare | GEOcare.ai | bawee 119T+ | brand-hub |\n| mod-onsite | 온사이트 마케팅 | GP gp-store, gp-front | gp-store, gp-front |\n| mod-ai-agent | AI Agentic App | ext-insights-lm, bs-nl2sql | bmp-ai-demo |\n\n### 공통 기반 모듈 (Phase 1과 동시)\n\n| Module | 역할 | 데이터 소스 |\n|--------|------|-----------|\n| mod-auth | 인증/권한 | GP MySQL RBAC 동기화 + Supabase Auth |\n| mod-code | 코드 관리 | GP MySQL tb_code/code_dtl 캐시 |\n| mod-system | 시스템 현황 | n8n API + EF 상태 + DB 헬스체크 |\n\n**총 18개 모듈** = 11 솔루션 모듈 + 4 확장 + 3 기반\n\n## 3. GP MySQL 계정 체계 (통합 어드민의 근간)\n\n### 핵심 구조 (상세: `0d8e87e6`)\n\n```\ntb_agency (130, 4유형: 마스터/대행사/대리대행사/광고주)\n  → tb_admin (201, RBAC 8역할)\n    → tb_admin_role → tb_role → tb_role_privilege → tb_privilege(108)\n  → tb_team (계층구조, parent_seq 자기참조)\n    → tb_team_admin / tb_team_client\n  → tb_client (265, client_option JSON)\n    → tb_account (1,265, 매체별)\n      → tb_media_license (387) → tb_media_api (API 토큰)\n```\n\n### 코드 체계 (tb_code 89그룹, tb_code_dtl 782건)\n- 매체: 111 (41개), 대행사유형: 101 (4개), 상품: 103, 상태: 201 (6개)\n- MA: 137~139, 리포트 필드: N/K/G/F/M/S 시리즈\n\n### Supabase 연동 설계\n\n```\nGP MySQL (SOT)              →(n8n 배치 동기화)→     Supabase growthplatform\n─────────────────           ───────────────         ────────────────────────\ntb_agency                   →                       de_admin_agencies (신규)\ntb_admin + role             →                       de_admin_users (신규, Supabase Auth 연결)\ntb_client                   → (기존 연결)           de_admin_clients\ntb_account                  →                       de_admin_accounts (신규)\ntb_code + code_dtl          →                       de_admin_codes (코드 캐시, 신규)\ntb_media + license + api    →                       읽기 전용 (n8n relay)\n```\n\n원칙: GP MySQL → Supabase **단방향만**. 역방향 쓰기 절대 금지.\n\n## 4. 4-Layer 아키텍처\n\n```\nL1 Control:  Claude MCP + Lovable Host + n8n Orchestrator + Vercel CD\nL2 UI:       18개 React 모듈 (Phase 1~4)\nL3 API:      de-admin-api EF(Supabase 직접) + gp-admin-relay(n8n WF, MySQL 경유)\nL4 Data:     GP MySQL + AP MySQL + Supabase×3 + BQ + ES/OS + Kafka×2\n```\n\n### API Gateway 하이브리드\n\n```\nde-admin-api (Supabase EF) — Supabase 직접 접근\n  ├── ?mod=lift      → lift_*, lift_stats(), gtm-api-test\n  ├── ?mod=dmp       → de_dmp_*, 25+ RPC 직접 호출\n  ├── ?mod=digo      → de_infl_* (influencer Supabase)\n  ├── ?mod=feed      → de_feed_* (growthplatform 메타)\n  ├── ?mod=etl       → de_etl_job_status\n  ├── ?mod=auth      → de_admin_users + Supabase Auth\n  ├── ?mod=code      → de_admin_codes (캐시)\n  └── ?mod=system    → system_health_dashboard()\n\ngp-admin-relay (n8n WF 신규) — GP MySQL 고정 쿼리\n  ├── /service/clients        → tb_client 요약\n  ├── /service/client/:id     → client_option JSON\n  ├── /service/agencies       → tb_agency 목록\n  ├── /media/codes            → tb_code_dtl(cd_no=111)\n  ├── /media/licenses         → tb_media_license 목록\n  ├── /report/jobs            → tb_report_job 현황\n  └── /ma/campaigns           → tb_ma_campaign 현황\n```\n\n## 5. Lovable 이관 전략\n\n```\nPhase A: Claude Artifact → mod-lift PoC 검증\nPhase B: Lovable 프로젝트 이관 (모듈 단위 페이지)\nPhase C: Claude MCP 도구 등록 (각 mod API = 1 MCP tool)\nPhase D: 복합 프로젝트 수행 (모듈 결합)\n  예: \"캘러웨이 풀스택\" = mod-service + mod-feed + mod-media + mod-etl\n  예: \"신규 온보딩\" = mod-lift + mod-service + mod-etl\n  예: \"전사 헬스체크\" = mod-system + mod-etl + mod-media + mod-dmp\n```\n\n## 6. 신규 DB 리소스 계획\n\n### Phase 1 (PoC)\n- lift_gtm_deployments: GTM 배포 이력\n- lift_daily_stats() RPC: 일별 집계\n\n### Phase 2 (GP 연동)\n- de_admin_agencies: tb_agency 동기화\n- de_admin_users: tb_admin 동기화 + Supabase Auth\n- de_admin_accounts: tb_account 동기화\n- de_admin_codes: tb_code/code_dtl 캐시\n\n### Phase 3+\n- de_admin_modules: 모듈 레지스트리\n- de_admin_api_log: API 호출 로그\n\n## 7. 세션 기록 문서 참조\n\n| 문서 | KHub ID | 내용 |\n|------|---------|------|\n| 이 설계서 | b3261b71 | 전체 아키텍처 v3.0 |\n| DB 실측 검증 리포트 | f556f638 | 10건 수정, 모듈별 검증 |\n| 계정·권한·연동 체계 | 0d8e87e6 | GP MySQL RBAC, 코드, 매체 |\n| 설계 브리프(초판) | 160fd04b | 최초 기획 배경 |\n| DATA_ENG Snapshot | 1b0e5e5a | 진행 현황 |\n\nv3.0 2026-03-29",
  "embedding": null,
  "embedded_at": null,
  "embedding_hash": null,
  "backlinks": [],
  "html_url": "https://bizspring.ai/kb/ref/khub/data-eng-arch-통합-de-어드민-모듈러-아키텍처-설계서-v3-0",
  "markdown_url": "https://bizspring.ai/kb/ref/khub/data-eng-arch-통합-de-어드민-모듈러-아키텍처-설계서-v3-0.md"
}