Challenge Overview
Challenge Objectives
-
Target environment: iOS
-
Basic Requirements:
-
Enhance iPad app skeleton to capture provided network metrics
-
Integrate iPad app to nodejs backend to push captured metrics to server side
Project Background
Telemetry is a MVP project for one of our clients to help proactively identify “Network Slowness” and other network related complaints from the retail offices. Each retail store has multiple iPads that are used to provision new and existing customers.These iPads can be leveraged to run an “agent” that will periodically (1) test the network latency by running icmp echo request to one or more configured hosts in the client’s network. And (2) collect operational statistics on the iPad like CPU, signal strength, and memory usage.
These test will run in the background on configured intervals and the sales agent will be unaware. These statistics will be gathered and spooled locally on the device until a second configured timer is reach and they are uploaded to a central server( henceforth referred to as "the server”).
Both the agent (iPad app) and the server will be developed by Topcoder crowdsourcing community.
Technology Stack
iOS
Nodejs
Individual requirements
-
Based on our last challenge, we’ve built an iPad app skeleton as well as formulated an architecture & approach on how the various parameters can be captured in iOS. The iOS app repo (request access in forums) includes a detailed document on how each of these parameters need to be captured. Please follow the provided iPad architecture and the skeleton code as a starting point.
-
You should ensure you follow the provided iPad app class diagram provided in the architecture for implementation
-
The app must work in background fetch mode
-
Integrate the app to provided node.js backend (see forums for repo access) to push data to server side. The stats collected by app will be aggregated and viewed on a website, so the UI on the device isn't critical, the data will be submitted via a REST call. The app UI will be minimal like a splash screen with versioning
General Requirements
-
Native iOS app written in Swift 4.x targeted on iPad device
-
Deployment target with iOS 11.0
Final Submission Guidelines
What To Submit
-
Updated iPad app XCode project
-
Instructions to build and deploy your code
-
Demo video of your submission (mandatory for verification and liable to be scored down if not provided)
Review
- This challenge will use the new iOS Scorecard for review