Challenge Overview
Challenge Objectives
-
Given the swagger specification, implement the defined endpoints in Nodejs
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
-
Nodejs version 12
Code access
No code to share. We will share the swagger specification in the contest forum
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:
-
Users
-
UserSkills
-
Skills
-
SkillsProviders
-
Roles
-
UserRoles
-
Organizations
-
-
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)
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 - 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 the source code