Challenge Overview

A Large IoT and Power Management Company would like to consolidate all of their employee technical competency into a single tool which can be used to track at multiple levels. The goal is to have an application that allows CoE leaders to define roles with their competency requirements, and actions or trainings which prove each competency level. Managers and Directors will be able to track profiles with roll ups of competency in specific sections of the workforce.

 

In previous challenge, we created the first set of pages for our desktop app based on the storyboard (provided on the challenge forum, available on registration) using ReactJS + Redux and Electron.

In this challenge, you need to implement the rest of the pages

Technology Stack

  • React.js

  • Redux-Saga

  • Electron

Code Access

The code is hosted on a private Gitlab repository. You will find the link on the challenge forum once you register on the challenge.

Individual requirements

  • Implement the pages under the “Competencies” group. Those are essentially 2 pages. The reusable “Competency details page” (eg Tools, SSD etc) and the “More” page which is essentially the “settings” page that allows pinning more “Competency details” pages as links on the sidebar.

    • Different variations of the sidebar within that page are also in the scope of the challenge.

  • Implement the “Aggregate Totals” page.

    • The charts must be implemented.

    • The charts should have some animation when loading.

Code Requirements

  • ES6 syntax is preferred, as Babel has been setup to handle transpiling the syntax to the current JavaScript standard.

  • Use .jsx extension for React components; using PascalCase for filenames. E.g., ComponentName/index.jsx.

  • Do not create a single .css/.scss file for the whole app. Each component should have its own stylesheet file.

  • Ensure that there are no lint errors.

  • Use flex instead of float.

  • Create reusable components.

API Integration

Although the API is not ready yet, you need to implement all actions/services required to fetch the data showing in the app from JSON files and storing the data in the Redux store. We should be able to replace the JSON files with actual API calls to integrate the app with the backend without much effort.

User Roles

The following types of users have access to the app:

  • Leader

  • Director

  • Manager

The logic for each user type will be handled on the backend. The only different on the frontend will be the sidebar (Directors and Managers only have access to the AGGREGATE TOTALS page and the user type badge at the top right of the page).

Platform Requirements

You need to provide instructions on how to test (dev mode), build (create installer) and run the application for the following platforms:

  • Windows

  • MacOS

  • Linux

 

If you have any questions, feel free to ask on the challenge forum!

 


Final Submission Guidelines

Submit a git patch for the latest commit in the develop branch.

You can also submit the whole folder just in case your patch file is broken but if you don't submit a patch file you will lose points.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30067507