📅 오늘 한 일
1. 개인 프로젝트 기획
서비스명 : Better(가제)
서비스 내용 : 사용자의 운동 기록과 신체 상태를 추적하고 통계와 현황 대시보드를 제공한다.
메인 기능
- 운동
- 기록
- 신체 부위 - 종목 / 세트 수 / 세트 별 중량 / 횟수 / 휴식 시간 / 운동 볼륨 / 체감 난이도
- 통계 및 대시보드
- 운동 기록 추적 통계와 그래프
- 라인 그래프 (변화 추적)
- 레이더 그래프 (운동 균형 측정)
- 신체 상태
- 기록
- 체중 / 지방량 / 골격근량 / 제지방량
- 통계 및 대시보드
- 신체 상태 추적 통계와 그래프
- 라인 그래프 (변화 추적)
- 도넛 그래프 (신체 상태 측정)
추가 기능
- 업적 달성 시 뱃지 부여 (서비스를 게임화)
- 통계로 확인한 운동 성과에 따라 근성장 향상을 위한 팁 제시
- Youtube API를 활용해 신체 부위별 운동법 모아보기 페이지
사용할 기술
- React / Styled-Components : UI
- Next.js : 최적화, 서버, 렌더링 관련 기능이 있어 웹의 성능 및 개발 과정상에서 추가 라이브러리를 사용하지 않아도 됨
- Typescript : 코드 안정성, 에러 방지, 개발 효율을 위함
- chart.js : 그래픽 차트 라이브러리
- three.js(미정) : 3D 라이브러리 (3D 아이콘 구현)
도전과제
- UI는 라이브러리를 사용하지 않고 직접 구현하기
- 모바일 환경을 완벽하게 지원하기
- 렌더링 최적화
- firebase를 사용하지 않고 직접 서버 구축하기
- express.js / postgreSQL / prisma
✏️ 무엇을 배웠나
1. GraphQL이 무엇인가
- GraphQL은 REST API가 가진 2가지 문제를 해결한다
- Over Fetching : 필요 이상의 데이터를 가져와 리소스가 낭비되는 것을 말함
- Under Fetching : 2개 이상의 요청으로 인해 로딩이 지연되는 것을 말함
- GraphQL을 이용하면 내가 원하는 특정 데이터만 요청할 수 있다
- 비용을 최소화할 수 있음
2. ORM은 무엇인가
- SQL을 작성하지 않아도 Python, JS 등으로 데이터베이스 작업을 해줄 수 있게 해주는 일종의 컨버터임.