DHA Sleep Admin Console 개요
1. 미션 및 범위
- 미션: DHA Sleep 서비스 운영자(임상, Ops, 엔지니어, 지원)가 하나의 콘솔에서 에이전트·CTA·사용자·구성 정보를 다루도록 지원해 의사결정 속도와 거버넌스를 높인다.
- 범위: 모든 Admin 기능은
apps/dha-sleep-web/app/(admin)라우트 그룹 안에서 공통 셸·레이아웃·보안 정책을 공유하며, 모듈별 기능은 플러그인 형태로 확장된다. - 비포함: MAO Prompt Service, CTA Scheduler, User Directory 등 도메인 백엔드는 콘솔 외부에서 운영되며, 콘솔은 이들과 통신하는 UI 레이어만 담당한다.
2. 설계 원칙
- Single Pane of Glass: 에이전트, CTA, 사용자, 시스템 구성을 동일한 콘솔에서 교차 탐색 가능해야 한다.
- 강한 거버넌스: Draft→Review→Approval→Canary→Prod 흐름과 Audit Trail을 모든 모듈에 일관되게 적용한다.
- Security-First: RBAC, SSO, 데이터 마스킹, JIT 권한 승인을 기본값으로 제공한다.
- Composable Modules: 신규 기능은 공통 셸 안에 플러그인처럼 추가되며, UI 컴포넌트·API 계약·데이터 모델을 재사용한다.
- Model-Agnostic Control: Prompt & Agent Ops 모듈은 Vertex AI, OpenAI, Anthropic 등 여러 LLM 벤더의 모델을 UI에서 선택·비교·롤백할 수 있도록 추상화한다.
3. 주요 사용자 페르소나
| 페르소나 | 책임 | 핵심 니즈 |
|---|---|---|
| Clinical Ops PM | CTA 템플릿/프로토콜/승인 관리 | CTA Ops, KPI 대시보드 |
| Prompt Architect | MAO 프롬프트 설계·실험 | Prompt & Agent Ops |
| Support Specialist | 사용자 케이스 대응, 알림 재전송 | User Support 모듈 |
| Reliability/Ops Engineer | 배포, Feature Flag, 인프라 메트릭, IAM | Config & Release, IAM 콘솔 |
| Compliance/IAM Admin | 접근 제어, 감사, 정책 서명 | IAM & Audit Center |
4. 기능 지도 및 로드맵
| 모듈 | 목적 | 문서/상태 |
|---|---|---|
| Prompt & Agent Operations | MAO 프롬프트 라이프사이클, 라우팅 KPI | admin-console/mao/prompt-ops.md (Phase 1) |
| CTA & Intervention Ops | CTA 템플릿·타게팅·승인, 번역 | admin-console/cta/ (작성 예정) |
| Clinical Insights Dashboard | 에이전트/CTA 퍼널, TimeMachine 이벤트 | 계획 중 |
| User Support & Case Management | 사용자 세션 리플레이, 알림/계정 제어 | admin-console/support/ (작성 예정) |
| Configuration & Release | Feature flag, 릴리즈 추적, 환경 상태 | admin-console/config/ (작성 예정) |
| IAM & Audit Center | 역할/권한, 접근 로그, 정책 관리 | admin-console/config/iam.md (작성 예정) |
Phase 1: Prompt & Agent Operations 모듈을 완성해 MAO 개선 사이클을 닫는다.
Phase 2 이후: CTA, 지원, IAM 모듈을 동일 셸과 거버넌스로 확장한다.
5. 플랫폼 아키텍처
┌─────────────────────────┐
│ DHA Sleep Admin (Next) │
│ └─ app/(admin)/[module]│
└────────────┬────────────┘
│ /api/admin/*
┌────────────▼────────────┐ ┌──────────────────────┐
│ Operational API Gateway │<──────>│ Observability Stack │
│ - Prompt Service proxy │ │ - Metrics/Logs/Traces│
│ - CTA Scheduler proxy │ │ - Alerting │
│ - User Directory │ └──────────────────────┘
│ - Model Router (LLM) │
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ IAM/SSO │ Feature Flags│
│ Guardrail│ Config Store │
└─────────────────────────┘
- Next.js App Router + Server Components를 표준으로 사용하고,
/api/admin/*Route Handler가 BFF 역할을 수행한다. - 공통 Middleware에서 인증/권한 검사를 실행해 모듈별 Scope를 주입한다.
6. UX 정보 구조
- Global Shell: Admin Navbar, Workspace Switcher, Alert Center, Command Palette.
- Two-Tier Navigation: 좌측 1차 카테고리(Operations / Support / Platform / Security / System)를 최소화해 고정하고, 선택 시 중앙 2차 메뉴에서 세부 기능을 노출한다. 예:
Operations→ Agent Ops / CTA Ops / Experiments / ObservabilitySupport→ User Cases / Session Replay / Notification Logs / Account FlagsPlatform→ Feature Flags / Integrations / EnvironmentSecurity→ IAM / Roles / Audit / Access ReportsSystem→ Logs / Diagnostics / Settings
- Navigation & Route Map: 구체적인 메뉴 ↔ 라우트 매핑은
admin-console/navigation.md문서에 정리하고, 변경 시 overview와 함께 업데이트한다. - Dashboard: KPI 카드, 환경 상태, 최근 경보, 릴리즈 타임라인을 제공해 모듈 간 상태를 한눈에 파악한다.
- Module Space: 2차 메뉴 별로 동일한 카드/테이블 패턴을 재사용하고, 각 모듈 요구사항은 전용 문서에 정의한다.
- Global Search: 사용자, CTA, Prompt, Feature Flag를 전역 검색해 바로 상세 화면으로 이동한다.
7. 공통 데이터 & 통합 계약
| 범주 | 공통 엔티티 | 설명 |
|---|---|---|
| Identity | AdminUser, Role, PermissionScope | IAM/RBAC 기본 모델 |
| Deployment | Release, FeatureFlag, EnvStatus | Prompt/CTA/앱 릴리즈를 모두 표현 |
| Content | PromptTemplate, CtaTemplate, LocalizationEntry | 콘텐츠/에이전트 공통 구조 |
| LLM Config | ModelProfile, ModelBinding, ProviderQuota | LLM 공급자/모델 설정, 토큰 한도, 폴백 정책 |
| Support | UserCase, NotificationEvent, SessionLog | 사용자 지원 및 Observability 연계 |
각 모듈은 이 공통 모델을 확장해 도메인 필드를 추가하며, 세부 스키마는 모듈 문서에서 다룬다.
8. 보안·IAM 개요
- 인증: 사내 SSO(OIDC) + JWT 세션.
/app/(admin)전역에서 세션 유효성 검사를 수행한다. - 권한: Role 기반 Scope(
prompt.read,cta.write,iam.manage등)를 부여하고 Config 모듈에서 매핑을 관리한다. - 감사: 모든 민감 작업을 Audit Trail에 기록하고 Slack/Webhook으로 알림을 보낸다. Export/Report 기능 제공.
- 데이터 취급: 사용자 PII는 기본적으로 마스킹되며, 상세 페이로드 열람 시 JIT 승인과 추가 로그가 필요하다.
9. 운영 & 거버넌스
- 변경 라이프사이클: Draft → Review → Approval → Canary → Prod 플로우를 Prompt, CTA, Feature Flag 등 모든 모듈에 공통 적용.
- 테스트 전략: Storybook + 시각 회귀, Cypress Admin e2e,
/api/admin/*Contract Test. - 배포:
nx build dha-sleep-web후 Cloud Run 배포. Feature Flag로 신규 모듈을 점진 노출. - 문서화: 각 모듈 설계는
docs/application/dha-sleep-web/admin-console/<module>/에 추가하고, Overview에 링크를 업데이트한다.
본 문서는 Admin Console 상위 가이드를 제공하며, 현재 세부 설계는 MAO 모듈(admin-console/mao/prompt-ops.md)에 집중되어 있다. 향후 CTA, Support, IAM 모듈 문서가 추가되면 본 개요에서 참조 링크를 확장한다.