Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

The goal of this project is to design and build an iPad application that will allow the USA Diving team to track the performance of divers as they prepare for official diving events and Olympic trials. Closely monitoring the day-to-day well-being and performance of divers in training will allow coaches and physicians to adjust individual training programs, for improved results.

Competition Task Overview

In previous challenges, we have built the app and it's now functioning. However there was one piece that was missing in previous challenge which was the chart / graph implementation.

The purpose of this challenge is to implement the charts / graphs.

Requirements

We need to implement the following chart in this challenge:

Here are more details:

  • 1. When a specific diver is selected, show 3 of these graphs, using data for that diver (local on the ipad from past training sessions, not calling the backend services).
  • 2. When no diver is selected, the graphs should display data that is the aggregate of the data for all divers. This should be using data on the iPad, not calling the backend services.
  • 3. The 3 graphs will work the same but cover different time periods (week, month, and year).
  • 4. The plots (Series1, Series2, Series3) need to be renamed to say "Hit", "Miss" and "Even" respectively.
  • 5. The y-axis will show the number of dives within this period.
  • 6. The x-axis will show the performance as shown above.
  • 7. We have not selected a graphing library and we are open to this. But we'd like it to be attractive, simple to use and iOS native. It should also have a good open source license (like MIT or Apache v2). Also keep in mind we may add more graphs (different type of graphs later), so choosing a good library can make future work a lot easier.
  • 8. You can see the dive number decoding on the right side of this website: http://www.usadiving.org/about/diving-101/ - It looks like it’s really just the first number we need to determine this. 6th Optional is listed on this site as Armstand. You'll need to do the decode so you can show the labels for x-axis. Please make this part of code (the decoding code) reusable since we'll add more graphs later.
  • 9. Details on score calculation (Hit / Miss / Even) are posted in challenge forum.

General Guidelines

  • 1. The app must be built using Swift
  • 2. The app must work on iOS 8+ and all ipad models
  • 3. The app is ipad only and only needs to support the landscape orientation
  • 4. The code must be properly documented
  • 5. The iPad is the primary authority on the data. The server side keeps the data as a backup and for sending reports, please keep this in mind.
  • 6. This challenge should be primarily done on the iOS side and no changes should be needed to the backend. But if there is, feel free to discuss it in the forum.

Technology Overview

  • iOS 8+
  • iPad
  • Swift
  • Xcode

Documentation Provided

Register to see documents in the forum.



Final Submission Guidelines

Submission Deliverables

Below is an overview of the deliverables:

  • Xcode project that covers all mentioned requirements
  • A complete and detailed deployment documented explaining how to deploy the application including configuration information.

Final Submission

For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30052968