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:
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
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:
- https://github.com/Esri/arcgis-runtime-samples-ios
- https://developers.arcgis.com/ios/latest/swift/sample-code/sample-code.htm
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