CS 2212 Introduction to Software Engineering: Final Project


Our professor randomly assembled teams of 8 students that were then assigned to design and build a Fitbit© desktop application for Windows that can link to a user’s Fitbit© device. 50% of the features of the app were determined by the professor and the remaining 50% were up to us to decide. I was the Project Manager, Back-End Developer and UI / UX Designer on my team where we used Agile Methodology for our developmental process. Our application, written in Java, features a “virtual trainer” that could analyze the Fitbit© user’s data and guide them towards a weight loss goal. Fitbit© issued us a limited number of free tokens per day to test our application with their API / servers during development. Our “user data” was directly taken from our professor’s Fitbit© account as she wore a Fitbit© device throughout the semester that continuously uploaded data to the servers. The application, which we called Transform, was built in Java using Eclipse IDE, Confluence, and Gitbucket.

At the end of the semester, a panel of judges consisting of the professor, her teaching assistants, and several fitness trainers were assembled and judged which team developed the best application based on a demo video created by each team. Our team was awarded 1st place for best app in class.

My Team

My team consisted of 8 randomly assigned classmates:

My Role

As Project Manager, I was responsible for ensuring our team followed the agile development process to ensure we met our weekly and monthly development goals. We had weekly meetings with the Teaching Assistants of the course to monitor and discuss development progress.

As Data Updating and Visualization Lead, I was responsible for developing data analysis algorithms that analyzed the Fitbit© user’s data such that various metrics could be identified. Those metrics included the user’s progress against their stated weight loss goal, feedback on the chances of their success in achieving their goal within a certain time period, and, finally, processing the data such that it can be visualized in the front-end (Transform’s dashboard).

Transform also gave the user feedback on the dashboard that would let the user know if they needed to make changes to their plans and what those changes should be. We called this feature the “virtual trainer” and it would assess what feedback it needed to give to the user every time Transform received fresh data from the Fitbit© servers.

Demo Video

Go Home