01 · Problem
위치·러닝 모드·인증 상태가 동시에 바뀌고, 네트워크 단절과 GPS 순간 노이즈가 실시간 위치와 pace 표시를 불안정하게 만들었습니다.
실시간 위치 공유와 러닝 기록을 모바일에서 안정적으로 유지한 위치 기반 러닝 앱
위치·러닝 모드·인증 상태가 동시에 바뀌고, 네트워크 단절과 GPS 순간 노이즈가 실시간 위치와 pace 표시를 불안정하게 만들었습니다.
Frontend / Mobile (전담) · 프론트엔드를 전담해 러닝 상태를 store별로 분리하고, STOMP 재연결·인증 refresh queue·거리 기반 pace 계산을 구현했습니다.
모드별 Zustand store와 hook을 구성하고 STOMP heartbeat/reconnect, Axios refresh queue, 최근 10초 거리 누적 pace 계산을 적용했습니다.
실시간 위치는 STOMP publish/subscribe로 분리하고 GPS raw speed 대신 거리 기반 window를 사용했으며, 동시 401 요청은 하나의 refresh queue로 묶었습니다.
최근 10초 거리 누적값으로 pace를 계산하고 STOMP heartbeat/reconnectDelay와 Axios refresh queue로 복구 경로를 구성했습니다.
10초 거리 누적값 기반으로 페이스를 계산했습니다.heartbeatIncoming, heartbeatOutgoing, reconnectDelay를 두고 publish/subscribe 경로를 러닝 모드별로 나눴습니다.10초 거리 누적값 기반으로 다시 계산해 흔들림을 줄였습니다.10초 거리 기반 계산으로 바꿨습니다.heartbeat와 reconnectDelay 설정으로 단발성 끊김 이후 자동 복구 경로를 만들었습니다.401 응답은 refresh queue 하나로 묶어 중복 재인증 요청을 줄였습니다.