[Feat] - Apple Watch 건강 데이터 서버 API 연동#294
Open
thingineeer wants to merge 6 commits intoRunnect:developfrom
Open
[Feat] - Apple Watch 건강 데이터 서버 API 연동#294thingineeer wants to merge 6 commits intoRunnect:developfrom
thingineeer wants to merge 6 commits intoRunnect:developfrom
Conversation
- WorkoutManager에 심박수 샘플 추적 및 Zone 분포 계산 추가 - WatchSessionManager에 transferUserInfo 기반 건강 요약 전달 구현 - WatchSessionService에 didReceiveUserInfo 및 실시간 건강 데이터 수신 구현 - RunningModel에 healthSummary 필드 추가 - RunningRecordRequestDto에 HealthDataRequestDto 추가
- RunTrackingVC에 실시간 심박수/칼로리 표시 추가 - RunningRecordVC에 건강 데이터 요약 섹션 추가 - HeartRateZoneBarView 신규 컴포넌트 구현 - 기존 브랜드 컬러/폰트 시스템 일관성 유지
- RecordRouter에 건강 데이터 API 엔드포인트 4개 추가 - POST /record 응답에서 recordId 파싱하여 2-step 저장 흐름 구현 - 409 Conflict 시 DELETE 후 재전송 retry 로직 추가 - WatchHealthSummary에 minHeartRate, heartRateSamples, zoneDurations 보강 - WorkoutManager에 개별 심박수 샘플 및 최저 심박수 포함 - ActivityRecordDetailVC에 과거 기록 건강 데이터 조회 및 표시 추가 - ActivityRecord에 optional healthData 필드 추가 (하위 호환)
- maxHeartRateConfig 타입 Int → Double (서버가 190.0으로 반환) - HealthSummaryResponseDto에 summary nested 구조 반영
8c8c679 to
259ecf7
Compare
- Created by Runnect → Created by 이명진 일괄 변경 - Watch App + iOS 공통 20개 파일
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🌱 작업한 내용
Apple Watch에서 수집하는 건강 데이터(심박수, 칼로리, 심박수 Zone)를 iPhone으로 전달하고, 서버 Health Data API와 연동하여 2-step 저장 흐름을 구현했습니다.
Watch
WorkoutManager에 심박수 샘플 추적 및 Zone 분포 계산 로직 추가WatchSessionManager에transferUserInfo기반 건강 요약 데이터 전달 구현데이터 수신 및 UI
WatchSessionService에didReceiveUserInfo구현 (건강 요약 수신)WatchSessionService에 실시간 심박수/칼로리 수신 및 Combine 바인딩RunTrackingVC러닝 중 실시간 심박수/칼로리 표시RunningRecordVC기록 저장 화면에 건강 데이터 요약 섹션 추가HeartRateZoneBarView신규 컴포넌트 (보라 계열 Zone 바 차트)서버 API 연동
RecordRouter에 Health Data API 엔드포인트 4개 추가 (POST/GET/DELETE/GET summary)data.record.id파싱 → 2-step 저장 흐름ActivityRecordDetailVC에 과거 기록 건강 데이터 조회 및 표시ActivityRecord에 optionalhealthData필드 추가 (하위 호환)신규 DTO
HealthDataSaveRequestDto— POST /record/{id}/health 요청 (flat zone 필드)RecordResponseDto— POST /record 응답 recordId 파싱HealthDataResponseDto— GET /record/{id}/health 응답 (nested zones)HealthSummaryResponseDto— GET /health/summary 기간별 통계Graceful Degradation
🌱 PR Point
📮 관련 이슈