Challenge Overview
Avoid the “draft” status for the projects.
Project Background
Topcode Connect is a client-facing application of Topcoder. Customers use Topcoder Connect to input requirements of their projects, then managers and copilots take it from there.
At the moment new projects are created in “draft” status. We don’t need this status anymore, so new projects should be created using “in_review” status and existent projects shouldn’t be able to switch to “draft” status.
Technology Stack
Project Service
-
Node.js
Connect app
-
React
-
Redux
-
CSS Modules
Code access
The work for this challenge has to be done in two repositories:
- Connect App repo https://github.com/appirio-tech/connect-app dev branch, commit 1bae1540945204aa7537840faed6282ad7528a96 or later.
- Project Service repo https://github.com/topcoder-platform/tc-project-service dev branch, commit a563a5050b3355c898ec1addbe3f6b546e5274ad or later.
- Demo user is provided on the forum.
- Config to deploy Project Service locally is provided on the forum.
Individual requirements
You may create projects for testing using this link.
1. In Connect App
-
Remove the “Draft” option from the project status dropdown unless the project is currently in “Draft” status:
If the project is currently in “Draft” status we still show the “Draft” option. But we have to remove it after we move the project to any other status. -
We mistakenly use constant “PROJECT_STATUS_DRAFT” instead of “PHASE_STATUS_DRAFT” in two places: https://github.com/appirio-tech/connect-app/blob/dev/src/projects/actions/project.js#L278 and https://github.com/appirio-tech/connect-app/blob/dev/src/projects/actions/project.js#L292.
We have to use constant “PHASE_STATUS_DRAFT” instead. As in these two places we define a status for phases, not projects.
2. In Project Service
-
By default create projects with status “in_review” instead of “draft”.
-
Don't allow to update project status to “draft”.
General requirements
Connect App
-
Use React + Redux best practices.
-
Lint should pass
-
Existent unit tests should pass (no new tests needed)
Project Service
-
Unit tests should pass and updated according to changes if necessary
-
Lint should pass
-
Update postman if necessary
-
Update swagger if necessary
Final Submission Guidelines
-
Patch to the dev branch of Connect App
-
Patch to the dev branch of Project Service