Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Given the swagger specification, implement the defined endpoints in Nodejs. You will be updating an existing API code base and not creating a new one

 

Project Background

Our client wants to create an employee management system to determine employees that are no longer working on active projects and to understand their qualifications and expertise for suitability in other projects

 

Technology Stack

 

Code access

We will share the code base in the contest forum. This code base already contains certain models and their endpoints. You need to update the same code base with new models and endpoints.

 

Individual requirements

Implement the 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 endpoints for the following resources:

    • ExternalProfiles

    • Achievements

    • AchievementsProvider

    • UserAttributes

    • Attributes

    • AttributeGroups

  • We will also share a ERD diagram. You need to implement validations based on the ERD diagram (example - verify that reference field exists or in some instances, you will have to do a JOIN to get records based on value in another table)

 

Handle Groups (Minor Requirement)

  • The ERD diagram that we will provide also contains groups.

  • This makes a reference to Topcoder’s Groups API.

  • You may have to make updates to the UBahn API to interface with the Groups API. We are still discussing this internally. In the interest of saving time, we are going ahead with the contest but we will update this requirement in the next 24 hours with more information which will be in scope for this contest.

This requirement is no longer in scope for this contest. Please check the contest forum for more details.

Deployment guide and validation document

Update the existing README file with any additional info, as needed, for this contest

 

Important Notes

  • Follow conventions used in the current api code base

  • 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.

  • Update the existing helper scripts that populate the database with mock values for an easy local deployment and development - minor requirement

  • POSTMAN collection is nice-to-have

  • Docker based deployment is also nice-to-have

  • Tests are not needed



Final Submission Guidelines

Submit a zip file that contains your solution

 

ELIGIBLE EVENTS:

2020 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30125243