This full-stack web application syncs a user's FitBit data in order to generate workout suggestions using machine learning, and was developed as part of the requirements for UCI's Master of Computer Science (MCS) program's CS 297P course: Capstone Design Project.
Ashwin Balachandran, Harry Pham, and Keith Tachibana
| Dependency | Version |
|---|---|
| @Material-UI/Core | 4.5.1 |
| @Material-UI/Icons | 4.5.1 |
| Axios | 0.19.0 |
| Bcrypt | 3.0.6 |
| Body-Parser | 1.19.0 |
| CSV | 5.3.0 |
| Dotenv | 8.2.0 |
| Express | 4.17.1 |
| Express-Naked-Redirect | 0.1.4 |
| Express-SSLify | 1.2.0 |
| Express-Validator | 6.2.0 |
| Flask | 1.1.1 |
| Heroku-CLI | 7.38.2 |
| JSON-Web-Token | 8.5.1 |
| Knuth-Shuffle | 1.0.8 |
| Mailgun-JS | 0.22.0 |
| Moment | 2.24.0 |
| MongoDB | 4.0.3 |
| Mongoose | 5.7.5 |
| Morgan | 1.9.1 |
| React | 16.10.2 |
| React-DOM | 16.10.2 |
| React-Router-DOM | 5.1.2 |
| Serve-Favicon | 2.5.0 |
Try the application live at our website
- Utilizes the FitBit API to sync a user's fitness data to display on the Material-UI themed dashboard
- Anyone can sign up for an account which sends the user an auto-generated welcome e-mail
- User can instantly switch themes between light or dark mode
- Features a one-of-a-kind injury tracking system not found on other fitness tracking applications
- Gives a 7-day schedule of workout suggestions generated using k-means clustering and decision trees
- Machine learning algorithmns look at 4 factors: body mass index (BMI), body fat, age, and injuries
| Requirement | Version |
|---|---|
| Heroku | 7 or higher |
| MongoDB | 4 or higher |
| Node.js | 10 or higher |
| NPM | 6 or higher |
