Challenge Overview

Challenge Summary:

Welcome to the IBM - SiBM CredentialME UI Prototype Challenge!   The goal of this challenge is to create the HTML5 Prototype for a mobile-based application called CredentialME using the provided storyboards from our last challenge. 

As part of this challenge we need you to document your HTML5/CSS3/JavaScript code (using best practices). We are looking for a clear explanation of the code to allow us the ability to quickly update and integrate with future development.

We look forward to seeing your UI prototypes!

Tips for Success: Asking questions early and getting Copilot or PM's feedback is very important for the success of this challenge.

Project Overview:

The client for this project has decided to build a new mobile application called CredentialME.  The CredentialME App will allow you to earn, manage, share, build and consume digital badges and credentials for skills and achievements.  In other words, CredentialME is a badge wallet, where you can see and manage your badges.  For this first release, we will accept badges from Mozilla and Pearson, and allow people to publish badges they've earned to IBM social channels.

Background Information
What is a Credential? A credential is proof of a person’s capability, skill or achievement. It’s used to indicate your suitability for a role or task. Credentials are aligned to independent standards and are verified and validated. We are focused on credentials for "resume-worthy" achievements and use badges as a visual representation.

Challenge Requirements
The purpose of this challenge is to develop an HTML5 prototype based on the provided storyboard designs. We will provide the wireframes and all storyboard screens to help you understand the workflow. 

Your prototype must work properly in all the required browsers.  The prototype needs to work for both iOS (iPhone) and Android mobile devices.


Required Screens:

We are looking for the following screens to be included in the UI prototype:

1) Login
- Login screen for users to sign in using their IBM credentials
- Ability to login / connect to Mozilla and Pearson accounts (first time users may not yet have an account set up with an external vendor, so we should give them the option to skip this step if they don't have an account.)
- Wireframes: login.html
- Screen: 1a_login.png, 1b_login_invalid.png, 1c_grant_access.png, 1d_access_login.png (note: please include 0b_splash_screen.png as well).

2) Stream
- Stream of items that are related the user (someone published a new badge, there's a new badge available  that you can earn, etc)
- Wireframes: streams.html
- Screen: 2a_streams.png, 2b_streams_scroll.png, 2c_notification_1.png, 2c_notification_2.png, 2c_notification_3.png, 2d_menu.png

3) My Badges
- List of badges earned
- Includes the ability to share (notify someone by email) and publish badges (make them visible to others in the app); users can also "unpublish" a published badge, to hide it again
- Wireframes: my_badges.html
- Screen: 3a_my_badges.png, 3b_my_badges.png, 3c_my_badges.png

4) Badge Details
- Display details about a badge (such as how to earn it)
- Wireframes: my_badge_detail.html
- Screen: 4a_my_badge_details.png, 4b_my_badge_details.png, 4c_my_badge_details.png, 4d_my_badge_details.png, 4e_my_badge_details_with_expire_date.png, 4f_other_badge_details.png, 4g_other_badge_details.png

5) User Profile
- The user can view their own profile or profiles of other users
- Wireframes: user_profile.html
- Screen: 5a_my_profile.png, 5b_my_profile.png, 

6) Favorited Badges
- A list of badges the user has favorited
- Wireframes: favorited_badges.html
- Screen: 6_favorite_badges.png

7) Share Badge / App
- Ability to share badges, or the app, with others
- Allows the user to tell other people (e.g., via email) about their badges
- Wireframes: share_badge.html, share_app.html
- Screen: 7a_share_badge.png, 7b_share_badge_no_email.png, 7c_share_badge_with_email.png, 7d_share_app_no_email.png, 7e_share_app_with_email.png

8) Send Feedback
- Ability to send a message to the app admin
- Wireframes: send_feedback.html
- Screen: 8_send_feedback.png

9) Search
- Display search results
- Wireframes: search_results.html
- Screen: 9a_search.png, 9b_search_edit.png

NOTE: The Notifications page from the wireframes is out of scope for this first release, so there is no need to include this page.


Key Requirements:

- We would like to ensure prototype is responsive (consider leveraging Angular/Ionic, Bootstrap, etc.) - it needs to work on different mobile devices (such as iPhone 6 and Android devices).
- Test in all the required browsers (see the list below)
- Ensure your submission is clear of validation errors and warnings (HTML, CSS, JS).
- You are provided with a wireframe and storyboards.
- Screens/layout in wireframes and storyboards might be different, wherever the screens/layout are different, storyboards takes precedence - please follow that! (Wireframe should be helpful with the flow).


HTML/CSS Requirements:

- Your HTML code must be valid HTML5 and follow best practices
- Validate your code - reviewers may accept minor validation errors, but please comment your reason for any validation errors. Use the validators listed in the scorecard
- Use CSS to space out objects, not clear/transparent images (GIFs or PNGs) and use proper structural CSS to layout your page. Only use table tags for tables of data/information and not for page layout.
- No inline CSS styles - all styles must be placed in an external style-sheet.
- Use semantically correct tags - use H tags for headers, etc. Use strong and em tags instead of bold and italic tags.
- Element and Attribute names should be in lowercase and use a "-" or camel naming to separate multiple-word classes (i.e.. "main-content", or "mainContent)
- Label all CSS, JavaScript, or HTML hacks with explanations so others will understand.
- Your code must render properly in all browsers listed in the scorecard.

JavaScript Requirements:

- All JavaScript used must not have any copyrights to any third party. You are encouraged to use your own scripts, or scripts that are free, publicly available and do not have copyright statements or author recognition requirements anywhere in the code.
- You are allowed to use JQuery (MIT License)  for this contest.
- All JavaScript used must not have any copyrights to any third party. You are encouraged to use your own scripts, or scripts that are free, publicly available and do not have copyright statements or author recognition requirements anywhere in the code.
- You are allowed to use JQuery (MIT License)  for this contest.

Browsers Requirements:

- Firefox, Safari & Chrome Mobile Browsers.
- Android Browser.

Challenge Inputs:

- Storyboard files
- Wireframe files

NOTE: Screens/layout in wireframes and storyboards might be different, wherever the screens/layout are different, storyboards takes precedence - please follow that!



Final Submission Guidelines

Submission Deliverables?, Environment Setup Instructions?, Final Submission Guidelines?

The complete prototype that covers all screens.

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30051994