Roomfit V2 — SW 진행 현황

전류 제어 기반 디지털 웨이트 머신 · Flutter B2B App

2026-04-14
프로젝트 시작: 2026-03-27 (19일차)
목표 출시: 2026-05-14 (D-30)
48
Total Commits
117
Source Files
41
Test Files
72%
Core Complete
30
Days to Launch
사업 배경
WESPION / Roomfit
제품: 모터 기반 가변저항 스마트 웨이트 머신 (중력 X, 전류 = 토크 = 무게)
단가: 348~398만원 (고단가 하드웨어)
타깃: B2C 홈짐 + B2B 피트니스 센터/PT샵
핵심 기술: 6가지 WeightMode (Normal, Eccentric, Elastic, Isokinetic, Hydraulic, Vibration)
데이터: 50ms 주기 36B 리포트 (position, speed, accel, force, voltage)
팀 구성
황성우: 대표 (모터공학 박사, 핵심 알고리즘 설계자)
최종혁: SW 개발 + 트레이너 출신 (앱 구현 + 운동 도메인)
김형은: 마케터 (콘텐츠 + 퍼포먼스 광고)
AI 에이전트 4명: 독술(총괄/CS), 코낄(프론트), 고릴(인프라), 호랑(앱)
B2B 앱 출시 데드라인: 2026-05-14 (D-30)
V2 핵심 변경점 (V1 대비)
아키텍처
모놀리스 → 7개 독립 패키지 (protocol · ble · device · exercise · workout · design_system · shop). Pure Dart 코어, Flutter는 BLE/UI만. 4계층 layer-separation 엄격 분리.
운동 분석
단순 카운터 → VBT(Velocity Based Training). MCV, velocity loss %, power. T-Force 골드 스탠더드. 6-State FSM Rep Detection. 드롭셋 자동 전이 + 6 모드 세부 파라미터.
데이터
로컬 저장 → Supabase 클라우드. Auth + RLS (owner/trainer/member role routing). B2B Studio 앱 (SessionConsole + 드롭셋 + ROM 리셋) 완성.
최근 PR 히스토리 (2026-04)
PR #67
device weight seed motion.weightSet로 (기존 weight.leftWeightKg 은 첫 진입 시 0)
MERGED
PR #66
SessionConsole v1 완전 포팅 — 드롭셋 · 6 모드 세부 파라미터 · ROM 리셋 · ConfigStatusBox · 3-column 스테퍼 · v1 startWithFirstSet 7-step MCU 시퀀스 · SetModeParamCommand (0xF5 0x05 13 헬퍼)
MERGED
PR #65
고충실도 MCU mock (MockDeviceGateway 공유 test-helper) · projectResponse 단일 진실원 · 6 e2e 시나리오 · LiveLineChart design_system 이동
MERGED
PR #61
e2e harness + SessionConsole 허브 패턴 + v1 MCU 기본 시퀀스 · BLE UUID HM-10 정렬
MERGED
패키지 테스트 현황: 201/201 그린 (workout 45 · protocol 113 · design_system 4 · device 39) · flutter analyze 0 errors.
릴리즈 파이프라인 (확보된 인프라)
Flutter Build (AAB + IPA)
Firebase App Distribution (Android)
TestFlight (iOS)
Play Store / App Store
Fastlane 자동화 완비 (v1.7.0 실배포 검증)
모듈별 진행 현황
모듈패키지상태완료 항목잔여 작업
BLE 프로토콜 roomfit_protocol 완료 26 Commands, 17 Responses, 36B 리포트, FrameCodec -
BLE 통신 roomfit_ble 완료 BleScanner, BleTransport (NUS), 자동 재연결 -
디바이스 게이트웨이 roomfit_device 완료 DeviceGateway, DeviceState(freezed), MockDeviceGateway -
운동 분석 엔진 roomfit_exercise 완료 6-State FSM Rep Detection, VBT Metrics (MCV, velocity loss), AutoRomLearner, Recording/Replay -
디자인 시스템 design_system 완료 토큰(color/spacing/typography), Atoms, Molecules, AppTheme -
인증 lib/features/auth 완료 Supabase Auth, auth gate, login screen -
운동 플로우 lib/features/workout 진행중 exercise select → workout live → set/session summary, history, E2E 테스트 실기기 E2E 통합, 운동 프리셋/루틴
DB (Supabase) supabase schema 진행중 운동 데이터 수집 스키마 사용자/기구/gym 관리 테이블, RLS
B2B 기구 관리 - 미착수 - 기구 등록/상태 모니터링, 펌웨어 버전 관리
B2B 회원 관리 - 미착수 - gym 소속 회원 CRUD, 운동 기록 조회
B2B 트레이너 대시보드 - 미착수 - 회원 운동 현황, 세트/세션 통계, 목표 관리
배포 파이프라인 - 미착수 - TestFlight/Firebase App Distribution, 에러 리포팅
패키지 아키텍처
roomfit_protocol
Pure Dart. BLE 프레임 코덱, 26 Commands, 17 Responses, 50ms 리포트 파싱
완료
roomfit_ble
Flutter. BLE 스캐너 + BleTransport (flutter_blue_plus HM-10 0xFFE0/FFE1)
완료
roomfit_device
Pure Dart. DeviceGateway · projectResponse (단일 진실원) · MockDeviceGateway (공유 test helper) · testing.dart barrel
완료
roomfit_exercise
Pure Dart. Rep detection (6-state FSM), VBT metrics, AutoRomLearner, Record/Replay
완료
roomfit_workout
Pure Dart. SetExecutor · SessionManager · NextSetPreset · DropSetConfig · ModeIntensity · DropSetStepAdvancer · RestDetector · SetCutoffTrigger
완료
design_system
Flutter. 토큰 + atoms/molecules — LiveLineChart · RestPauseDialog · ConfigStatusBox · WeightStepperColumn · SetConfigBottomSheet · WeightModeBottomSheet
완료
features/auth
Supabase Auth, auth gate, login/signup, role routing (owner/trainer/member)
완료
features/workout (b2c)
B2C 운동 플로우. select → live → summary → history
90%
apps/b2b Studio
Owner/Trainer 앱. SessionConsole 허브 + LiveWorkoutScreen + v1 완전 포팅 (드롭셋 · 6모드 · ROM 리셋)
완료
1개월 출시 타임라인 (D-30)
Week 1 — 배포 목표
4/14 ~ 4/20
  • 실기기 BLE 연결 → 전체 운동 플로우 E2E 검증
  • TestFlight + Firebase App Distribution 배포
  • 실기기 운동 시연 영상 촬영 (앱심사용)
  • 황성우 대표 미팅: SW 4-2 요구사항 구체화
