Topcoder - Marathon Match New Scoring System - Final PoC

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Welcome to Topcoder - Marathon Match New Scoring System -  Final PoC.


Challenge Objectives

 
  • For this contest, we are looking at trying some new technologies to assembly the new scoring system for Marathon Match challenges.
  • In a previous challenge we built an application that uses CLING https://github.com/root-project/cling to run C++ code provided by member against a given problem.
  • In this challenge we are looking to build a Node.Js module for this application.


Project Background

 
  • Topcoder is updating all its submission and review system to a new plataform.
  • One of the systems that needs to be migrated is the Marathon Match Scoring System.
  • The Marathon Match Scoring System is responsible for retrieving the member submission in different coding languages and running the tests for a given problem provided in the challenge and return the submission score.


Technology Stack

 
  • C++
  • CMake
  • Node.Js: node-gyp or cmake-js, NAN
 

Individual requirements
 

1. Create a Node.Js native module using NAN library - https://github.com/nodejs/nan, for usage with the code creted during the inital poc challenge - https://www.topcoder.com/challenges/30072015/?type=develop

2. The source code uses CMake as building system. Therefore cmake-js - https://github.com/cmake-js/cmake-js - is accepted instead of node-gyp.

3. The provided source code contains the Runner class. The Node.Js module should expose the Runner constructor and the Runner#runSubmission method for usage .

4. The Node.Js module must convert the object received by the NAN library to nlohmann::json object used by the Runner class.

5. The Node.Js module must be compatible with Linux and Mac OS X.

6. Node.Js unit tests is in scope. Check existing source code for examples. Please use mocha library for unit testing. 

7. Any javascript code must be validated using lint with airbnb library.

8. Source code will be provided in forum.


Deployment guide and validation document


You will need to create a deployment guide (README.md) and validation document (Validation.md).


The README.md created must show how to:

  • Configure and Build application

The Validation.md created must show all the steps necessary to verify the application:
  • Verify the code for different test cases


Final Submission Guidelines

  • Zip File With Submission
  • Documentation Required

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30072699