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
-
Nodejs version 12
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