Topcoder Workflow Package | Atom Editor - Part 5

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Improve the display of challenge listing and challenge details page

  • Implement a Register button to register for challenges

  • Improve error message display and using a linter

 

Project Background

  • Topcoder is aiming to create an extension in Visual Studio Code and package in Atom

  • The extension / package is meant to closely integrate the Topcoder platform with the text editors, to allow the user to perform actions from within the editor, without having to open a browser.

 

Technology Stack

  • Javascript / Nodejs

 

Code access

You can find the code here. Use the develop branch as your base branch.

 

Individual requirements

Improve the display of challenge listing and challenge details page (Major Requirement)

  • At the moment, the challenge listing page and challenge details page are not displayed correctly.

  • They don’t respect the current theme. They use a white background and there is no padding between the page and its borders

  • Improve the display of both the challenge listing page and challenge details page by having them respect the theme set by the user, having suitable padding for the elements and not having a fixed background.

  • Don’t refer to the VSCode extension here, because it too does not have a good UI at the moment. 

 

Implement a Register button to register for challenges (Major Requirement)

  • In the challenge details page, provide a Register button.

  • This button, when clicked, register the user for that contest.

  • Check out this commit in the VSCode extension that implemented the feature in the extension. You can use it as reference and determine the necessary api calls that you need to make to get this to work.

  • Note that the Register button is not displayed if the user is already registered for the contest. You can determine this from the challenge details response received from the API, that contains a list of all members that have registered. Compare it against the handle of the logged in user (which itself can be retrieved from the auth token) to determine if the user has already registered or not.

  • The button also is hidden once the user registers.

  • You don't have to implement Unregister feature.

 

Use a linter (Minor Requirement)

  • At the moment we are not using any linter for the package. Use the standard linter and fix all lint issues.

 

Improve error messages (Minor Requirement)

  • At the moment, if any of the API requests fail, the error message displayed to the user is too technical.

  • Improve this so that the user knows exactly what went wrong. You can either display only the message attribute from the error message (instead of the entire error payload) or display a custom message of your own.

 

Deployment guide and validation document

Keep the deployment guide up to date, based on the changes carried out for this contest. No validation document is expected.

 

Important Notes

  • Update / add new tests as applicable for this contest.

  • Follow existing conventions used in the package.



Final Submission Guidelines

Kindly upload a git patch of your changes. Please ensure that the patch can be applied using the git apply patch command on the develop branch.

 

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30098332