HONGSI: Human Healthcare

Apple Watch 기반 개인 건강 데이터 플랫폼(HealthKit 연동 예정). 실시간 모니터링과 지표 기반 피드백으로 더 나은 삶의 리듬을 설계합니다.

서비스 개요

HONGSI는 심박수, 활동량, 수면 패턴, HRV(심박변이도) 등 생체 지표를 시각화하고 실시간 알림을 제공합니다. 현재는 모의 데이터/CSV·XML 업로드(예: Apple Health 내보내기 파일) 및 외부 API를 통해 수집·검증 중이며, HealthKit 네이티브 연동은 차기 버전에서 제공 예정입니다. 서버 파이프라인은 Sensor(Mock/CSV/API) → Kafka → Spark → Redis → Spring Boot API → WebSocket → Next.js 흐름으로 실시간 전달됩니다.

서비스 화면

사용자 대시보드
건강 추이 그래프

주요 기능

건강 지표 실시간 추적

심박수, HRV(스트레스 추정), 활동량 등 핵심 지표를 초단위로 수집·갱신(모의/업로드/외부 API).

사용자 맞춤 경고 시스템

급격한 심박 변화, 수면 이상 패턴, 활동량 급감 등 조건 탐지 시 앱/이메일/Slack Webhook 알림.

건강 트렌드 분석

1일/1주/1개월 시계열, 계절성/주기성 탐지, 파생 지표(회복 지수 등).

접근 제어·프라이버시

OAuth2 + RBAC, 데이터 최소수집·가명처리·보존기간 정책(HealthKit 동의/철회 기록은 차기 버전에서 추가).

Materialized View 기반 시각화

Spark + dbt 전처리 → DWH → MV → WebSocket으로 저지연 시각화.

아키텍처 구성도

architecture-0
  1. 데이터 소스(현재): Mock Generator / CSV·XML 업로드(Apple Health 내보내기) / 외부 API
  2. Gateway(Spring Boot/Lambda) → Kafka: 파티션 키·Idempotency Key 부여, 실패 레코드는 DLQ 격리
  3. Spark Streaming: 체크포인트/오프셋 관리 + 파생 지표 계산 → Redis TTL 캐시
  4. Spring Boot: Redis pub/sub → WebSocket으로 Next.js에 실시간 브로드캐스트(서버 coalescing/우선순위 큐)
  5. 장기 보관: S3 + (선택) Delta Lake/Iceberg → Spark Batch + dbt + GE 정제 후 DWH 적재
  6. 분석/운영: Superset 대시보드, Airflow로 MV 리프레시, Prometheus/Alertmanager·OpenTelemetry로 관측성
  • 차기: iOS 앱 HealthKit 권한·동의 기반의 네이티브 수집 경로 추가

기술 스택

프론트엔드: Next.js, TailwindCSS, Recharts, WebSocket 백엔드: Spring Boot, Redis, PostgreSQL 실시간 처리: Kafka, Spark Structured Streaming, Redis Pub/Sub 배치 처리: Airflow, Spark Batch, dbt, Great Expectations 저장소: AWS S3, (선택) Delta Lake/Iceberg, DWH(예: BigQuery/Redshift/ClickHouse) 시각화: Superset, 커스텀 Next.js 대시보드 보안/거버넌스: OAuth2/RBAC, TLS, KMS 키 관리, 감사로그 인프라/관측성: Docker, Kubernetes, Prometheus + Alertmanager, OpenTelemetry (계획) iOS: HealthKit 권한·동의 플로우, Sign in with Apple

담당 역할

문제 해결 및 성과

회고