프로젝트 소개 페이지: https://wldnd9904.github.io/Cokcok/
콕콕: 배드민턴을 즐기는 사람들을 위한 실력 측정 서비스
서비스 콕콕 은 사용자의 스윙 및 경기 데이터를 분석해 실력 수준을 측정하고, 실력 향상을 위한 정보를 제시합니다. 이를 통해 생활체육으로 배드민턴을 즐기는 이들의 기술 접근성을 높이고, 건강한 체육 활동에 도움이 되고자 합니다.
📦cokcok
┣ 📂Extensions
┃ ┣ 📜AVCaptureSession+AddIO.swift
┃ ┣ 📜Color+.swift
┃ ┗ 📜Data+String.swift
┣ 📂Model
┃ ┣ 📜APIAdapater.swift
┃ ┣ 📜APIManager.swift
┃ ┣ 📜Achievement.swift
┃ ┣ 📜AuthenticationManager.swift
┃ ┣ 📜ModelData.swift
┃ ┣ 📜NewUserManager.swift
┃ ┣ 📜SwingAnalyze.swift
┃ ┗ 📜SwingRecordManagerPhone.swift
┣ 📂Shared
┃ ┣ 📜DataManager.swift
┃ ┣ 📜MatchSummary.swift
┃ ┗ 📜User.swift
┣ 📂Utils
┃ ┣ 📜AVAuthorizationChecker.swift
┃ ┣ 📜Date&Time.swift
┃ ┗ 📜VideoError.swift
┣ 📂Views
┃ ┣ 📂Auth
┃ ┃ ┣ 📜LoginView.swift
┃ ┃ ┣ 📜MyPage.swift
┃ ┃ ┣ 📜NewUserView.swift
┃ ┃ ┗ 📜Spinner.swift
┃ ┣ 📂Matches
┃ ┃ ┣ 📜MatchDetail.swift
┃ ┃ ┣ 📜MatchItem.swift
┃ ┃ ┣ 📜Matches.swift
┃ ┃ ┣ 📜ScoreChart.swift
┃ ┃ ┗ 📜StrokeChart.swift
┃ ┣ 📂Summary
┃ ┃ ┣ 📂Achieve
┃ ┃ ┃ ┣ 📜AchievementDetail.swift
┃ ┃ ┃ ┣ 📜AchievementGrid.swift
┃ ┃ ┃ ┣ 📜AchievementItem.swift
┃ ┃ ┃ ┣ 📜AchievementRow.swift
┃ ┃ ┃ ┣ 📜AchievementsView.swift
┃ ┃ ┃ ┗ 📜MedalView.swift
┃ ┃ ┣ 📜RecentMatch.swift
┃ ┃ ┣ 📜RecentSwing.swift
┃ ┃ ┣ 📜Summary.swift
┃ ┃ ┣ 📜SummaryBoxView.swift
┃ ┃ ┣ 📜SummaryCharts.swift
┃ ┃ ┗ 📜SummaryRow.swift
┃ ┗ 📂Swing
┃ ┃ ┣ 📜AVPreview.swift
┃ ┃ ┣ 📜SwingDetail.swift
┃ ┃ ┣ 📜SwingHelpView.swift
┃ ┃ ┣ 📜SwingItem.swift
┃ ┃ ┣ 📜SwingRecordView.swift
┃ ┃ ┣ 📜SwingResultView.swift
┃ ┃ ┣ 📜SwingScoreChart.swift
┃ ┃ ┣ 📜SwingTrendChart.swift
┃ ┃ ┗ 📜SwingView.swift
┣ 📜ContentView.swift
┣ 📜Info.plist
┗ 📜cokcokApp.swift
📦cokcok Watch App
┣ 📂Model
┃ ┣ 📜APIManager.swift
┃ ┣ 📜PathManager.swift
┃ ┣ 📜SwingRecordManagerWatch.swift
┃ ┗ 📜WorkoutManager.swift
┣ 📂Views
┃ ┣ 📂MatchRecord
┃ ┃ ┣ 📜ActivityRingsView.swift
┃ ┃ ┣ 📜ControlsView.swift
┃ ┃ ┣ 📜Counter.swift
┃ ┃ ┣ 📜Counter2.swift
┃ ┃ ┣ 📜ElapsedTimeView.swift
┃ ┃ ┣ 📜MetricsView.swift
┃ ┃ ┣ 📜ScoreView.swift
┃ ┃ ┣ 📜SessionPagingView.swift
┃ ┃ ┗ 📜SummaryView.swift
┃ ┣ 📂SwingRecord
┃ ┃ ┗ 📜SwingRecordWatchView.swift
┃ ┣ 📜CountDownView.swift
┃ ┣ 📜SavedDataView.swift
┃ ┗ 📜StartView.swift
┗ 📜cokcokApp.swift
카메라와 IMU센서를 이용하여 사용자의 자세와 손목 움직임을 수집하고, 실력을 평가합니다.
iOS와 watchOS를 연결하고 상태를 관리하기 위해 WatchConnectivity를 사용하고, IMU 센서 데이터를 수집하기 위해 CoreMotion을 사용하였습니다.
IMU센서를 이용해 경기를 기록하고, 운동 정보와 경기 중의 스윙을 분류 및 분석합니다.
IMU 센서 데이터를 수집하기 위해 CoreMotion을 사용하고, 운동 정보를 수집하기 위해 HealthKit을 사용하였습니다.
이번 달의 배드민턴 통계를 확인하고, 업적을 확인할 수 있습니다.
전체적인 레이아웃은 SwiftUI를 이용하여 구현하였고, 그래프를 표시하기 위해 Charts를 사용했습니다.
watchOS와 iOS에서 수집한 데이터를 Amazon EC2 djngo서버에서 Python을 이용해 분석하고, 데이터는 Amazon RDS 와 Amazon S3에 저장합니다.







