ico-arrow-big-left

Odyssey - Improvements and Tests

Key Information

Register
Submit
The challenge is finished.
Show Deadlines

Challenge Overview

The Odyssey Audit Tool facilitates generation of code audit reports for projects hosted at GitHub. In this challenge you will take care about few improvements of its functionality, and test coverage of the code. The codebase is provided in the challenge forum (please, remember that it is propietary, and should not be used / shared outside of this challenge, as per Topcoder Terms of Use), technical stack is Ruby (72.1%) / JavaScript (19.5%), you will work out of the commit fc29b7c2da05eefd4280b40125f6f1a22a15e328.

Four points are in the scope:
  1. Rendering of permalinks. When single- or multi-line permalinks are added into a GitHub issue, the Odyssey should be able to render code samples in the report, as shown below:

     
  2. Interactive setup / init command. The tool should try to create the .odyssey directory in the home folder, and if does not exist, ask user about his GitHub credentials, providing the mean to configure them interactively. In case user denies to input his credentials interactively, the default version of credentials.json should be created.
     
  3. Increase Test Coverage. Implement test cases for all command line options that are currently available in the Odyssey Audit Tool, except -f:
    -p, --print-issues               Print all issues for a repo
    -i, --init project_name          Initialise project name
    -t, --todos                      Upload Audit Todos
    -r, --render                     Create final report by rendering issues, TOC, scope


    Provide a command (test script) that allows to run all tests from command line, outputing to standard output log information about passed / failed tests, and exiting with error status code in case of any failures.
     
  4. Simplify Installation. Provide a way to install the tool with a single command (as a Ruby Gem, or other user-friendly way).

Final Submission Guidelines

Submit Git patch with you changes; a brief verification video (to be uploaded to YouTube, or similar hosting, as unlisted, i.e. only accessible by ppl who have direct access URL); and a brief verification document (link to video, how to apply patch, any other comments you may have). Information about running / updating tests, and about interactive setup functionality, should be added to the codebase documentation.

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

?