Challenge Overview
Challenge Objectives
-
iOS app, implemented in Swift
-
Targeting iPad and iPhone, landscape and portrait orientations
-
This challenge will convert some new screens and put them into the app with mock data.
Project Background
-
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.
-
Users can view layers of infrastructure and report issues that need repair
-
This is one challenge in a series that will eventually build new features for the app and implement an Android version in the future.
Technology Stack
-
Swift and Interface Builder will be used to build the application screens
-
There are already existing screens in the app, so we need to carefully insert these new screens, following the existing naming and folder / storyboard structure.
-
All recent iOS devices are in scope, in both portrait and landscape orientations.
-
Please make sure to run CocoaPods before attempting to run the app: pod install
-
Note that this app requires a VPN connection to fully run. This won’t be available, so a patch file has been provided in the forum that will allow you to run the app without the VPN. Just be aware that there may be odd warnings that pop up because the app won’t be able to reach certain services.
Code access
You can give your Gitlab username access using the link in the forum. Note that the code for this application is covered under your client confidentiality and non-disclosure agreements. You cannot share it with anyone and you cannot make it publicly available.
Individual requirements
You can find the description of the screens to implement here:
https://gitlab.com/hercules-bcn/existing_code/issues/94
The storyboard screens and sources are here:
https://gitlab.com/hercules-bcn/storyboards
Deployment guide and validation document
Make sure to require two separate documents for validation.
A README.md that covers:
-
Deployment: Make sure you cover how to run the app, including initial setup with CocoaPods.
-
Patch: Make sure to provide clear details on how to apply your patch file. If the reviewers can’t apply your patch, you will fail review.
A Validation.md that covers:
-
How to validate and test each of the required screens, including how to edit the mock data.
Validation video / screencast
-
A validation video is required for this challenge.
What To Submit
-
Code: Submit a patch file against commit hash 6a983a76ccbf110156b5fb59c4cdd567ab6a5faf of the ‘develop’ branch. MAKE SURE TO TEST YOUR PATCH FILE!
-
README.md: Provide a clear README that covers basic app deployment and how to apply your patch
-
Validation.md: Provide a validation.md file that covers how to test the individual screens that have been added to the app. Make sure your validation.md file provides a link to your validation video.