Challenge Overview
Project overview
We are building a small AWS Lambda function that will:
- Accept details of a Topcoder member registration to a challenge as POST data to an AWS Lambda webhook
- Generate a self-signed AWS S3 URL for the member
- Email the member with their personal download link for the data set for the challenge
We already have working code, but we need to make some updates and add unit tests.
Technology
- Node.js
- EC2 / AWS APIs
- Topcoder APIs
- AWS Lambda
- Serverless
Requirements
Unit tests
We would like to add unit tests to the code to ensure that things work properly. Please aim for 90% code coverage, and make sure to cover the key features of the codebase. We are using serverless, so have a look here for an idea of how unit tests could work: https://www.serverless.com/framework/docs/providers/aws/guide/testing/
Unit tests
The code is stored in Gitlab. You will be able to check it out from there. A link to grant your Gitlab username access to the codebase will be provided in the forum.
https://gitlab.com/topcoder-consulting/nist/download-authenticator
Updates
These tickets are the updates we'd like to make to the current lambda functionality:https://gitlab.com/topcoder-consulting/nist/download-authenticator/-/issues/8
https://gitlab.com/topcoder-consulting/nist/download-authenticator/-/issues/9
https://gitlab.com/topcoder-consulting/nist/download-authenticator/-/issues/10
https://gitlab.com/topcoder-consulting/nist/download-authenticator/-/issues/11
Existing documentation
Updating the existing documentation to be up to Topcoder standards is up to the submitters on this challenge. Please double check all information in the existing README and validationExisting configuration
In general, please leave the configuration as it is (with the exception of the removal of a couple values outlined in issue 8)Scorecard Aid:
Judging Criteria- Major requirements are the 4 tickets properly changed and documented properly
- Minor requirements is that the unit tests are added
Deployment guide and validation document
- You must provide a README.md that covers:
- How to install and configure the lambda and run the unit tests
- A comprehensive Validation.md that covers:
- How to validate the individual requirements.
What to submit
- A patch file against the HEAD in git, targeting branch "develop"
- A README.md that covers deployment of the code to AWS lambda and running the unit tests
- A Validation.md that covers the details above