Challenge Overview

Challenge Objectives

  • Implement the Proofs api in nodejs

  • Dockerize the solution

  • Provide tests

 

Project Background

  • Proofs API will be a Topcoder internal api intended to identify and verify users

 

Technology Stack

 

Code access

No code to share. We will share the swagger specification in the contest forum

 

Individual requirements

Implement the Proofs api in nodejs (Major Requirement)

  • We will share a swagger specification with you in the contest forum

  • You need to implement an API in nodejs that adheres to this specification

  • You will be using Amazon QLDB as the database

  • You need to implement all four resources - devices, sessions, device pairs and proof events and all the endpoints

 

Dockerize the solution (Minor Requirement)

  • Topcoder deploys the solution through Amazon ECS. Hence you need to provide a dockerfile to deploy your solution through docker

 

Provide tests (Tests Requirement)

  • Provide both unit tests and end to end tests

  • You will use mocha and chai for your tests.

  • You need to also use a mocking library such as nock

  • The tests should work on a test-only database and not use the same database as the main api.

 

Deployment guide and validation document

You can submit a markdown file named README.md for your deployment. No validation document expected.

 

Important Notes

  • Use standard for your lint tool

  • Use the async await pattern

  • You can use the submission api as reference. Note that this uses yield, but you need to use async await pattern.

  • You will need to provide helper scripts to populate the database with mock values for an easy local deployment and development

  • POSTMAN collection is nice-to-have



Final Submission Guidelines

Submit a zip file that contains the source code

 

ELIGIBLE EVENTS:

2020 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30117202