Register
Submit a solution
The challenge is finished.

Challenge Overview

���Description 

The Beacon iOS app is something that will be used by cable technicians to identify faults and materials needed for cleanup after a natural disaster like a hurricane.  

The current prototype screens have functionality for distance measurement.

General requirements

This challenge will focus only on the iPad screens and the measurement functionality.  Please be aware that we are going to apply the iPhone screens shortly after this challenge, so don't do anything that will make it difficult to apply the UI details to an iPhone view as well.  

These screens will be in scope for the challenge:

https://marvelapp.com/8edej4h/screen/42141224 
https://marvelapp.com/8edej4h/screen/42141236
https://marvelapp.com/8edej4h/screen/42141277
https://marvelapp.com/8edej4h/screen/42141290

We will target the latest version of Swift and XCode for this challenge.

Integration

We will integrate these screens over the existing functionality of the app, found in Gitlab.  Access will be granted through the forum.  The app will not be fully functional (layers won't work), because it requires VPN access, but it will run.

The report screens can be found by clicking the "+" icon in the header to add a report.  You can see the button to start distance measurement here:  https://marvelapp.com/8edej4h/screen/42140864 . We'll add that button and it will go to the first distance measurement screen.

ARCGis

This challenge will require interactions with ARCGis.  The codebase will load the library via CocoaPods when you first set it up.

You can see lots of samples here: The current storyboards show using Apple Maps, but we are going to use the existing ARCGis maps the app already uses.

Functionality

The functionality should work as expected, using the GPS / location services on the iPad.  We can be creative here, but the goal is to match as closely to the prototype as we can, without doing too much custom work that will be hard to maintain.

It's expected that getting the values shown on the prototype isn't going to be exactly possible - let's just get as close to whole feet as we can.  There's no need for decimals in the measurement, since that likely won't be accurate at all.  The measurement will be done in feet, unless that's problematic.  Feel free to ask questions in the forum about this.

Pause

Pausing will stop the measurement at the given point, and then resuming will start a new measurement at a new point, but we will show *both* measurement lines on the map, and the distance will be a sum of the distances in the lines.  We want to support pause / resumes when measuring as this will allow a field technician to get one sum for multiple measurements.

Stop

Stop will stop the measurement, and clicking the check will apply the distance measured to the previous screen in the cart where the distance needed for a particular item is shown.

Redo

The redo button on the "stop" bar will just start a new distance measurement from the first distance measurement screen.

UI

The UI must be implemented as storyboards in XCode.  We must make sure that all elements are properly hooked back into controller classes and referenced in a way that will make it easy to fill in the prototype will real data in the future.  Please don't make one big storyboard if it makes sense to split up the functionality into smaller individual files, which makes it easier to manage in the future.

Your UI definition must properly support the resolutions of the newest devices with @2x files created for any images.

Submission

Your submission must include these files:

* A patch file against the existing codebase (git commit hash d39fedd9fac5665193757de27f345ddcc999a25b in the develop branch)
* A README describing how to set up and run the updated code
* A Verification document describing the steps take to validate the prototype matches the storyboard
* A link to a video that shows a walkthrough of your submission  
 

 

 

 



Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30065900