LET'S OOO
개요
운동 기록과 성장과정 트래킹을 빠르고 직관적으로 만들기 위해 제작한
인터랙션 중심 운동 기록 웹 애플리케이션입니다.
기록 / 조회 / 회고 흐름을 하나의 인터페이스 안에서 처리할 수 있도록 설계했으며,
반복 입력 피로를 줄이기 위해 키보드 기반 세트 입력 UX를 구현했습니다.
사용한 기술
- React
- Next.js
- TypeScript
- TailwindCSS
- Recharts
프로젝트 목적
운동을 꾸준히 하지 못하는 이유 중 하나는
기록 자체보다도,
자신의 운동 흐름과 변화를 체감하기 어렵다는 점이라고 생각했습니다.
이 프로젝트에서는
단순히 운동 데이터를 저장하는 것을 넘어,
- 언제 운동을 쉬었는지
- 어떤 부위 운동 주기가 길어졌는지
- 이전 운동 대비 수행량이 어떻게 달라졌는지
를 사용자가 자연스럽게 확인할 수 있도록 설계했습니다.
운동 기록 → 날짜 기반 탐색 → 운동 결과 회고 흐름을 하나의 인터페이스 안에서 연결하여, 기록 자체가 다시 운동을 이어가게 만드는 경험이 되도록 구현했습니다.
설계 포인트
- 운동 데이터를 날짜 기준으로 관리하기 위해
캘린더 기반 기록 구조 설계 - 세트 입력 속도를 높이기 위해
Enter / Tab 기반 키보드 인터랙션 UX 구현 - 마지막 reps 입력 시 다음 세트를 자동 생성하는
상태 기반 입력 흐름 설계 - 운동 볼륨과 운동 시간을 직관적으로 확인할 수 있도록
Recharts 기반 데이터 시각화 구현 - 모바일 / 데스크탑 환경에 따라
다른 인터페이스를 제공하는 반응형 UX 설계 - 서버 없이도 기록 데이터를 유지할 수 있도록
localStorage 기반 상태 영속화 구조 구현
구조를 선택한 이유
- 반복 입력 과정의 피로를 줄여
운동 기록 흐름이 끊기지 않도록 하기 위해 - 날짜 기준 탐색 구조를 통해
기록 조회와 회고 경험을 직관적으로 제공하기 위해 - 운동 데이터를 단순 저장이 아닌
사용자 행동 분석 흐름으로 연결하기 위해 - 다양한 디바이스 환경에서도
빠르게 기록 가능한 경험을 제공하기 위해
이 프로젝트를 통해 얻은 것
- 상태 기반 인터랙션 UI와 입력 흐름 설계 경험
- 데이터 구조와 UI 흐름을 함께 고려하는 경험
- 캘린더 기반 데이터 탐색 인터페이스 구현 경험
- 사용자 행동 흐름을 고려한 제품형 UI 설계 경험
- Recharts 기반 데이터 시각화 및 반응형 UI 구현 경험
프로젝트 완료를 위해 남은 과제
- 운동 기록 데이터 기반 분석 기능 확장
- 공통 컴포넌트 및 디자인 시스템 정리
- 서버 연동 및 사용자 계정 기능 추가
- 사용자간 공유 기능 추가
- 트레이너-회원 간 관리 기능 추가