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