Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Challenge Objectives

  • As part of this challenge, you need to create a CLI tool that will be used by Topcoder members to submit their solutions on challenges.

Technology Stack

  • Node.js

  • JavaScript

Code Access

This is a new project and there is no existing code.

Individual requirements

In this challenge, we need your help to build a CLI tool using Node.js that Topcoder members will use to submit on challenges.

 

Running the CLI will read a .topcoderrc file located in the current folder (which is assumed to be the project root folder.

 

If the .topcoderrc file is missing, throw an error.

 

The .topcoderrc file will contain an array of challenge IDs, the user’s ID and the user’s login credentials.

 

The challenges array must contain at least one challenge ID and the user’s ID + credentials are required. In case of missing configs, throw an error.

 

The CLI tool will then compress the root folder in a zip file. The .topcoderrc file must be excluded from the zip.

 

Follow the example here to generate a JWT using the user’s credentials. Use that JWT to upload the submission (generated zip file)

 

The CLI should upload the generated zip file to all challenges configured in the .topcoderrc using the topcoder-submission-api-wrapper (Refer to https://github.com/topcoder-platform/topcoder-submission-api-wrapper/blob/master/docs/SubmissionsApi.md#createSubmission).

 

You need to show some progress while the submission is being uploaded on the challenges. 

 

You need to cover the CLI with both positive and negative unit testing.

 

Should you have any doubts, do not hesitate to ask for clarification in the challenge forum!

Important Notes

  • The CLI will be published so it can be installed globally (`npm i -g <cli tool name>`).

  • In this phase, the CLI will only have one functionality but we may add more functionalities later thus make sure the code is properly separated.

Documentation

You need to create a detailed README.md file explaining how to configure and use the CLI tool.

 

You also need to provide an additional document explaining how to publish the CLI tool on the npm registry so we can install it by running `npm i -g <cli tool name>`.

Submission deliverables

Submit your source code in a zip file including a detailed README.md explaining:

  • How to publish the CLI on the npm registry

  • How to use the CLI



Final Submission Guidelines

Please read above

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30095545