Key Information

Register
Submit
Status: ‌Cancelled zero submissions

Challenge Overview

Project Overview

Build this mobile app for iOS 8 and learn new technology and new cool programming language Swift.

Sechi Mobile project is to build a native iOS 8 application using new Apple porgramming language Swift. Using existing designs and provided sample functional app source code in Objective-C create this app in Swift for iOS 8. This app will be used by a technician working for commercial facility climate control installation and repair services.

This Proof of Concept challenge is the first step to implement UI and main functions based on storyboard and existing demo prototype built for iOS 7 in Objective-C.

Competition Task Overview

For this PoC, the following features are required:

  • Native/iPhone/iOS 8+/Portrait Only,  bundle ID is com.appirio.mobile.sechi
  • Actually almost following requriements had been implemented in the provided iOS 7 prototype, we need focus migration to iOS8 and Swift(where posssible).
  • PoC UI based on storyboard. detail comments see "UI" section below.
  • Geo-location position and map feature (see demo proto)
  • Taking Picture for upload to AWS S3 and store URL with the schedule job record field Picture_S3_URL__c (This is optional feature extra wow factor but not required for main goal of this challenge)
  • Barcode Scan (AVFoundation CODE39 standard)
  • Very Simple Restful API integration (see demo proto and API document as reference, As current only GET methods for each API implemented, other methods(post,put,delete) call are out of scope of this PoC, these methods only operate UI and needn't send call to server).
    • endpoint URL should be in configuration plist.
    • loop sync schedule and payment list(get all at now) by interval(unit is second, such as set it 600 for 10min, but please set to 0 as default to disable the loop and only sync once each time when app open) in configuration plist.
    • persist data by id on device so the app can be view when offline. same id item will be overwrite when sync.

UI

  • Login: it's mockup only, click button to enter
  • Dashboard: STATUS are four buttons and only one can be active. 
  • Schedule Job List:
    • get job list data from API; 
    • black circle icon is "complete" status;
    • swipe left to show delete button, click delete to popup native confirm dialog, confirm to delete job.
    • tap job to show its detail screen
    • "+" go to one screen like Job Detail(but without Photos/Hours/buttons) and all fields blank and editable, there's "Save" at same position like "+". save and back to list.
  • Schedule Job Detail:
    • Client: 
      • swipe left to show Call button, clicking to call client phone number;
      • tap to show its edit screen (see storyboard #8), back will save to local job list
    • Address: 
      • swipe left to show Map button, clicking to goto Map screen
      • tap to show its edit screen (following storyboard #8 style), back will save to local job list
    • Take Photo: go to camera to take photo and will go back to show thumbnail in the list.
    • START,COMPLETE, hide after clicking, COMPLETE update status.
  • Map: default is show map of address, click DIRECTIONS will show direction from device geo-location to target address.
  • Parts: storyboard missing, please following other screen storyboard, note its color line(orange);
    • input product code or serial number to search call API (here call get all method to demo, as get by method is not implemented).
    • or you can "scan serial number" which can auto go back and fill search input if getting barcode. search call API(same like upper)
  • Payments: 
    • get list data from API; 
    • black circle icon is "complete" status
    • "+" go to one screen like Payment Detail and all fields blank and editable, there's "Save" at same position like "+". save and back to list.
  • Payment Detail: storyboard missing, following Job Detail.

Technology Overview

  • iOS 8
  • Swift (Objective-C can be used where Swift does not support a specific feature)
  • Use new Storyboard features for app to adopt to different screen sizes (For demo portarit only)
  • iPhone

Documentation Provided

PoC_storyboard.zip storyboard and slices
sechi_git0606.zip demo prototype, for reference only. we need create new app using Swift where possible.
SechiAPIDocument.pdf API reference


Final Submission Guidelines

Submission Deliverables

A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials 

Below is an overview of the deliverables:

  • A complete solution that implements the 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 to the Online Review Tool.

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30043270