---
title: "🏗️ 260622 — 달록 앱화 설계 (커리큘럼 + 아키텍처)"
category: "design"
parent: "Claude Code 작업보고"
document_type: "설계"
source_status: "generated"
knowledge_group: "02_specs"
priority: "High"
purpose: "달록 웹앱을 안드로이드 앱(Capacitor+원격URL)으로 포장하고 헬스커넥트·웨어러블 어댑터·자체 워치앱으로 확장하는 전체 커리큘럼과 아키텍처. 어댑터 우선순위 시장조사 결론 포함."
read_when: ["앱화·플레이스토어","헬스커넥트·웨어러블","아키텍처·설계","웨어러블 어댑터 우선순위"]
updated: "2026-06-22"
work_timestamp: "20260622_164251"
context: "달록본레포CC (D:\\dallog\\dallog_git) — 달록 앱화·웨어러블 설계 묶음."
source_of_truth: "https://dallog-tools.hansbridge.co.kr/knowledge/"
---
> 2026-06-22 설계. 달록 앱화(Capacitor 폰앱 + 헬스커넥트 + 워치/웨어러블 어댑터) 커리큘럼·아키텍처 SoT. 스키마 상세는 별도 문서 `260622_설계_웨어러블-정규화흡수층-스키마` 참조.

## 0. 한 장 요약

달록 웹앱(dallog.kr)을 **안드로이드 앱으로 포장**하고, **헬스커넥트(삼성헬스·갤럭시워치 자동수집)** 를 붙인 뒤, 장기적으로 **달록 자체 워치앱(직접 측정)** 과 **가민 등 외부 웨어러블 연동**으로 확장한다.

- 폰 앱은 **Capacitor**로 포장하되, 화면은 **dallog.kr을 실시간으로 띄우는 방식(A)** → 사용자는 강제 업데이트 없이 늘 최신 사용
- **헬스커넥트**가 달록의 핵심 가치(기록 작성의 극한의 편의성)
- 데이터 소스는 **"정규화 흡수층"** 하나로 통일 → 가민·애플 등은 어댑터만 추가하면 달록 본체는 안 건드림

## 1. 커리큘럼 (Phase 0~5)

| Phase | 내용 | 던스/계정 필요 | 비고 |
|---|---|---|---|
| 0. 사전정지 | 구글 개발자(조직)계정·D-U-N-S, 환경(Android Studio/JDK) | ✅ 진행중 | DUNS 케이스 #34618555 대기(7~14영업일) |
| 1. Capacitor 포장 | 웹앱을 안드로이드 껍데기에 담기(A 방식), 아이콘·스플래시·패키지명 | ❌ | demo 환경서 착수 가능 |
| 2. Play Console 등록 | .aab 업로드 → Play App Signing → SHA-1 지문 확보 | ✅ | 던스 후 |
| 3. 앱용 OAuth 재설정 | SHA-1을 카카오·네이버·구글에 키해시 등록 | ✅(SHA-1 선행) | Phase2 종속 |
| 4. 헬스커넥트 연동 | 플러그인 연결, 읽기 권한, 헬스데이터 정책심사 | 개발=❌ / 정식승인=✅ | 최장 심사 대기 |
| 5. 테스트→출시 | 내부→비공개→정식 검토 | ✅ | 조직계정은 테스터20명·14일 면제 |

**불변 의존성**: SHA-1(Phase2) → OAuth 재설정(Phase3). 순서 불변.

## 2. 폰 앱 아키텍처 — Capacitor + A(원격 URL)

```
[Capacitor 안드로이드 껍데기 (.aab → Play Store)]
 ├─ WebView: dallog.kr 실시간 로드  ← A 방식
 │    └─ 달록 React 앱 (기존 코드 100% 재사용, demo→main 파이프라인 그대로)
 └─ 네이티브 플러그인: Health Connect 브릿지
```

- 원격 URL을 로드해도 Capacitor 런타임이 주입돼 웹 JS가 네이티브 플러그인 호출 가능
- 네이티브 전용 기능은 `Capacitor.isNativePlatform()` 게이트 뒤 → **웹 demo R&D 무간섭**
- 장점: 무중단 배포, 강제 업데이트 없음, 실시간 최신
- **비상 폴백 B(번들+OTA)**: 만에 하나 순수 웹뷰 사유 반려 시. 웹코드·헬스커넥트·파이프라인 그대로, 포장만 전환(재작성 아님). 헬스커넥트 네이티브 기능이 "단순 래퍼 아님" 명분 → 반려위험 낮음

## 3. 정규화 흡수층 (설계의 심장)

모든 운동·건강 데이터를 **하나의 표준 포맷**으로 받아, 달록 본체(대시보드·브리프·코치)는 그 표준만 읽는다. 소스가 늘어도 본체는 안 바뀐다.

