Register
Submit a solution
The challenge is finished.

Challenge Overview

Welcome to iPad Image Processing Swift Development Code Challenge

The goal of this challenge is to take the provided UI Design and convert it to a native iOS application prototype for iPad.

Read over the challenge description below and let discuss if you have some questions

Downloable Files: https://drive.google.com/open?id=0BxNVnWK-ZGA6d1A1Tm9rQmVjemc

iPad Image Processing Application Flow:
0) App Icon

- Use provided App Icon for your submission

1) Landing Page
Screenshot: 01-Landing-Page.jpg
- This is landing page look.
- Logo on top and centered
- Make sure all text are editable, we plan to change with better wording in the future
- Get started button take to Camera Screen

2) Camera Screen
Screenshot: 01-Landing-Page.jpg
- This screen need load the device camera
- Tap “X” button take user back to Landing Page
- On the bottom bar. No need build the left icon to load the library.
- On the right side is button for camera flash
- Tap Center button will take the image then show the Crop screen

3) Crop Screen
Screenshot: 03-Crop-Screen.jpg
- User need able to resize the crop
- Drag the circular number need rotate the image
- Retake will take user back to Camera screen
- Before user modify the image, Reset & Done button need to disabled.

4) Cropping Image Screen
Screenshot: 04-Cropping-Image.jpg
- This the drag after user resize the crop
- User need able to drag the crop from all different corners
- Notice the Reset & Done button become enabled after user modify the image

5) Cropped Image Screen
Screenshot: 05-Cropped-Image.jpg
- Tap Done button will change buttons on the bottom bar
- Retake will take user back to Camera screen
- ReCrop will let user to modify the image again
- Tap Analyse need load the progress graphic (06-Progressing.jpg)
- After progress completed need take user to Processed screen explained below

6) Processed Screen
Screenshot: 07-Processed-Image.jpg
- This is Processed screen, cropped image on top. Image graphic placed on the bottom
- Remove the line chart on your iPad application, ignore storyboard look
- Home button take user to Landing page.
- Save to iPad & Email button can be disabled for now

Image Upload API Services:
Step 1:
iPad app should upload the image to a specified FTP folder (IP: xxx.xxx.xxx.xxx Path: .\InputFolder\<Image_name.jpg>)
Step 2: Post upload, it will notify the server through below URL:
https://connectedsmartworker.appspot.com/_ah/api/myApi/v1/post_new_job_test?jsonData={“job_id”:”timestamP”,”image_name”:”IMG_1234_CROPED.jpg”}
Step 3: Post upload, app will periodically call below URL to check image processing completion status. Polling should continue every 3sec, till it gets TRUE.
URL: https://connectedsmartworker.appspot.com/_ah/api/myApi/v1/get_completed_job
Step 4: Once processing done, the response will come as
{“job_id”:”timestamP”,”image_name”:”IMG_1234_CROPED.jpg”,”status”:”2”}  -> 2 stands for processing done. 1 stands for in progress.
It should download the processed image from same FTP server with same file name from same folder (IP: xxx.xxx.xxx.xxx Path: .\InputFolder\<Image_name.jpg>). Please note as our server will not process images from the public FTP, so the tester should download same image from same FTP folder during their unit test.

Final Submission Guidelines

Submission Guidelines
- XCode Project with all source code that addresses the requirements
- Deployment guide with configuration & verification steps. Describe all config params and include steps to run

General Notes
- Submission challenge only need support the iPad
- Lock the app in portrait modes
- App must support 2x and 3x assets and retina devices
- App must support iOS 10.x
- All code must be written in Swift and the project must use latest XCode version. Do not use Objective-C or Bridging approach
- All source code changes must be well commented and MUST follow existing coding conventions
- Please ask in the forums if you wish to use any open-source third-party libs to ensure there
are no license violations

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30059500