개인 운동 루틴 기록 및 맞춤형 추천 서비스
FitLog는 운동, 체중, 인바디, 식단 등의 데이터를 기록하고 분석하여 사용자의 목표에 맞는 운동 루틴과 식단을 추천하는 서비스입니다.
본 프로젝트는 Spring Boot 기반의 REST API 서버 개발을 학습하기 위한 개인 프로젝트이며, 제가 사용하려고 만들었습니다.
- 체중 및 신체 변화 기록
- 운동 기록 관리
- 인바디 정보 관리
- 운동 루틴 관리
- 운동 데이터 분석
- 맞춤형 운동 루틴 추천
- 맞춤형 식단 추천
- Spring Boot 기반 백엔드 개발
- REST API 설계
- Spring Data JPA 활용
- MySQL 데이터 모델링
- 계층형 아키텍처 설계
- 예외 처리 및 검증
- AI API 연동 경험
- Docker 및 배포 경험
- Java 21
- Spring Boot
- Spring Data JPA
- Hibernate
- MySQL
- Docker
- Docker Compose
- Swagger (SpringDoc OpenAPI)
- OpenAI API (예정)
- Git
- GitHub
사용자의 현재 몸 상태를 기록합니다.
- 키
- 체중
- 나이
- 성별
- 인바디 정보
- 골격근량
- 체지방량
- 체지방률
- BMI
- 기초대사량
체중 변화를 추적합니다.
- 체중 기록
- 체중 수정
- 체중 삭제
- 기간별 조회
- 체중 변화 그래프
- 평균 체중 계산
- 목표 체중 대비 진행률
사진을 통해 신체 변화를 관리합니다.
- 사진 업로드
- 촬영 날짜 저장
- 기간별 조회
- 전후 비교
- AI 기반 변화 분석
운동 수행 내역을 저장합니다.
- 복싱
- 유도
- 주짓수
- 런닝
- 헬스
- 맨몸운동
- 운동 종류
- 운동 시간
- 운동 강도
- 메모
점진적 과부하를 위한 상세 기록 기능
- 운동명
- 세트 수
- 반복 횟수
- 무게
- 운동 부위
벤치프레스
- 60kg × 10회
- 65kg × 8회
- 70kg × 6회
사용자가 운동 종류를 직접 등록할 수 있습니다.
- 벤치프레스
- 스쿼트
- 데드리프트
- 풀업
- 딥스
사용자의 운동 목표와 운동 이력을 기반으로 추천
예시
- 감량 루틴
- 증량 루틴
- 유지 루틴
- 복구 루틴
사용자의 활동량과 목표에 따른 식단 추천
예시
- 벌크업 식단
- 감량 식단
- 유지 식단
- BMR 계산
- TDEE 계산
- 목표 칼로리 계산
AI가 운동 데이터를 분석하여 피드백 제공
예시
- 운동량 부족 분석
- 운동 빈도 분석
- 루틴 개선 제안
- 식단 피드백
- 목표 달성 가능성 예측
주요 엔티티
- User
- BodyProfile
- WeightRecord
- InbodyRecord
- BodyImage
- Exercise
- WorkoutLog
- WorkoutSet
- Routine
- Recommendation
- 사용자 관리
- 체중 기록 CRUD
- 인바디 기록 CRUD
- 운동 기록 CRUD
- 운동 종류 관리
- 운동 통계
- 체중 변화 분석
- 루틴 관리
- 목표 설정
- 식단 관리
- 칼로리 계산
- 추천 시스템
- OpenAI 연동
- AI 운동 코치
- AI 식단 코치
- 객체지향 설계
- 계층형 아키텍처
- REST API 설계
- JPA 엔티티 설계
- 트랜잭션 관리
- 예외 처리
- 인증/인가
- Docker 배포
- AI API 연동
박민욱
Backend Study Project with Spring Boot