Register
Submit a solution
The challenge is finished.

Challenge Overview

INTRODUCTION
This is the first in a series of challenges to develop an iPhone app for Cardinal Health which allows users to virtually fill a “change jar” with ideas of changes they will make in their lives, or in the lives of someone they know. This challenge will focus on developing prototype functionality based off of the provided designs.  Web services will be integrated in a future challenge.

REQUIREMENTS
Implement all views as designed and stub functionality as necessary.  Screens should display as referenced in the designs. Use Core Data for local storage where applicable for caching of data. All necessary source assets, design and web service references are located in the
designs repository

Web Services
-- Web services are currently under development - follow the draft document here
-- Stub functionality for sending data to/receiving data from the services
    -- This should include retrieving lists of Ideas as well as posting new Ideas
    -- Retrieved lists should include mock data according to the draft document
    -- Use this mock data for display on all screens
    -- Calls should include consideration for sending the user's email address as a key in the request headers
-- Do calls to the web services for new data when the app becomes active
-- Cache Idea data locally on the device using Core Data

Opening Screen/Views
-- Designs beginning with 00-Opening-screen-01-A.png
-- Display this screen on first launch of the app
-- Swipe right to display the three separate views (00-Opening-screen-02.png, 00-Opening-screen-03.png)
-- Flag icon on the bottom right should take user to the Home screen when tapped

Home Screen
-- Designs beginning with 01-Home-screen-01-defaults.png
-- Display the coaching overlays on first launch of the app
    -- Tapping "Next" in the navigation will step through overlays 1-3
    -- Tapping "OK, Got it!" or "Done" will dismiss these overlays
    -- 01-Home-screen-00-1-Coach-marks.png, 01-Home-screen-00-2-Coach-marks.png, 01-Home-screen-00-3-Coach-marks.png
-- Tapping New Ideas, My Ideas or All Ideas navigates to the list of Ideas (see below)
-- Tapping Browse displays all Ideas in random order
-- Hamburger icon in the navigation bar can be removed
-- Bell icon in the navigation bar displays the number of new Ideas since last using the app
    -- Tapping will take the user to the list of new Ideas
-- Tapping Submit Ideas will take the user to the Idea Submission screen (see below)
-- Tapping Settings will take the user to a screen for storing their email address (this will be used for sending with web service requests in the future)
    -- Lay this screen out in the same design style as the rest of the screens

Ideas List Screen
-- Designs beginning with 02-Idea-flow-AA-00-All-ideas-ALT-A.png
-- Displays a list of ideas, with displayed data dependent upon item selected from the Home screen
-- Ideas should be ordered descending by date submitted
-- Ideas that are new to the user since last viewing should display the NEW tag
-- Magnifying glass in the navigation bar should open a standard UISearchBar and allow the user to search all Ideas by keyword
    -- Search should be performed against the local cached Idea data
-- Plus icon in the navigation bar should take the user to the Idea Submission screen (see below)

Idea Submission Screen
-- Designs beginning with 02-Idea-flow-D-01-Submit-Ideas.png
-- Allow the user to select whether or not to display their name
    -- Grey out their profile/name if not selected
-- Ideas are limited to 160 characters
-- Remove the “Tips” area at the bottom of the screen, adding a photo functionality does not need to be included for this challenge
-- Display the Thank You screen following Idea submission
-- When “Closed” is tapped on the Thank You screen give the user the option to return to the previous screen or the Home screen

Idea Detail Screen
-- Designs beginning with 02-Idea-flow-B-05-02-Anonymous.png
-- Display the coaching overlay (02-Idea-flow-AA-01-Coach-marks.png, 02-Idea-flow-AA-02-Coach-marks.png) on the first launch of the app
    -- Tapping "OK, Got it!" or "Done" will dismiss this overlay
-- Retain the navigation bar buttons and functionality from the Ideas List screen
-- Swiping left or right will page through Ideas
-- Swiping up will reveal the full Idea detail
-- Swiping down while the Idea detail is displayed will return to the summary

SETUP
-- Send an email to
harrywynn and request to be added to the Cardinal Health team on Gitlab
-- Once added to the team, fork the
mobile-change-jar repository and work off of the tc_challenge_1 branch
-- Add
harrywynn as a member of your forked repository
-- 
All necessary source assets, design and web service references are located in the designs repository



Final Submission Guidelines

-- All code should be written in Swift and be well commented
-- Code must compile with Xcode 6.3 against iOS SDK 8.3, deployment target of iOS 8.0
-- Develop for iPhone size classes, with orientation locked to portrait
-- Use storyboards for all views and navigation
-- All storyboards/strings should be implemented with localization support
-- Use Core Data for local device storage
-- Upload your source project as a zip
-- Include your Gitlab username and URL of your forked repository in your documentation 
-- User with the winning submission will be required to do a merge request in Gitlab

ELIGIBLE EVENTS:

2015 topcoder Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30050570