MCT Triathlon is a startup company
◦ Focusing on Triathlon coaching
They had a limited website to introduce their
Develop an iPhone Application
◦ Generates an exercise plan
◦ Keeps track of user progress
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
◦ 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
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
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
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
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
Based on widely-used frameworks
◦ Django Web Framework
◦ Django REST Framework
Provide a clear RESTful Interface to the client
 Model: Queries to database with Django’s ORM
 View: Use the APIView classes of Django REST
Framework to provide a RESTful access to operations
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