Our app seeks to provide free, real-time feedback for basic exercises to improve the home workout experience. The pandemic created the need for individuals to do more home workouts, which meant that people needed to learn how to excercise by themselves. Currently, self-analyzing workout apps cost money, so we decided to bbuild an entirely free app that allows users to track their home workouts.
The app includes two main features: workout detection and workout tracking.
-
Workout Tracking: Utilizes computer vision technology to provide real-time feedback on the correctness of the users push-up and plank form. This technology was built using a TFLite model and thhe MoveNet library.
-
Workout Analytics: Fetches data from the firestore database and displays statistics on an interactive line graph for each workout.
HomeTrain_iOS
is the native iOS TFLite code. It is built off of the PoseNet Example Code * The model + set up is contained inML
* The UI and modifications are contained inUI
* The main logical components are contained inViews
&ViewController
* Pods contains necessary dependencieshome_train
contains the dart code and UI *web
,iOS
, andandroid
contain platform-specific dependencies and code *pubspec.yaml
contains the necessary dependencies *lib
has the running code, with main, constants and other important dart code *screens
contains each screen view *components
contains widgets/functions/components that are important- Things that aren't mentioned are boilerplate/dependency documents or assets
- Download and install Flutter, can be installed in VSCode (https://docs.flutter.dev/get-started/install)
- Clone the github
git clone "https://github.com/CS222SP22/course-project-mem"
- Go into the home train directory
cd home_train
- Build + Run on web or physical mobile device (we reccomend web — mobile apps have a lot of overhead and build issues outside of app stores)
- Web:
flutter pub get
flutter run -d chrome --web-port 5000
- Mobile:
- Trust the device and make sure to trust the app. For iOS, [Settings -> General -> VPN & Device Management -> Trust]
- On Android, enable Trust USB Debugging
- Run
flutter pub get
andflutter run
on computer
- Web:
- Download and install XCode
- Open the HomeTrain_IOS folder in XCode
- Navigate to the HomeTrain_IOS Directory
- Open an emulator or plug an iOS device in (plugging in a device is highly recommended)
- Run
pod install
- Open the PoseEstimation Workspace and run the build
- Make sure your entire body is captured within the camera screen for optimal performance when trying a push-up or a plank (at the least, shoulders to ankles)