We wanted to create a way for people to compare activeness within their campus or across the nation. This led us to making a Fitbit app to competitively rank users across the nation by steps, calories burned, minutes active, and distance traveled.

What it does

Shows frontend for uFitLeague interface with MySQL integration.

How we built it

We built the webserver with AWS and node.js, and supported the databases with MySQL. We created the website with Bootstrap.

Challenges we ran into

We bit off way more than we could chew. We initially intended to allow users to also compete based on certain routes on their campus. For instance at Clemson there could be a route or trail that starts at the Centennial Oak and ends at the cannon at Bowman Field, and the fastest route/time wins. We were wanting to use Amazon Machine Learning and AI to analyze the routes taken to find the best route, and this data could even be shared with the University officials to benefit pedestrian traffic by finding the most efficient routes.

Another issue we ran into was authenticating with Fitbit. We were able to successfully login, but we couldn't grab the cookie to be able to actively pull data for the account.

The last big issue we really ran into was creating the web server to be HTTPS and secured. It took a long time to successfully find certificates and private keys that made everything work.

Accomplishments that we're proud of

The HTTPS server and the website.

What we learned

We learned a lot about node.js, express.js, and web development and administration, and we learned a little bit about MySQL and API authentications.

What's next for uFitLeague

This is an application that we want to continue developing. Next up we need to successfully get the authentication for the Fitbit account system so that we can actually pull data. Once we can start pulling data we can effectively populate the MySQL tables and can make accurate leaderboards. We also want to add the route functionality, because we think that would be really cool to add.

Share this project: