System Assembly - Topcoder NodeJS APIs Continuous Integration

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

NodeJS APIs Environment:

Code Repository: Git Hub https://github.com/cloudspokes/tc-api

Heroku: https://www.heroku.com

Blue Print API Docs: http://docs.tcapi.apiary.io/

CI: BuildHive - https://buildhive.cloudbees.com/

This contest should set up the CI in BuildHive site.

CI Steps:

  1. Set Up CI to monitor our git hub repository.
  2. Build the code base and deploy to heroku (daily or weekly - should be configurable) OR when the git hub code updated.
  3. Run tests against the API with Blueprint API specificiations.
  4. Collect the tests result and update the build status (send email to management team when build or tests failed)

Sample Tests:

Guideline: http://blog.apiary.io/2013/10/17/How-to-test-api-with-api-blueprint-and-dredd/

This contest should provide sample tests and integrate to CI for following scenarios:

  1. One "Get" API Test
  2. One "Post" API Test
  3. One "Put" API Test
  4. Repeat 1 ~ 3 with OAuth
  5. Both Success Response and Error Response need to be tested.

You can choose any API or write a mock API yourself since we don't have all kinds of APIs in code base yet.

 

Heroku Deployment

The submission must deploy the code base to Heroku, any submission which can't deploy the code base to 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!

Technology Overview

  • Node.js
  • Dredd
  • BuildHive


Final Submission Guidelines

  • Sample Tests
  • Deployment Guide

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30036210