Key Information

The challenge is finished.

Challenge Overview

In Signator project we develop a solution for generation and disribution of compensation reports to the client's sales representatives.

In the challenge forum you will find the link to the current codebase, a virtual machine (VM) emulating client's environment and database (DB), and related documentation. In its current state, the code extracts necessary data from the database, and generates a set of reports, that are assumed to be emailed to sales representatives afterwards. Each report is a self-contained HTML file (build with Angular), that does not require internet access, nor any other files, to be viewed in browser (you'll find example in the forum).

WARNING: The Vagrant / VirtualBox machine provided for this challenge is ~9Gb download.

In this challenge you will:

1. Improve data handling / filtering on Details page. Right now, all data make it to the prototype, but only Details > Wealth > New & Subsequent, and Details > Protection > New views are functional. You will make all other views functional, and also make the filter options working.

2. Fill Analytics page with real data. If you look carefully, you will see that the page relies on the same data from Details page, they are just summed up to show at charts.

3. Clean-up generation code, to not rely on mock data. Currently in the data-defaults folder there are some files containing mock data, that are already coming from the database (e.g. wealthNewAll.js contains mock data for rows to show in the prototype). The code in file-generators seems to still rely on those mock data as defaults. The way it is written now, it is hard do say, whether only real data are properly included into the reports, or the mock data are sometimes blend in. As a part of this challenge, you must refactor and clean it up, so that we are sure that only real data are bundled into the reports, and that no duplicates of data are included (e.g., the file-generators/wealth-files.js contains generateWealthGroupByRepFile(..) function and generateWealthGroupByFirmFile(..) - double check, what is the intention of these, and make it right: apparently, these refer to the same data, grouped in different ways, so we want to include them into the report bundle just once, and then filter / process as necessary in the report itself, which is a part of 1 & 2 points above).

As a part of this ask, please setup the linter for the project.

In case of any doubts, do not hesitate / discuss in the challenge forum.

Final Submission Guidelines

Submit Git patch against the commit 8515ea96f71b3b46bb0a150a860caf91c38214ee + a brief demo video + any verification instructions / notes for reviewers, you might have


2018 Topcoder(R) Open


Final Review:

Community Review Board


User Sign-Off


ID: 30066589