Challenge Overview
Welcome to the Service Order - eCommerce Platform UI Prototype challenge, brought to you by Salesforce.com!
We are looking to create a simple, efficient, and intuitive UI that will appeal to large B2C retail organizations that need the ability to sell and serve from within the same application. We will ultimately build out a UI within Salesforce.com to take advantage of their omni-channel capability, providing an effortless experience for agent and customer alike.
Challenge Goal
The main task of this challenge is to create a standalone HTML UI Prototype based on the provided PSD Storyboard designs. The UI Prototype will use a Responsive Design solution that will work within Desktop resolutions. Please follow best practices and make your prototype easy to update if in the future we need to modify or extend it.
Overview
Overall, we have 4 main pages to build out. Within those pages, we have 1-4 sub components. Here’s a preview of the 4 main pages:
Getting Started
-
Log into our sample Salesforce.com org to preview the “Service Order Entry” Console, and get an idea of where we'll be able to import your HTML pages. Your pages will be used to create custom detail pages, as well as custom sidebar components. See Forums for more details on navigating our Salesforce platform. Note: You will not be deploying to Salesforce, but rather it is here for a reference. Your solutions will be strictly HTML/JS/CSS.
-
Review our annotated screenshots with red borders. Each section within a red border should be a separate HTML page. You can load each section in iframes for the challenge submission. This will help us merge your solution into our SFDC org in the different sections.
IMPORTANT
-
All pages of SFDC Service Order - eCommerce Platform UI Prototype for desktop version must use fluid layout on any browser screen width.
-
As possible, we need all pages on this prototype linked each other. Let us know if you need clarification about the flow.
-
All form input on every page MUST follow storyboard design and look consistent across required browsers.
-
Match All Fonts like on storyboard. Use @font-face technique.
-
For this Desktop version, suggest how hover state would look for every button and link. Make sure the style is not far off from our current theme.
-
All data must load from separate “data” folder, using .json files (e.g. "data/*.json"). Use well-defined JavaScript methods to retrieve the data. For example, Order Summary section might have a getOrderSummary() and return a list of Product Objects, along with Order details.
-
Minimum width for this prototype should be 1024px with responsive width solution for wider screen.
Documentation Provided
-
Order Entry Designs.zip - Storyboard Design
Required Pages
In summary, we will have 4 pages, with 1-4 sub-components in each page. High-level, they are as follows:
-
Search Results
-
Product Details
-
Details
-
Product View History
-
Order Summary
-
Other Similar Items
-
-
Delivery
-
Order Details
-
Order Summary
-
Order History
-
-
Link Order
-
Order Invoice / Case Details
-
Order History
-
General - All Pages
screenshots: 1.Search-Result.png, 3.Detail.png, 5.Delivery.png, 6.LinkOrder.png
Header
-
This header should be fluid as browser width
-
Logo and text should be image based
-
Search input placed next to logo, when click search input or press enter should take to Search Result page
-
You can ignore “Manuel Nuer” drop-down menu, Help link, and “Sales Cloud” drop-down menu for now.
Main Navigation
-
Main Navigation should be fluid as browser width
-
For Search Result, you need show “Account” and “+” button.
-
Create New Order button placed in the right side
-
This main navigation also supports sub menu below. You can see sample design here (screenshot: 3.Detail.png)
Footer
-
This footer area should be fluid as browser width
-
All Rights Reserved text placed in the left side
-
Privacy and other links placed in the right side. Put dead link for now.
1. Search Results
screenshot: 1.Search-Result - Guides.png
Note: Keep in mind, section with red border must load in separated HTML page via iFrame
-
Whole breadcrumb bar area should be part of separated HTML page
-
Breadcrumb placed on top left
-
The last link not clickable, but previous links in breadcrumb clickable. Put dead links for them for now
-
“Sort By Popular” is drop down menu. Show us how menu would look
-
Grid view icon showing active state
-
List view icon is just dead link
-
Items per page should load correct content. Simulate page when clicked other options (can replace “25, 50, 200” with smaller numbers to mimic behavior, e.g. “6, 12, 24”)
-
Make sure iframe height auto expanded when click items per page
-
Sort Result area can use fixed width
-
Search Result area should fluid as browser width. Thumbnails should auto move up when browser resized
-
Sort Result area, need toggle function
-
Match arrow design for expanded and collapsed state
-
Match input for Price Range. “$” character must always displayed when user start typing
-
Compare List in top right must dynamically capture the selected Compare checkboxes in Search Result
-
Thumbnail and title should link to Detail page
-
Thumbnail can use img tag
-
Rating star displaying below the title
-
Colors option placed in the right side
-
Price, match font style
-
Size Dropdown, show sample menu look
-
Color Dropdown, notice there’s rectangle for color in the right side. Show us how sample menu look
-
Quantity input, should works by click up/down arrow also by type
-
Add to Cart can link to “5.Delivery.png” page
-
Click label should also checked on/off Compare checkboxes, and automatically count the numbers on Compare list on top
-
Match other thumbnails content
2. Product Details
screenshot: 3.Detail - Guides.png
This is the product details information page.
-
User landed on this page after click thumbnail or product title
-
Match main navigation content, Add new Order1 menu
-
Below main navigation displayed sub menu. Set Orders as active menu
-
Checkout placed in the right side. Link to “5.Delivery.png” page for now
-
The right sidebar can be fixed width. Meanwhile, left content fluid as browser width
-
These 4 sections below must loaded from separate HTML pages:
A. Details
-
Breadcrumb should be part of this section when load in separate HTML. ignore border on screenshot
-
When click each thumbnails should load image in bigger boxes
-
Hover to zoom function must works
-
Show Product Feed, put dead link for now
-
Match product information content
-
Choose Size & color is dropdown, show us how dropdown menu look
-
Add to Cart can link to “5.Delivery.png” page for now
-
Share via Social network icons should be dead link
-
Create tab functions for “Product Details”, “Specification”, “Reviews” and “Discussions”
-
Match active and inactive state for tabs menu
-
Show some sample for each tabs
B. Product View History
-
This section should have toggle function
-
Both thumbnail and title are clickable. Link to “3.Detail.png” page for now (current page).
C. Order Summary
-
This section should have toggle function
-
Match thumbnails and product quick information
-
Click “x” button should remove the order
-
Match Total font properties
D. Other Similar Items
-
This section should have accordion menu function
-
Other Similar Item expanded by default
-
Match content for each row
-
View More in the bottom right, put dead link
-
Make sure iframe height auto expand when filled with more data
3. Delivery
screenshot: 5.Delivery - Guides.png
This is the Delivery page.
-
Left area should use fluid layout, and right side can use fixed width
A. Order Details
-
Breadcrumb should be part of Order Details page
-
Match breadcrumb content
-
Edit, Clone and Delete button displayed in top right
-
Add new Address can be dead link
-
Match dropdown on Shipping Address
-
Order Products, Shipping Method and Payment Method use toggle functions
-
Order Products, Update Quantity will reflect to Price and total
-
“X” button will remove the row
-
Checkbox for “Send items as gift...”
-
Add textarea for specific note for order
-
Shipping Method, user can select checkboxes. Match selected and unselected checkboxes
-
Payment Method, User can fill Gift Card Number and Credit card information
-
Checkbox for “Save Card for Customer Account”
B. Order Summary
-
This area should load in separate HTML page
-
Match content and font properties
-
Place Order can link to “6.LinkOrder.png” page for now
C. Order History
-
This area should load in separate HTML page
-
This section should have accordion menu function
-
Match content for each row
-
Track Order and Check Status are dead links for now
-
“Store Locator” and “Console Title” also need include in separated HTML page
4. Link Order
screenshot: 6.LinkOrder - Guides.png
This is Link Order page.
-
Basically this page use same layout like Delivery page
-
Match content like storyboard design
-
Match new shipping information columns
-
Notice the differences on Order Invoice dropdown, Case Details and Note
Client Priorities
The items that are considered highest prototype priorities to the client are:
-
Creating quality and efficient HTML/CSS3 code that works in all the requested browsers.
-
All elements should be Pixel Precisions, pay attention to padding, margin, line-height, etc.
-
Matching the storyboards (as close as possible) across the required browsers.
-
Documentation of your prototype
-
Main focus on red-bordered section from screenshots.
Final Submission Guidelines
HTML5
-
Provide comments on the page elements to give clear explanation of the code usage. The goal is to help future developers understand the code.
-
Please use clean INDENTATION for all HTML code so future developers can follow the code.
-
All HTML code naming should not have any conflicts or errors.
-
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)
-
Use semantically correct tags- use H tags for headers, etc. Use strong and em tags instead of bold and italic tags.
-
No inline CSS styles- all styles must be placed in an external stylesheet.
-
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.
CSS3
-
Use CSS3 Media Queries to load different styles for each page and don't build different page for different device/layout.
-
Provide comments on the CSS code. We need CSS comments to give a clear explanation of the code usage. The goal is to help future developers understand the code.
-
Please use clean INDENTATION for all CSS so developers can follow the code.
-
All CSS naming should not have any conflicts.
-
As possible use CSS3 style when create all styling.
-
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.
JavaScript
-
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.
-
jQuery, AngularJS, Bootstrap okay to use.
Browsers Requirements
-
Chrome latest version on Mac & Windows
-
Firefox latest version on Mac & Windows
-
Safari latest version on Mac & Windows
-
IE10
-
IE19