Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Update tc-preferences-service backend to properly handle the email preferences updates.

Project Background

tc-preferences-service  implemented in NodeJS provides backend endpoints for user preferences management.

It is used by the community-app for user preferences management  https://www.topcoder.com/settings/preferences , the community-app interacts with tc-preferences-service via topcoder-react-lib library.

Technology Stack

  • NodeJS 6.9.4

  • DynamoDB

Code Access

Existing Code: https://github.com/appirio-tech/tc-preferences-service

Branch: dev

You will find a self registration link attached on the forum in case you don’t have access to the repo.

If the self registration link does not work for you, please request access by posting your Github username on the challenge forum.
 

Mailchimp account setup

To setup a Mailchimp account please follow the procedure at  https://drive.google.com/open?id=1KpZB5wH0B_P9if2EHnfVcnMe6ZMAOayuBvNkJ0o_UBY

Individual requirements

Recently, we moved the email preferences management to the community-app ( https://github.com/topcoder-platform/community-app ), but the preferences updates does not work well, it consistently shows an error message :

 

Requirement #1 :

When updating the user preferences (endpoint PUT /users/:userId/preferences/email),  the tc-preferences-service updates the DynamoDB first and invokes mailchimp service. We would like to change that behavior and invoke mailchimp service first and after that update DynamoDB.

 

Requirement #2 :

The source code logic does not properly handle exceptions, we would like to enhance the logic to properly handle the exceptions to identify the root cause and fix the update email preferences error.

The error messages should be properly propagated.

Requirement #3 :

Make sure that unit tests are working fine and provide Postman collection and environment for testing the updated endpoint.

What to Submit

  • A git patch against the latest commit in the dev branch.

  • A verification document with detailed instructions on how to test your changes

The winner must create a pull request against the dev branch in our repo.



Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30076890