Challenge Overview

Project Overview:

Welcome to the Mondelez Tablet App HTML5 Prototype Challenge! The goal of this challenge is to create a Responsive HTML5 Prototype application for Android devices based on provided storyboards using AngularJS framework and Bootstrap.

NOTE: This application will use AngularJS Framework (http://angularjs.org, http://docs.angularjs.org/guide) and Bootstrap 3 (http://getbootstrap.com/getting-started). Please follow coding standards and write clean code for AngularJS data binding instead of using plain HTML code.

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

Competition Task Overview:

The main task of this competition is to develop a Responsive HTML5 prototype based on the provided storyboard designs. You need to prepare and use sample JSON data in this prototype application using AngularJS data binding - please refer sample data in excel sheet (Sample Data for Tablet App V2.xlsx). You could use assets in this app from the provided files "Mondelez Table App Assets.zip".

Your prototype must work properly in all the required browsers. This prototype should support retina display. The MOST IMPORTANT browsers should support on latest chrome browsers on Android devices.

Required Pages:

Below are the required pages in both Portrait and Landscape orientations. We would prefer to use single page app using AngularJS templates.

1. Splash Screen:

  • User opens the application and will see the splash screen (01_Splash Screen).
  • After few seconds (keep configurable time on JavaScript code in miliseconds) navigate user to landing page (01-1_Landing Page).

2. Landing Page:

  • This is the main page (01-1_Landing Page) for user which shows three section ("Last Product Viewed", "Last Comparison", "You Are Here").
  • Each section has last 10 items in the carousel which are shown at bottom.
  • Once user selected any of the section, show user the corresponding last 10 items at bottom section - refre screens (01-2_Landing Page, 01-3_Landing Page).
  • Click on "Bookmarks" link at top-right corner, show user bookmark items on panel as shown on screens (01-4_Bookmarks, 01-5_Bookmarks, 01-6_Bookmarks, 01-7_Bookmarks, 01-8_Bookmarks).
  • Click on bookmark items, navigate user to corresponding 'multi product', 'single product' or 'store' pages.

3. Multi Product:

  • Once user selects "MultiProduct" from the menu at bottom (02-1_Multiproduct), navigate user to multi product page (02-2_Multiproduct).
    • Flow would be 'Select Store', then select 'Category', then select 'Brand', then 'Product'.
  • Click on select brand to compare links at left-top and right-top, show user the brand list as shown on screens (02-3-5_Multiproduct_Select Brand).
  • Selecting any brand (example - Keebler), show corresponding products as shown on screen (02-4_Multiproduct_Result).
  • Allow user to drag and drop product at center boxes for comparision between products (02-4_Multiproduct_Result).
    • Existing product on the box can be replaced if new product is dropped.
  • Once user clicks "Select Store" button at right-bottom corner, show user the store list as shown on screens (02-3-6_Multiproduct_Select Store to 02-3-9_Multiproduct_Select Store).
  • Click on "View Map" link, show user the google map with location details as per screen (02-3-10_Multiproduct_Store Map).
  • User can swipe the bottom strip to hide the nav panel as shown on screens (02-5_Multiproduct_Hide Nav, 02-6_Multiproduct_Hide Nav).
  • User can be swape the comparission data (in carousel) from left to right or right to left as shown on screens (02-7_Multiproduct_Slide Data, 02-8_Multiproduct_Slide Data, 02-9_Multiproduct_Slide Data).

4. Single Product:

  • Once user selects "Product" from the menu at bottom, navigate user to single product page (03-1_Single product).
    • Flow would be 'Select Store', then select 'Category', then select 'Brand', then 'Product'.
  • Show the brand at left-top corner and all categories at top navigation.
  • Display all products at left bar as per filter on brand and category.
  • Once user select any of the product from left bar, show corresponding data on main content area.
  • Follow the screen to display content data on carousel.

5. Brand Compare:

  • Flow would be 'Select Store', then select 'Category', then 'Brand' - (we don't have screens for this).
  • Display all sub-brands on side bars as per filter on brand and category.
  • Select 2 Sub-brands (Oreo, Chips Ahoy, Chips Deluxe, E.L. Fudge, etc) to compare.

6. Category Compare:

  • Flow would be 'Select Store', then 'Category' - (we don't have screens for this).
  • Display all Manufacturer (Mondel��z, Campbell Soup Co, Kellogg) to compare.

7. Store Compare:

  • Once user selects "Store" from the menu at bottom, navigate user to store compare page (4-1_Store Compare).
  • Show the region at left-top and right-top corners and all categories at top navigation.
  • Display all stores at left and right bar as per filter on region.
  • Follow the screen to show the comparison data on carousel.

Final Fixes Note - there will be an update to the winning prototype to incorporate the minor changes in the Final Fixes phase.

Specific HTML/CSS/JavaScript Requirements:

As part of this challenge you will need to document all HTML5/CSS3/JavaScript code. We need clear explanation of the code to help us figure all the HTML5/CSS3/JavaScript code functions and make it easier for future developers and the client to understand what you have built.

  • 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 lay out 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 in both Mac and PC environments.

Font Requirements:

Use font - Arial.

JavaScript Requirements:

All JavaScript must not have a copyright by a 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. We would like to use following JavaScript libraries:

Browsers Requirements:

  • Chrome Browsers on Android Tablets

Documentation Provided:

Storyboard screens and PSD files: Storyboard.zip



Final Submission Guidelines

Submission Deliverables:

Final Submission:

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30043054