### ★어댑터 두 종류 — "지금 뭘 할 수 있나"를 가른다
| 종류 | 동작 위치 | 예시 | 앱 필요? | 던스 필요? |
|---|---|---|---|---|
| 기기 어댑터 | 앱 안(네이티브 API) | 헬스커넥트, HealthKit | ✅ Capacitor | 출시 시 |
| 클라우드 어댑터 | 서버(OAuth+웹훅) | **가민**, 스트라바 | ❌ **웹서 가능** | ❌ **불필요** |

→ **가민 연동은 던스·Capacitor 안 기다리고 지금 웹에서 개발 가능.** Garmin Health API는 Push(웹훅) 방식.

## 4. 어댑터 우선순위 (시장조사 확정 2026-06-22)

deep-research 17개 사실 3표 교차검증 결과.

| 순위 | 어댑터 | 종류 | 근거 | 신뢰도 |
|---|---|---|---|---|
| 1 | 삼성헬스 / 헬스커넥트 | 기기 | 한국 안드로이드 기반, 무API, 갤럭시워치 자동유입 | 🟢 |
| 2 | **가민** | 클라우드 | 러너층 지배(58%vs애플29%), 공식 API+HC, 웹서 선개발 | 🟢 |
| 3 | 달록 자체 워치앱 | 직접측정 | 데이터 종속 회피·차별화 | — |
| 4 | 애플워치/HealthKit | 기기(iOS) | iOS 1/3 시장이나 안드로이드 도달불가 → iOS 단계 | 🟡 |
| 5 | 나이키런 / COROS | 클라우드 | 나이키=공식API無·2회 차단, COROS=엘리트니치 | 🔴/후순위 |

**근거 데이터**:
- 한국=압도적 안드로이드: OS 점유율 안드로이드 66.9% vs iOS 33.09%(2026.5 StatCounter), 폰 판매 삼성 82%(2025 1~7월 Counterpoint) → 안드로이드 우선이 데이터로 정답
- 애플워치=아이폰 전용(Apple 공식) → 안드로이드 앱으로 도달 불가, iOS 단계로 분리
- 진지한 러너층=가민 지배: Running USA 2025 러너 12,700명 중 가민 58.4% vs 애플워치 29.3%, 가민 +8%↑/애플 −5%↓, 2026 런던마라톤 엘리트 가민3·COROS2·삼성1·애플0
- 가민=나이키와 정반대: 공식 문서화 Health API(Push) + Health Connect 지원(I/O 2025) = 정식·안정 연동. 나이키런=공식 API 없음, 2020·2024 두 번 차단(RunGap 영구중단)
- **한계**: 한국 스마트워치 브랜드별 점유율·러너세그먼트 전용 통계 미발견(미국 러너데이터+한국 안드우위 결합추론). 한국 연령별 폰점유율은 검증 한도초과로 제외

## 5. 워치 앱 트랙 (별도 네이티브 프로젝트)

- **Wear OS 네이티브**(Kotlin + Compose for Wear OS) — Capacitor 불가
- **직접 측정** = Wear OS **Health Services**(센서 실시간: 심박·GPS·운동)
- 폰 동기화: Wearable Data Layer 또는 헬스커넥트 write
- 타겟=갤럭시워치/Wear OS 우선(iOS 자원부족), 장기=가민·애플워치·기타 포괄
- 폰앱 출시 후 패스트팔로우. 나이키런처럼 데이터 안 풀어주는 앱 사용자도 "달록으로 직접 뛰게" → 종속 해소

## 6. 헬스커넥트 권한·정책

- 읽기 권한: 운동·걸음·심박·체성분 등 **최소 신청**
- 정식 출시 시 헬스 데이터 정책 선언 + 개인정보처리방침 필요(심사 깐깐, 표준 기반 준비)
- 개발·테스트: 실기기 권한허용으로 즉시 사용(정식 승인은 계정 생성 후)

## 7. 즉시 착수 가능 작업 (DUNS·계정 무관)

권고 착수 순서: **①정규화 스키마 설계 → ②가민 클라우드 어댑터(웹) → ③Capacitor+헬스커넥트**
1. 정규화 흡수층 스키마 설계 (순수 설계) — **v0.2 완료**(별도 문서)
2. 가민 클라우드 어댑터 (OAuth+웹훅, 웹서 완결)
3. Capacitor 스캐폴드 + 헬스커넥트 플러그인 + isNativePlatform 게이트
4. 헬스 데이터 개인정보처리방침 초안

## 8. 리스크

- DUNS 대기(7~14영업일)=출시만 막음, 개발 무관
- 헬스 데이터 정책 심사=최장 대기 → 개인정보처리방침·선언서 미리 준비로 단축
- A 방식 반려(낮음) → B 폴백 준비됨
- 워치앱=신규 네이티브 스킬셋, 별도 트랙·일정

---

<!-- ───────────────────────────────────────────── -->
