Skip to content

feat: 운동 휴식 타이머 서버 API 연동 - #191

Merged
A6ul1213 merged 1 commit into
devfrom
feat/#190-workout-rest-api
Nov 6, 2026
Merged

A6ul1213 merged 1 commit into
devfrom
feat/#190-workout-rest-api

Conversation

@A6ul1213

@A6ul1213 A6ul1213 commented Nov 6, 2026

Copy link
Copy Markdown
Member

Summary

  • 반복 기반 세트를 서버에 저장한 뒤, 다음 세트가 있을 때 서버 휴식을 시작하고 응답의 종료 시각으로 타이머를 동기화합니다.
  • 앱이 다시 활성화될 때 현재 휴식을 조회합니다. 서버 휴식 건너뛰기와 15초 연장은 요청 성공 뒤에만 화면에 반영합니다.
  • 휴식 생성이 실패해도 저장된 세트는 다시 보내지 않습니다. 현재 휴식 상태를 먼저 조회하고, 해결되지 않으면 같은 휴식 요청을 재시도하거나 휴식을 건너뛸 수 있습니다.
  • 시간 기반 세트는 기존 로컬 동작을 유지합니다. 세션 완료 API는 expectedVersion 규칙이 명세에 없어 제외했습니다.

Related issue

Closes #190

Verification

  • Tuist project generation — 저장소 고정 Tuist 4.202.0의 ProjectDescription(Swift 6.2)이 Xcode 27.1(Swift 6.4)과 호환되지 않아 임시 probe 프로젝트를 Tuist 4.209.0으로 생성했습니다. 임시 probe에서는 10MB 가변 폰트와 중복 위젯 폰트 리소스를 제외했습니다. 저장소 Project.swift는 수정하지 않았습니다.
  • Build — 임시 probe에서 iPhone 17e Debug 빌드 통과
  • Unit tests — 집중 XCTest 16개 통과 (서비스 3, 진행 4, 휴식 9)
  • SwiftLint — strict 검사 212개 파일, 위반 0건
  • Runtime or UI check — iPhone 17e 앱 설치·실행 smoke 및 RoutineSessionFlowUITests/testTimedPlankCompletesRestAndSavesHistory 통과

제한 사항

  • 로컬 Compose 백엔드가 실행되지 않아 실제 서버 요청은 검증하지 못했습니다. UI 캡처에는 기존 이전 기록 조회 오류 안내가 표시됩니다.
  • 휴식 생성 API에는 멱등성 키가 명세되어 있지 않습니다. 재시도 전 현재 휴식을 조회해 중복을 줄이지만, 응답이 불분명한 상태에서 다시 요청할 경우 중복 휴식이 생길 가능성이 남습니다.

Review checklist

  • Scope is limited to the linked issue.
  • Tests cover changed behavior where appropriate.
  • No secrets, generated Xcode project files, or unrelated changes are included.

@A6ul1213
A6ul1213 marked this pull request as ready for review November 6, 2026 10:58
@A6ul1213
A6ul1213 merged commit b72d63a into dev Nov 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 운동 휴식 타이머 서버 API 연동

1 participant