SleepQ 한국향 vs 독일향 기능 비교표

도메인별 주요 기능 비교
Core Domains
1. Plan (서비스 플랜)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🎛️ 동적 다층 플랜 시스템 | 📄 하드코딩 + Plan 도메인 미구현 |
| 치료 플랜 (Therapeutic) | ✅ 불면증 진단 환자용 기본 플랜 | ✅ 하드코딩된 기본 서비스 |
| 제한 플랜 (Limited Access) | ✅ 치료 기간 만료 후 제한 기능 | ❌ 만료 후 서비스 미지원 |
| 샘플/데모 기능 | ✅ 동적 샘플 플랜 관리 | ✅ 하드코딩된 데모 기능 |
| 클리니션 플랜 | ✅ 의료진 전문 플랜 | ❌ Plan 미지원 |
| 플랜별 기능 제한 | ✅ API 호출, 저장 용량, 동시 접속 등 | ❌ Plan 미지원 |
| Feature Flag 연동 | ✅ 플랜별 기능 제어 | ❌ Plan 미지원 |
| 서비스 제공 방식 | 🎯 플랜별 차등 서비스 | 📋 단일 서비스 (모든 사용자 동일) |
2. Agent Board (AKA 탑보드, 메시지 전달 및 관리)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 실시간 메시지 전달 (Streamable HTTP) | ✅ MCP 호환 SSE, 우선순위 기반 정렬, 사용자당 최대 1000개 큐잉 | 🔄 Polling 방식 (단방향 통신) |
| SSE vs WebSocket 장점 | ✅ HTTP 인프라 재사용, 방화벽 친화적, 자동 재연결, HTTP/2 호환 | ⚠️ Polling: 더 단순하지만 지연시간/배터리 소모 있음 |
3. Agent Data (AI Agent 데이터 준비)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| Sleep 도메인 데이터 수집 | ✅ 수면기록 작성/수정/삭제 이벤트 구독 | ✅ 동일 |
| Questionnaire 데이터 수집 | ✅ ISI, PSQI, PHQ-9 등 설문 응답 수집 | ✅ 동일 |
| Learning 데이터 수집 | ✅ 레슨 시작/완료/진행 상태 추적 | ✅ 동일 |
| Relaxation 데이터 수집 | ✅ 이완요법 콘텐츠 사용 이력 추적 | ✅ 동일 |
| LLM용 JSON document 변환 | ✅ Firestore 저장 | ✅ 동일 |
4. Agent Treatment Flow (AI 기반 치료 흐름)
| 기능 | 독일향 (SleepQ 2.0 재설계) | 한국향 (Rule-based) |
|---|---|---|
| 아키텍처 접근법 | 🤖 AI 기반 동적 치료 흐름 | 📋 Rule-based 정적 흐름 |
| A-H-I-R 순환 모델 | ✅ Assess → Hypothesize → Intervene → Review | ❌ 단순 규칙 기반 |
| P1-P5 프로세스 | ✅ 초기평가→가설정교화→치료로드맵→일일코칭→주간재평가 | ❌ 사전 정의된 시나리오 |
| 9가지 기본 시스템 메시지 | ✅ 슬립큐 소개, 수면기록 작성하기, 권장 취침시간 처방 안내 등 | ✅ 기본 메시지 동일 |
| 치료적 개입 메시지 | ✅ LLM 기반 개인화 동적 생성 | 🔧 규칙 기반 템플릿 선택 |
| 가설 기반 치료 | ✅ 사용자별 불면증 원인 가설 수립 및 검증 | ❌ 일반적 치료 패턴 |
5. Agreements (약관 및 동의)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🔧 동적 버전 관리 시스템 | 📄 하드코딩 정적 방식 |
| 약관 버전 관리 | ✅ 버전 히스토리, 다국어 지원 | ❌ 하드코딩, 버전 추적 불가 |
| 사용자 동의 이력 추적 | ✅ 어떤 사용자가 어떤 버전에 동의했는지 추적 | ❌ 동의 버전 추적 불가능 |
| 동의 관리 시스템 | ✅ 범위(scope)와 목적(purpose) 정의 | ❌ 동의 관리 미구현 |
| DiGAV 필수 동의 | ✅ DiGAV § 4 Abs. 2 이용 약관 동의 | ❌ 독일 전용 (한국 미해당) |
| 데이터 처리 동의 | ✅ 기술 기능/사용성/개선 목적 (선택) | ✅ 동일 |
6. Auth (인증 및 보안)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 보안 접근법 | 🔐 다층 보안 강화 | 🔑 기본 보안 + 한국 특화 |
| 이메일/비밀번호 인증 | ✅ 5회 실패 시 1분 잠금 | ✅ 동일 |
| 2단계 인증 (2FA) | ✅ 서버 기반 2FA | ❌ 미지원 |
| GesundheitsID 연동 | ✅ 대체 로그인 설정 가능 | ❌ 독일 전용 |
| 카카오 로그인 | ❌ 독일 미지원 | ✅ 한국 전용 소셜 로그인 |
| 본인인증 | ❌ 독일 미지원 | ✅ 한국 전용 신원확인 |
| PIN 코드 로컬 인증 | ✅ 서버 미저장, 모바일 전용 | ✅ 동일 (로컬 인증, 2FA 아님) |
| 디바이스 단일 로그인 | ✅ 한 계정은 한 디바이스만 허용 | ✅ 동일 |
| 앱 무결성 검증 | ✅ 앱 토큰 발급, 무결성 검증, 권한 관리 | ❌ 미지원 |
7. Group (그룹 관리)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🎛️ 고도화된 권한 제어 시스템 | 📋 단순 분류 체계 |
| Feature 제어 연동 | ✅ Group별 Feature Flag 제어 | ❌ 단순 구분만 |
| 권한 관리 연동 | ✅ Group→Role→Permission 계층적 권한 | ❌ 권한 제어 미연동 |
| 환자 그룹 | ✅ patients.general, patients.limited-access, patients.sample | ✅ 기본 분류만 |
| 지역별 환자 그룹 | ✅ patients.de (국가별 치료기간 등 Feature 대응) | ❌ 지역별 그룹 기능 미지원 |
| 내부 운영자 그룹 | ✅ operators.admin, operators.clinician, operators.researcher | ✅ 기본 분류만 |
| 임상시험 그룹 | ✅ trials.de.{trial-id} | ❌ 임상시험 그룹 미지원 |
| 그룹-역할 연동 | ✅ IAM 도메인과 완전 통합 | ❌ 역할 연동 없음 |
| 다양한 요구사항 적응 | ✅ 유연한 그룹 정책 변경 가능 | ❌ 고정된 분류 체계 |
8. IAM (권한 및 접근 제어)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🛡️ 전문 IAM 도메인 구현 | ❌ IAM 도메인 전체 미구현 |
| 사용자 유형별 권한 | ✅ System Admin, IAM Admin, Service Account, Regular User | ❌ IAM 미지원 |
| RBAC (역할 기반 접근 제어) | ✅ Role→Permission 계층적 권한 관리 | ❌ IAM 미지원 |
| 권한 캐싱 | ✅ 성능 향상을 위한 검증 결과 캐싱 | ❌ IAM 미지원 |
| 감사 로그 연동 | ✅ 모든 권한 검증 시도 기록 | ❌ IAM 미지원 |
| 고객/운영자 권한 분리 | ✅ private/operation 스키마 분리 | ❌ IAM 미지원 |
| 권한 관리 방식 | 🎛️ 동적 권한 관리 시스템 | 📋 기본 인증만 (Auth 도메인) |
9. Learning (수면탐구 교육)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 📱 Native Viewer 구현 | 🌐 Web Viewer 구현 |
| Viewer 성능 및 사용성 | ✅ Native 성능 최적화 | ✅ Web 호환성 우선 |
| 수면탐구 레슨 | ✅ 45개 일반 레슨 + 최종 레슨 | ✅ 동일 |
| 레슨 해금 시스템 | ✅ 순차적 해금, 1번부터 시작 | ✅ 동일 |
| 일일 레슨 추천 | ✅ 진도별 맞춤 추천 | ✅ 동일 |
| 복습 퀴즈 | ✅ 전체 레슨 완료 후 제공 | ❌ 퀴즈 기능 미지원 |
| 동영상 플레이어 | ✅ Native 동영상 재생 지원 | ❌ 동영상 플레이어 미지원 |
| 이미지 확대 기능 | ✅ 줌인/줌아웃, 확대 보기 | ❌ 이미지 확대 미지원 |
| Audio book 기능 | ✅ 오디오북 재생 지원 | ❌ 오디오북 미지원 |
| 텍스트 크기 조절 | ✅ 사용자별 설정 저장 | ✅ 동일 |
| 학습 이력 추적 | ✅ 시작/종료 시간, 소요시간, 중단 이력 | ✅ 동일 |
10. Questionnaire (설문 평가)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 수면건강조사 | ✅ 4회 | ✅ 동일 |
| ISI (불면증 심각도) | ✅ | ✅ 동일 |
| DBAS-16 (수면 신념) | ✅ | ✅ 동일 |
| WIS (WELT 불면증 척도) | ✅ | ❌ |
| WIQ (WELT 불면증 척도) | ❌ | ✅ |
| PSS (스트레스 척도) | ✅ | ❌ |
| ESS (주간 졸림 척도) | ❌ | ✅ |
| GAD-7 (불안 척도) | ✅ | ✅ 동일 |
| PHQ-9 (우울 척도) | ✅ | ✅ 동일 |
| 진행 상태 저장 | ✅ 이탈 후 재진입 지원 | ✅ 동일 |
| 특정 답변 자유입력 | ✅ 선택된 답변에 대한 자유형식 응답 제출 | ❌ 자유입력 미지원 |
| 총점 Rule 기반 알림 | ✅ 점수 범위별 알림 팝업 설정 가능 | ❌ 알림 Rule 미지원 |
11. Relaxation (이완요법)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 배경 이미지/오디오 | ✅ | ✅ 동일 |
| 다운로드 및 스트리밍 | ✅ 부분 다운로드, 재개 지원 | ✅ 동일 |
| 오늘의 추천 | ✅ 사용자별 일일 추천 | ✅ 동일 |
| 재생 이력 추적 | ✅ 완료 상태, 중단 위치 저장 | ✅ 동일 |
12. Sleep (수면 기록)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 기본 수면 기록 항목 | ✅ DNS, LOT, AET, SOL, WASO, 수면제, 낮잠, 수면의 질 | ✅ 동일 |
| 긍정/부정 요인 자유입력 | ✅ 선택된 요인에 대한 자유형식 추가 입력 | ❌ 선택지만 (자유입력 미지원) |
| 수면 효율성 계산 | ✅ (TST/TIB) × 100 | ✅ 동일 |
| 권장 수면 처방 | ✅ 주 단위 분석 기반 LOT/AET 처방 | ✅ 동일 |
| 수면 목표 관리 | ✅ LOT/AET 타겟 설정 | ✅ 동일 |
| 수정 제한 | ✅ 당일 자정까지만 수정 가능 | ✅ 동일 |
| 알림 스케줄링 | ✅ 기상/취침 1시간 전 알림 | ✅ 동일 |
13. User (사용자 관리)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 계정 생성 | ✅ Access Code 검증 필수 | ✅ 동일 |
| 사용자 상태 | ✅ ACTIVE, INACTIVE, LOCKED, PENDING, SUSPENDED, BANNED | ✅ 동일 |
| 기본 치료 주기 | ✅ Group 설정에 따른 동적 치료기간 | ✅ 하드코딩된 고정 치료기간 |
| 일시정지/재개 기능 | ✅ UserCycle 일시정지/재개 지원 | ❌ 일시정지/재개 미지원 |
| 언어 설정 | ✅ 다국어 프로필 설정 | ✅ 동일 |
| 타임존 설정 | ✅ 사용자별 타임존 설정 | ❌ 타임존 설정 미지원 |
| 그룹/플랜 연동 | ✅ 생성 시 필수 할당 | ❌ 그룹/플랜 연동 미지원 |
| GDPR 준수 | ✅ 탈퇴, 익명화 지원 | ❌ GDPR 미지원 |
Supporting Domains
14. Access Code (접근 코드)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 16자리 영문/숫자 코드 | ✅ | ✅ 동일 |
| 코드 유형 | ✅ STANDARD, ADMIN, RESEARCH, BETA, VIP | ✅ 동일 |
| 치료 기간 설정 | ✅ Group 설정에 따른 동적 치료기간 | ✅ 하드코딩된 고정값 (90일) |
| 사용 기간 설정 | ✅ 기본 130일 | ✅ 동일 |
| TimeMachine 연동 | ✅ 가상 시간 시작일 지정 가능 | ❌ TimeMachine 미지원 |
| 배치 생성 | ✅ 최대 1000개 | ✅ 동일 |
15. Audit (감사 로그)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 이벤트 타입 | ✅ 사용자 활동, 데이터 변경, 권한 변경, 시스템/보안 이벤트 | |
| 불변 로그 저장 | ✅ 생성 후 변경 불가 | |
| 검색 및 필터링 | ✅ 시간, 이벤트 타입, 소스, 액터 등 | |
| 보존 정책 | ✅ 기본 1년, 규제 준수 5년 이상 | |
| 상관 ID 추적 | ✅ 연관 로그 그룹화 | |
| 규제 보고서 | ✅ |
16. Time Machine (가상 시간)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 사용자별 가상 시간 | ✅ 개발/테스트용 | |
| dayIndex 기반 설정 | ✅ 2일차 이상만 가능 | |
| 이벤트 발행 | ✅ SystemDayChanged, UserVirtualDayChanged | |
| 데이터 정합성 | ✅ 과거 이동 시 미래 데이터 롤백 | |
| 권한 제한 | ✅ 테스터 권한 필요, PROD 환경 제한 | |
| 이력 추적 | ✅ 모든 시간 변경 기록 |
지역별 주요 차이점 요약
규제 및 컴플라이언스
| 항목 | 독일향 | 한국향 |
|---|---|---|
| 의료기기 규제 | EMA/BfArM (DiGAV) | K-FDA |
| 필수 동의 | DiGAV § 4 Abs. 2 | |
| 데이터 보호 | GDPR |
다국어 지원 및 현지화
| 항목 | 독일향 | 한국향 |
|---|---|---|
| 시스템 아키텍처 | 🌍 다국어 지원 아키텍처 | 🌍 동일한 다국어 아키텍처 |
| 기본 언어 | 독일어 | 한국어 |
| 지원 언어 | 독일어, 영어 | 한국어, 영어 |
| 콘텐츠 현지화 | 독일 문화 맞춤 | 한국 문화 맞춤 |
| 설문지 다국어 | ✅ 언어별 문항/선택지 관리 | ✅ 동일한 시스템 |
| 메시지 다국어 | ✅ 다국어 템플릿 지원 | ✅ 동일한 시스템 |
| UI/UX 다국어 | ✅ 언어별 인터페이스 | ✅ 동일한 시스템 |
| 현지화 차이점 | 독일 치료 정책 및 의료 환경 용어 | 한국 치료 정책 및 의료 환경 용어 |
기본 설정
| 항목 | 독일향 | 한국향 |
|---|---|---|
| 기본 타임존 | Europe/Berlin | Asia/Seoul |
| 기본 그룹 | patients.de (국가별 치료 정책 대응) | patients.general (기본 그룹만) |
| 운영자 그룹 | operators.de (지역별 운영 정책) | operators.admin (기본 그룹만) |
문서화 및 개발 도구
Documentation Platform
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 📚 통합 문서 플랫폼 | ❌ 문서 플랫폼 미구축 (SWAGGER만) |
| 기술 문서 플랫폼 | ✅ Docusaurus 기반 "SleepQ Tech Docs" | ❌ 미지원 |
| 문서 버전 관리 | ✅ 0.42.0, 0.41.0, 0.40.0 | ❌ 미지원 |
| 도메인 문서 구조 | ✅ Core/Supporting Domains 체계적 분류 | ❌ 미지원 |
| Release Notes | ✅ 버전별 릴리스 노트 관리 | ✅ Confluence에 기재 |
| QA 문서 | ✅ 테스트 가이드라인 | ❌ 미지원 |
| 기술 인프라 문서 | ✅ 아키텍처, 보안, 운영 가이드 | ❌ 미지원 |
| API 문서 | ✅ Docusaurus + 도메인별 endpoints 상세 문서 | ✅ SWAGGER만 지원 |
| 검색 기능 | ✅ 통합 검색 지원 예정 | ❌ 미지원 |
도메인별 문서 세부 구조
| 문서 유형 | 독일향 (현재) | 한국향 |
|---|---|---|
| Requirements | ✅ 도메인별 상세 요구사항 명세 | ❌ 문서 플랫폼 없음 |
| Business Rules | ✅ 비즈니스 규칙 및 제약사항 | ❌ 문서 플랫폼 없음 |
| Domain Model | ✅ 도메인 모델 및 엔티티 정의 | ❌ 문서 플랫폼 없음 |
| Bounded Context | ✅ 도메인 경계 및 상호작용 | ❌ 문서 플랫폼 없음 |
| Event Storming | ✅ 이벤트 기반 분석 결과 | ❌ 문서 플랫폼 없음 |
| Endpoints | ✅ API 엔드포인트 상세 명세 | ❌ 문서 플랫폼 없음 (SWAGGER만) |
| Technical Docs | ✅ 구현 및 기술적 세부사항 | ❌ 문서 플랫폼 없음 |
| Test Specifications | ✅ 테스트 케이스 및 시나리오 | ❌ 문서 플랫폼 없음 |
| Implementation Guides | ✅ 구현 가이드 및 예제 | ❌ 문서 플랫폼 없음 |
MCP Server (Model Context Protocol)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🤖 MCP 프로토콜 기반 AI 도구 통합 | 💻 코드 직접 구현 (MCP 미지원) |
| AI 도구 통합 | ✅ Cursor IDE와 MCP 프로토콜 연동 | ❌ MCP 미지원 |
| 실시간 시간 조회 | ✅ get-current-time (타임존별 시간 제공) | ❌ MCP 미지원 (코드로 직접 구현) |
| 로그 분석 도구 | ✅ query-recent-errors, analyze-error-patterns | ❌ MCP 미지원 (코드로 직접 구현) |
| 로그 검색 | ✅ query-logs (다양한 필터링 옵션) | ❌ MCP 미지원 (코드로 직접 구현) |
| 설문 데이터 조회 | ✅ questionnaire-data-query | ❌ MCP 미지원 (코드로 직접 구현) |
| 수면 데이터 조회 | ✅ sleep-log-data-query | ❌ MCP 미지원 (코드로 직접 구현) |
| TimeMachine 제어 | ✅ 가상 시간 변경 및 상태 관리 | ❌ MCP 미지원 (TimeMachine 자체도 미지원) |
| 사용자 관리 | ✅ create-access-code, delete-user, lookup-user | ❌ MCP 미지원 (코드로 직접 구현) |
| 모바일 로그 분석 | ✅ query-mobile-logs | ❌ MCP 미지원 (코드로 직접 구현) |
| SSE 통신 | ✅ Server-Sent Events 실시간 통신 | ❌ MCP 미지원 |
| OpenAI/LangChain 연동 | ✅ AI 기능 확장 지원 | ❌ MCP 미지원 |
Flowise AI Agent 개발 도구 (dta-wide-agent-flow)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🎨 No-Code AI Agent 개발 플랫폼 | 💻 개발자 중심 Agent 개발 (Flowise 미지원) |
| No-Code 비주얼 플로우 빌더 | ✅ 드래그 앤 드롭 인터페이스 | ❌ Flowise 미지원 (개발자 직접 코딩) |
| 비개발자 Agent 개발 | ✅ 코드 작성 없이 Agent 구성 가능 | ❌ Flowise 미지원 (개발자만 Agent 개발) |
n8n Workflow 자동화 도구 (dta-wide-work-flow)
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🔄 n8n 워크플로우 자동화 플랫폼 | 💻 코드 직접 구현 (n8n 미지원) |
| 이벤트 기반 자동화 | ✅ n8n 워크플로우 엔진 | ❌ n8n 미지원 (코드로 직접 구현) |
모바일 에러 로그 자동화
| 기능 | 독일향 (현재) | 한국향 |
|---|---|---|
| 아키텍처 접근법 | 🔄 n8n 기반 유연한 워크플로우 | 💻 코드 직접 구현 (유연성 제한) |
| Slack Webhook 연동 | ✅ n8n으로 플랫폼별/환경별/심각도별 자동 전송 | ✅ 코드로 직접 구현 (변경 시 재배포 필요) |
| iOS 에러 분류 | ✅ n8n으로 Critical/Major/Minor 레벨별 분리 | ✅ 코드로 직접 구현 (로직 변경 어려움) |
| Android 에러 분류 | ✅ n8n으로 Critical/Major/Minor 레벨별 분리 | ✅ 코드로 직접 구현 (로직 변경 어려움) |
| 환경별 분리 | ✅ n8n으로 PROD/DEV 환경별 webhook 매핑 | ✅ 코드로 직접 구현 (설정 변경 제한) |
| 런타임별 분리 | ✅ n8n으로 release/debug 모드별 처리 | ✅ 코드로 직접 구현 (분기 로직 고정) |
| 정보 로그 수집 | ✅ n8n mobile-info-logs-to-slack 워크플로우 | ✅ 코드로 직접 구현 (확장성 제한) |
| 백업 자동화 | ✅ n8n community-backup-to-github 워크플로우 | ✅ 코드로 직접 구현 (스케줄링 제한) |