Register
Submit a solution
The challenge is finished.

Challenge Overview

Note - This challenge follows the new challenge template and the new iOS native scorecard. The review fee will be fixed on this challenge (1 sub - $120, 2-3 subs - $175, 3+ subs - $200)

Challenge Objectives

  • Native iOS app development

  • Frontend development only, no backend integration

  • ~10 screens

Project Background

  • The purpose of this project is to develop a mobile application that works as a connector, trying to connect supply and demand of the innovation market in a wide variety of industries. In other words, ideas and promising projects need to connect with the appropriate investment individuals or companies, supported by an intelligent environment (AI) which learns from the acquired data to help the users optimizing the matches and connecting experience.

  • The client’s vision is to launch a new, global platform that connects innovation supply to innovation demand to solve tomorrow’s hardest and most challenging problems as our roadmap states. Users will come to the Exchange to sell something, solve something, source something, or invest in something. The platform (or marketplace) will enable all of this, but not through traditional commerce transactions but more so from an awareness and notifications perspective. All deals and negotiations will be handled outside the platform / exchange at this time.

  • There are three major actors on the platform

- Innovation supplier: companies, startups, entrepreneurs, and innovators that have current, new, or emerging products, technologies, platforms.

- Innovation demander: companies, investors, clients, or customers that are seeking new and innovative products, platforms, and technologies

- Partners/Brokers: companies that play “in the middle” that can provide services to both innovation suppliers and demanders.

- Exchange Advisor (AI): think of this as a AI advisor that matches innovation suppliers, demanders, and partners/brokers / an engine that helps the user getting accurate information (opportunities).

The platform works as the glue of these two isolated islands, offering features and flows to engage in a seamlessly way, offering tools to provide confidence, trustability and accomplishment.

Screens/Features

 Please make sure your design includes the following screens (screens not listed here are NOT in scope):

  • All screens must use the provided dummy JSON data in forums. If the data is not appropriate for any of the screens or needs changes, please bring it up in the forums for discussion. We’re also providing the API to screen mappings for reference so it’s easier to integrate the screens with backend during a later challenge.

  • App should be locked to Portrait mode (Landscape support is not required)

  • Please use progress indicator (spinner) for screens involving data fetch from JSON (backend API)

  • Please note that we’ve broken down each screen into multiple points below. The actual number of screens is quiet less so don’t be misguided on the scope

01-01

  • Validate email & password for non-null

  • Validate email for format correctness

  • Password should be masked

  • Forgot Password should be a dummy link

  • Please make sure valid credentials are configurable via plist

  • Clicking ‘Register here’ navigates user to 02-01

  • All social links must be dummy

01-02

  • Shows earlier screen with filled parameters

 

02-01

  • All fields should be non-null

  • Validate phone and email for format correctness

02-02

  • Shows earlier screen with filled parameters

02-03

  • Both options ‘Get Started’ and ‘Don’t need it’ must be clickable

  • Clicking ‘Don’t need it’ redirects user to 03-01 screen

  • ‘Get Started’ should be highlighted by default as shown in storyboard

02-04

  • Keep ‘Verify’ button disabled until the user fills in the 6-digit code

  • Only numeric characters must be allowed for code

  • Please use the actual suffix of phone number in the text “sent to “

  • ‘Didn’t get a code’ should be a dummy link

02-05

  • Shows earlier screen with filled parameters

03-01

  • Follow the storyboard

  • The data on this screen can be hardcoded, no need to put this in JSON

  • User can select multiple options

  • Next should be disabled until the user has selected at least one option

03-02

  • Shows earlier screen with filled parameters

  • Next is active and clicking this navigates user to 3-3

03-03

  • Allow user to select multiple options

  • Clicking ‘Back’ takes user back to earlier screen

03-04

  • Allow user to select single option

  • Clicking ‘Back’ takes user back to earlier screen

  • Finish should be disabled until the user has selected at least one option

03-05

  • Shows earlier screen with filled parameters

04-01

  • All fields are mandatory

  • Clicking ‘Upload photo/logo’ must allow user to either launch the camera or pick an image from the gallery

  • Please use a dropdown for State (2-letter acronyms) with all states alphabetically sorted

  • Zip should be a 5-digit numeric value

  • Country must be a sorted dropdown list as well

  • Format phone number to be a valid value

  • Clicking + should add another row for adding a new phone number

  • ‘Submit My Company Profile’ should be disabled until all fields are non-null and have valid values

