Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

This project will build NodeJS REST APIs for TopCoder Platform.

Competition Task Overview

This contest should develop NodeJS Informix Driver with JDBC Driver for Topcoder NodeJS Platform API project.

You can use node-java (https://github.com/joeferner/node-java) to bridge API to connect with existing Java APIs.

Here is an example project which use JDBC from node: https://github.com/pekim/node-jdbc

It's just for reference because this library only write few code and provide very basic functions.

We need to develop our own node-jdbc library in this contest.

You should use similar APIs of existing code to execute the query and return the result, so we can use node-jdbc replace of existing library without too much effort: https://github.com/cloudspokes/tc-api

You must test your submission with Informix JDBC Driver and Topcoder NodeJS Platform APIs.

Only following basic features of JDBC are required in this contest:

  • Execute INSERT/UPDATE/DELETE SQL
  • Execute SQL Query
  • Execute SQL Query with Prepared Statement
  • Concurrent SQL Execute (i.e. run multi queries at same time and return correct result for each query).

Note: You should return empty resultset when there is no result matched the query.

Testing

You are required to provide unit tests for the library developed by you and manual tests for the Topcoder NodeJS APIs with this node-jdbc library.

Heroku Deployment

The submission must be deployed on Heroku, any submission which can't be deployed on heroku successfully will be failed in screening phase - primary reviewer must check this

You can request a VM with informix installed.

Virtual Machine (VM)

VM specific information is found here: http://www.topcoder.com/wiki/display/docs/VM+Image+2.5

Upon registration as a submitter or reviewer you will need to request a VM based on the TopCoder systems image. The VM will be active through aggregation review, after which it will be terminated except for the winner's and the reviewers'. To request your image, please post in contest forum.

Before requesting your VM, you need to ensure that you have an SSH key created and in your member profile. Instructions to do so are here: http://www.topcoder.com/wiki/display/projects/Generate+SSH+Key, and instructions to connect afterwards are here: http://www.topcoder.com/wiki/display/projects/Connect+Using+SSH+Key.

Please realize that VMs are currently issued manually. We make every attempt to issue the VM as soon as it is requested, however, there may be delays of up to 12 hours depending on time of day when you request. We encourage everyone to request a VM as soon as possible to minimize any such delays.

VMs will be granted only during registration phase!

Review Board Requirement:

Reviewers need to write mocha tests to verify the updated code for the 4 issues.

There are three roles:

  • Accuracy - Tests the implementation on the accuracy of the results when using the component.
  • Failure - Tests the implementation's ability to handle bad data and incorrect usage.
  • Security - Tests the oauth, sql inject and other security related requirements.

Reviewer could send preferred role by Contact Manager after system selected the reviwer.

Copilot will assign the role to reviewers if reviewer didn't send the preferred role information.

Reviewer must create pull request from GitHub for the tests.

Technology Overview

  • Node.js


Final Submission Guidelines

Software Guidelines 

  • Source File
  • Deployment Guide
  • Test File
  • Unit Tests

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30036347