앱 스토어 URL: https://github.com/APP-iOS5th/FinalProject-RideThis/tree/main
시연영상 URL:
노션URL:
이 서비스는 케이던스 기기와 스마트폰 앱 간의 블루투스 통신을 통해 자전거 라이딩 데이터를 실시간으로 기록하고, 다양한 통계 정보를 제공하는 플랫폼입니다. 자전거에 부착된 케이던스 기기로부터 케이던스(분당 회전수) 데이터 정보를 앱이 받아와, 사용자는 라이딩 동안의 케이던스, 속도, 거리, 칼로리 데이터를 편리하게 확인할 수 있습니다. 이러한 데이터는 라이딩의 성과를 분석하고 향후 운동 계획을 세우는 데 큰 도움을 줍니다.
특히, 이 서비스는 단순한 기록 측정에서 그치지 않고, 게임 요소를 도입하여 운동의 재미를 더했습니다. 사용자는 특정 거리(Km)를 목표로 다른 사용자들과 경쟁할 수 있으며, 이를 통해 운동의 동기를 부여받고, 더 적극적으로 자전거 라이딩을 즐길 수 있습니다.
- 앱은 케이던스 기기와 블루투스를 통해 연결되며, 자전거 라이딩 중 실시간으로 데이터를 수집합니다.
- 사용자는 라이딩 중 다양한 데이터를 기록할 수 있습니다. - 측정되는 주요 데이터: 시간, 거리, 속도, 케이던스, 칼로리
- 이러한 데이터를 바탕으로 각 라이딩 세션을 분석하고, 성과를 확인할 수 있습니다.
- 사용자는 1주, 1개월, 3개월, 6개월 단위로 자신의 라이딩 기록을 그래프 형태로 확인할 수 있습니다.
- 이를 통해 기록 변화를 시각적으로 쉽게 파악할 수 있으며, 꾸준한 운동 목표를 세우고 성과를 체계적으로 관리할 수 있습니다.
- 그래프는 장기적인 운동 패턴을 분석하는 데 유용하며, 개인의 발전 상황을 명확하게 시각화하여 사용자가 자신의 성과를 더욱 쉽게 이해할 수 있게 도와줍니다.
- 사용자들은 자신의 라이딩 기록을 서버에 등록하여, 친구나 전체 사용자들과 기록을 비교할 수 있습니다.
- 이를 통해 사용자 간에 자연스러운 경쟁이 형성되며, 운동의 재미를 더하고 서로 동기 부여가 됩니다.
이 서비스는 단순한 기록 기능을 넘어, 사용자들이 자전거 라이딩을 더 흥미롭게 즐길 수 있도록 지원합니다. 운동 데이터 기록과 소셜 경쟁 요소가 결합되어, 건강한 라이프스타일을 유지하는 데 도움을 주는 동시에, 더 즐겁게 운동할 수 있는 환경을 제공합니다.
- 개발 기간 : 2024-08-12 ~ 2024-08-30
- 오류 수정 및 리팩토링 기간: 2024-09-01 ~ 2024-09-08
- Swift: 5.9
- Xcode: 15.4
- iOS: 16.6
- Node.js: 22.5.1
- Yarn: 1.22.22
- iOS: UIKit
- Server: Firebase + Express
- Database: Firebase Database
- Software Architecture: MVVM-C
- 비동기 처리: Combine + Swift Concurrency
- iOS
- Kingfisher: 7.12.0
- SnapKit: 5.7.1
- DGChart: 5.1.0
- Alamofire: 5.9.1
- Node.js
- TypeScript: 5.5.4
- Express: 4.19.2
- firebase-admin: 12.4.0
- google-auth-library: 9.14.0
- 서버 설치:
yarn install
- 배포 환경: Vercel
- Notion
- Figma
- GitHub
- Discord
- UI
- 페이지 : 스플래시 뷰, 홈 화면, 장치 연결 탭 화면
- 기능
- 일/주/월간 기록, 운동바로가기 버튼, 오늘 날씨 출력, 팔로우 알림 목록, 케이던스 기기 목록 테이블, 케이던스 기기 검색, 장치 상세 화면, 휠 정보 화면, 휠 정보 저장
- UI
- 페이지 : 경쟁 탭 화면
- 기능
- 사용자 순위 목록, 거리 선택 드롭다운, 경쟁 거리 선택, 앱과 케이던스 연결, 케이던스 라이딩 데이터 측정, 기록 DB 저장
- UI
- 페이지 : 마이페이지 탭 화면
- 기능
- 로그인 화면, 추가정보 입력 화면, 로그인/회원탈퇴 기능, 회원 정보 수정, 사용자 검색/팔로우, 라이딩 통합 기록 표시 화면, 라이딩 통합 기록 기간별 그래프 표시
- UI
- 페이지 : 라이딩 탭 화면
- 기능
- 라이딩 기록 화면, 라이딩 시작/Reset/정지/종료 버튼, 종합 라이딩 목록 화면, 라이딩 상세 기록 화면, 라이딩 요약 화면