Challenge Overview

The purpose of this challenge is to create a UI prototype for the provided Excel document. 
We don't have storyboard, so please be creative when creating the UI prototype, and the baseline is the UI should cover all the data fields and spreadsheets in the Excel document. 

The pages will be readonly, but you can add dropdown lists etc. for filtering. 

Prototype Requirements

- The data to be displayed must come from local JSON files and cannot be hardcoded (this includes the data on the graph as well)
- The options for the checkboxes should come from local JSON files instead of hardcoded on the pages.
- Please use JS framework like: http://mdbootstrap.com/angular/, or some other equivalent high order JS framework
- The pages should clearly indicate invalid input data to users if necessary. 
- Create README.md file that explains your UI prototype structure
- Your submission must follow the Responsive UI best practice

HTML Requirements

- HTML should be valid HTML5 compliant.
- 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.

CSS Requirements

- 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.
- Use SCSS / SASS for styling 

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.
- Use typescript and linter for code quality
- For charts library, our client recommends this one: https://www.amcharts.com/, but you are free to choose the other *open source* options. 

Licenses & Attribution

- Third-party assets used to build your item must be properly licensed or free for commercial use. MIT, some modified BSD, Apache 2 licenses are ok, but if a library is not commercial friendly you need to get our approval first.
- Sufficient information regarding third-party assets must be present in your documentation. This includes the author, license info and a direct link to the asset online.

Screen Specifications

- Must support desktop. 

Browser Requirements

- Desktop: IE11+, Latest Firefox, Latest Safari & Chrome Browsers (Mac & Windows).

 

Final Submission Guidelines

Submission Deliverable
- Source Code
- README file with the deployment infomation

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30066699