Week 2 — B2B 코어
4/21 ~ 4/27
  • B2B Supabase 스키마 (gym, member, device)
  • 기구 등록/페어링 플로우
  • B2B 회원 관리 (CRUD + 운동 기록)
  • 운동 데이터 Supabase 동기화
Week 3 — 대시보드 + QA
4/28 ~ 5/4
  • 트레이너 대시보드 v1 (회원 운동 현황)
  • 현장 QA (실기기 + 실사용자)
  • 에러 리포팅 (Crashlytics)
  • App Store 심사 제출 (영상 첨부)
Week 4 — 안정화 + 릴리즈
5/5 ~ 5/14
  • 심사 피드백 대응 + 버그 수정
  • B2B 고객사 온보딩 가이드
  • 릴리즈 노트 (유저용/개발자용 분리)
  • v2.0 정식 릴리즈
이번 주 최우선 — 배포 + 영상 (4/14 ~ 4/20)
P0
실기기 BLE 연결 → 운동 플로우 E2E (스캔 → 연결 → 무게설정 → 운동 → 세트완료 → 세션요약)
종혁
P0
TestFlight + Firebase 배포 (Fastlane 파이프라인 V2 적용, 빌드번호 세팅)
종혁
P0
실기기 시연 영상 촬영 — BLE 연결 → 운동 수행 → 데이터 표시. 앱스토어 심사 제출용 + 황성우 대표 공유용
종혁
P1
황성우 대표 미팅: SW 4-2 노션 요구사항 구체화 + B2B 범위 확정
종혁
P1
에이전틱 세팅: Claude Code + MCP 기반 개발 자동화 환경 (황성우 대표 제안)
종혁
리스크 & 블로커
SW 4-2 요구사항 미확정
노션 페이지 공유됐으나 구체적 스펙 미정. 이번 주 미팅에서 확정 필요. 1개월 촉박.
실기기 테스트 미완료
현재까지 MockDevice로만 개발. 실기기 BLE 통신 + 운동 플로우 E2E 검증 시급.
MCU 펌웨어 협업
mcu-requests 문서로 소통 중. 펌웨어 변경 필요 시 리드타임 존재.
B2B 기능 범위
기구 관리, 회원 관리, 트레이너 대시보드 — 1개월 내 MVP 범위 조율 필요.
앱스토어 심사
BLE 사용 앱은 심사에 추가 시간 소요 가능. W3에 TestFlight 제출하여 버퍼 확보.
오프라인 동기화
gym 환경에서 네트워크 불안정 가능. 로컬 → Supabase 동기화 전략 필요.
기술 스택
App
Flutter 3.x
Dart, Riverpod, Freezed
BLE
flutter_blue_plus
NUS (Nordic UART), 50ms 리포트
Backend
Supabase
PostgreSQL, Auth, RLS, Realtime
Hardware
WESPION MCU
전류 제어 모터, 6 WeightMode
RoomfitV2 SW Status Dashboard · IntelliEffect · Updated 2026-04-14 11:00 KST