Odyssey - Improvements and Tests

Key Information

The challenge is finished.

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.


2018 Topcoder(R) Open


Final Review:

Community Review Board


User Sign-Off


ID: 30067792