CS 5150: Software Engineering
Spring 2019

A Production Ready Virtual Training App

Clients

Kyle Harms, Lecturer in Information Science (day-to-day contact)
Email: <kyle.harms@cornell.edu>

Nathan Williams (owner) of St. Louis Strength Academy (https://www.stlstrengthacademy.com/)

Student contact

Rafael Jacobovitz, <rj273@cornell.edu>

Background

Live fitness training is important for driving motivation, preventing injury, and addressing the unique fitness needs of an individual. Unfortunately, live training can often be inconvenient for people due to travel or family matters. Rather than traveling to a gym for personal training or finding a babysitter for the kids, we propose a virtual training solution to enable persons to workout in the convenience of their own home. For this project, we seek the continued development of a cross-platform app for iPhone and Android that can support virtual personal training. The virtual personal training will be supported through the use of video conferencing.

An existing prototype Ionic Cordova app (HTML5/CSS/JavaScript) exists as well as a prototype AWS back-end. These prototypes were created by Master's students in Information Science.

Preview: https://d1yqks9sujpg1.cloudfront.net/

Summary

This project will consist of finishing implementation of the prototypes in order to deploy it by the end of the semester. Finishing the implementation may require some interface design and user testing to ensure the app will be production ready.

Leveraging the existing prototypes is not necessary if the software engineering team finds that it would be more cost/time effective to start from scratch. Since the existing prototype's design was tested with actual users, much of the design should stay the same unless there is a reason to change the design.

Goals

  1. Production Ready. Given the existing work on the prototypes and the scope of this project, a production ready version of the app should be produced by the end of the semester.
  2. Usable. The app should be usable for both trainers and trainees. The existing prototype has a poor video integration. The video experience should be streamlined for both trainers and trainees. The faculty sponsor will help support interface design and user experience (UX) related activities.
  3. Polished. Appearances matter. Users consistently rate more attractive software as more usable than software that is not aesthetically pleasing with identical functionality. The final version should be polished.
  4. Deployed. The final app and back-end should be deployed and ready for use in the Apple and Android app stores.
  5. Documentation. The app's infrastructure and any integration with external services must be fully documented. The process for deploying the app must by fully and completely documented so that the client can follow the instructions if necessary.