Challenge Overview

Signator project implements a new solution for generation and distribution of compensation reports to sales representatives of our client. In this challenge you will take care about fixing various bugs in the otherwise completed codebase.

Project Background

Signator project was fully developed by Topcoder: from technical proof-of-concept version, and design of the new report templates, to the production-ready implementation. The developed code:

  • Pulls commercial data from the client’s database;

  • Generates self-contained HTML reports, with all necessary data and assets bundled into a single HTML file, that can be later viewed in browser at any device, with no need of Internet connection;

  • Delivers generated reports to the client sales representatives via email, using provided email template for the email body.

Currently, the project enters into the final quality assurance, bug fixes, and delivery phase.

Technology Stack

  • Client’s environment is emulated by a Vagrant/VirtualBox virtual machine (VM), which runs Solaris OS, with Oracle database (DB) that contains sample commercial data.

  • Report generation code is NodeJS, the reports it builds are, essentially, Angular webapplications, bundled in a special way, that ensures that all necessary JS / CSS / fonts / data are all embed into a single HTML document that can be send to the client.

Code Access

Links to the database (it is ~9Gb download), and instructions on obtaining the access to the codebase repository, are provided in the challenge forum.

Challenge Scope

Once you get access to the codebase repository, go to the Issues tab, and solve the following tickets (most of them are minor fixes, or even requests just to double-check current logic / behavior):

  • #6 - Invalid font references in the final report.html

  • #7 - Unauthorized layout changes

  • #8 - Summary - Compensation Summary & 1099 Summary - Weekly / YTD switches do not work

  • #9 - Details - Grand Total not updated

  • #11 - Broken links

  • #13 - Details problems

  • #14 - Icon behavior

  • #16 - Current email template does not include some stuff from sample template

  • #17 - Add limit of error string message (for delivery status messages)

  • #19 - Add check of response status when pulling email template

  • #21 - Requirement to manually create output folders

  • #22 - Wrong erorr message

  • #24 - Missed error to string conversion

  • #25 - Mail subject and attachment file name should aslo have a template style and substituted.

  • #26 - There might be duplicated emails between email1, email2, email3, email4. Should remove the duplication.

  • #27 - Double-check generation of protection data!

  • #28 - Double-check generation of direct / firm payments

  • #29 - Temporarily remove Analytics page from generated reports.

In case of any doubts / questions related to specific tickets, please ask directly on that ticket. All tickets should be considered as major requirements, thus no matter wether they are small (most of the are), missing several points will mean a failure of your submission (for the purpose of scoring, I believe, we can subtract 1 score in the section 1.1.1 for every issue clearly missed, and use 1.1.2 section in case some issues have been addressed, but still have some defects).

Final Submission Guidelines

Submit Git patch against the commit 593e78af3cd65860b3342a257d05c32c663ba1f6. For convenience of reviewers, please commit solution for each issue as a separate commit with the issue number in its title, and create the patch with git format patch, so that it can be applied with git am, keeping commits structure. Also, include a verification document. For the issues that ask to double-check some logic or behavior, if there is a problem, it should be fixed, otherwise it should be expained to reviewers, that current implementation is good, and how can they ensure it.

Reliability Rating and Bonus

For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
Read more.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board
?

Approval:

User Sign-Off
?

CHALLENGE LINKS:

Review Scorecard

?