110 likes | 288 Views
CS 395. MCT TRIATHLON INTERNSHIP. BACKSTORY. MCT Triathlon is a startup company Focusing on Triathlon coaching They had a limited website to introduce their business. OUR SOLUTION. Develop an iPhone Application Generates an exercise plan Keeps track of u ser progress.
E N D
CS 395 MCT TRIATHLON INTERNSHIP
BACKSTORY • MCT Triathlon is a startup company • Focusing on Triathlon coaching • They had a limited website to introduce their business
OUR SOLUTION • Develop an iPhone Application • Generates an exercise plan • Keeps track of user progress
HOW WILL THIS HELP? • Currently everything is done manually… • Our Application will change that by: • Helping to organize the company • Eliminating unneeded work • Helping to extend the MCT Triathlon business
ARCHITECTURE • Client-Server • Client • Collect the user’s information • Keep track of the user’s progress • Server • Generate the exercise plan based on the information • Provide alternative plans when the original plan cannot be fulfilled • Collect the progress information for the coach • Manage the payments
FRONT END • What it consists of • Login and registration pages • Questionnaire pages for generating the plan • Receiving questions from server • Sending information to server • Plan displaying pages • Daily, weekly and monthly • Options to choose alternative plans • Our hopes and dreams that one day this will pay off
STRUCTURE • Model View Controller • Model contains an abstraction of our data • Handles communication to the server • View decides the GUI’s appearance • Buttons, Labels, Test fields • Controller handles the components behaviors • Observer Design Pattern • Handles communication between the MVC
CHALLENGES • Some challenges we faced: • Learning Objective-C and iPhone programming from scratch • Working in a team • Working with a start up company • How we solved them: • Group meetings every week with status updates • Research Objective-C code solutions • Learned/used Xcode Storyboards
BACK END • What it consists of • Databases of user information • Basic Account Information • Current Exercise Plans • Exercise Responses • Payment Status • Algorithms/Logic to generate plans • Management console for Coach’s
STRUCTURE • Based on widely-used frameworks • Django Web Framework • Django REST Framework • Provide a clear RESTful Interface to the client • Model-(Template)-View • Model: Queries to database with Django’s ORM Framework • View: Use the APIView classes of Django REST Framework to provide a RESTful access to operations
CHALLENGES • Design the algorithm for plan generation • Collaborated with the coach • Create formulas based on the coach’s knowledge • Design the models/database structure • How to store the account information • How to store the plans and responses • Learn Django and REST interface