04-02

  • Shows earlier screen with filled parameters

04-03

  • Follow the storyboard

  • Clicking ‘Get Started’ takes user to 04-06A

04-06A

  • User can swipe left or swipe right across profiles

04-06B

  • Clicking an advisor’s profile marks it for selection

  • Please make sure all advisor data is coming from JSON files

04-07

  • Shows an advisor in selected state

  • Should show the count of selected advisors on top

  • Clicking ‘Proceed with Selection’ takes user to next screen

 

05-01B

  • See API mapping for JSON data that must be stubbed

  • All buttons in the Acceleration Lenses card must be clickable

05-02A

  • User should be able to swipe right for “I’m interested”

05-02B

  • The animation effect must match that as shown in storyboard

05-03

  • ‘Add to my favorites’ should be checked by default

  • Clicking ‘Close’ should dismiss this modal

  • ‘Don’t ask this again’ should be a dummy link

05-04A

  • Same as 05-02A

05-04B

  • Shows the left swipe operation

05-05

  • User should be able to swipe left for “Not interested”

  • The animation effect must match that as shown in storyboard

05-06

  • Select the first option by default

  • Clicking ‘Close’ should dismiss this modal

  • ‘Don’t ask this again’ should be a dummy link

05-07A

  • Shows an example notification

05-07B

  • Shows how to close the notification by clicking ‘x’

05-08A

  • Shows challenges being selected

05-08B

  • Shows challenge as active

  • Ignore the ‘Invitation’ text - that should not be shown on screen

05-09A

  • Shows the action on clicking + button

05-09B

  • Shows the modal on clicking + button

  • Clicking x must cancel this modal

06-01

  • Title & write something are placeholder texts that should be replaced when the user starts typing

  • Post should be disabled until the user has chosen a Title, Category and description

06-02

  • Shows category selection

  • Please do not show ‘Post’ button on this screen

  • Read category data from JSON file

06-03

  • Shows earlier screen with all parameters filled

06-04

  • Allow adding only images, remove other icons

06-05

  • Shows an embedded image

06-06

  • Shows this modal when clicking on ‘Post’

  • ‘Yes’ should be highlighted by default as shown in storyboard and clicking it should navigate user to 06-07

  • Clicking ‘No’ should dismiss the modal

06-07

  • Follow the storyboard

06-08

  • Follow the storyboard

07-01

  • Follow the storyboard

  • All fields are mandatory

  • Category selection works as on other screens

  • Should allow adding an image

  • Bold/ Italic is NOT required

07-02

  • Shows earlier screen with all parameters filled

07-03

  • Shows confirmation modal

12-01

  • Follow the storyboard

 

Form Factors

 

Please make sure your design supports these form factors:

  • In-scope

    • Phone portrait

  • Out of scope

    • Desktop portrait and landscape

    • Tablet portrait and landscape

    • Mobile landscape

Operating Systems

  • iOS only

Development Assets

  • User Interface Design (Provided in Forums)

  • Test Data (Provided in Forums)

Technology Stack

The following technology stack will be used as part of this challenge.

Latest Swift & XCode version

Scorecard Review

  • This submission will use the new iOS development scorecard.

  • Please review the scorecard carefully.

  • Your submission will be reviewed on these requirements:

    • Challenge Spec Requirements

      • Requirements Coverage

    • Coding Standards

      • Best Practices

      • Code Quality

    • Development Requirements

      • Localization

      • Testing

      • Performance

      • Security

      • Deployment

    • Organisation & App Architecture

      • Onboarding

      • Launch Screen

      • Search

      • Alerts

      • Scrolling

      • Tables

      • Alignment

    • User Interaction

      • Button Size

      • Page Controls

      • Pickers

      • Sliders

      • 3D Touch

      • Feedback/Notifications

      • Progress Indication

      • Authentication

    • Visual Design

      • Typography

      • Legibility

      • Images

      • Text Fields



Final Submission Guidelines

Final Deliverables

  • All source code.

  • A brief write up explaining how to build, configure and deploy your code

  • Demo video of your app

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30072298