Challenge Overview
Challenge Objectives
-
Fix existing issues and improve the provided legacy challenge migration script.
Tech Stack
-
Node.js
-
Swagger
-
DynamoDB
-
ElasticSearch
Project Background
In this series of challenges, we will build a migration script that will help us migrate all existing data from the legacy challenge API into our new DB so the new V5 API can consume.
Code Access
The existing code for the migration script will be attached to the challenge forum.
The services below are provided for reference and for your local set up.
Challenge API
Repo: https://github.com/topcoder-platform/challenge-api
Branch: develop
Resources API
Repo: https://github.com/topcoder-platform/resources-api
Branch: develop
Legacy Challenge API
Repo: https://github.com/appirio-tech/ap-challenge-microservice
Branch: develop
Detailed requirements
As part of this challenge, we need your help to update our existing migration script. You need to make the following changes:
-
Update the migration script to include the challenge results (winners).
-
The challenge `startDate` field must be the starting date of the registration phase.
-
You need to update the migration script to include phase information. Create a separate method that will map the legacy phase format to the new one.
-
Update the error service to append data into the error file rather than overwriting it.
-
Create a way to retry migrating just the failed challenges. For example, an `npm run retry` script that will read the error file and will retry migrating the challenges with those IDs.
-
Update all methods to have proper documentation headers.
-
Running `docker-compose up -d` leads to an error. Update the README to include details for setting file-sharing settings on docker.
Should you have any questions, feel free to ask on the challenge forum!
What to Submit
Submit a zip file containing the updated migration script.