Challenge Overview
Topcoder is in the process of developing a new version of the Connect platform, which connects customers with project managers, copilots and competitors to run projects through the Topcoder services.
We want to make some enhancements to the API layer to support project history tracking, project search & other enhancements.
Project Overview
The Projects API powers the Topcoder Connect webApp. This API will in future be used by other API clients as well.
Task
Git Repo: https://github.com/topcoder-platform/tc-project-service/
Git Branch: dev
Deployment Instructions: Refer to the README file in the repoList of enhancements / issues:
1. Sync Team Managers from Connect to Direct (https://github.com/topcoder-platform/tc-project-service/issues/34 ) : When managers are added or removed to a connect project, they should be sync'd with the corresponding Direct project asynchronously.
2. Track project status history (https://github.com/topcoder-platform/tc-project-service/issues/37): We would like to keep track of when a project's status was updated and by whom. Today we only capture the current status but transitions are not saved. We would like to add a project history table to save such information.
4. Update swagger doc and postman collection(https://github.com/topcoder-platform/tc-project-service/issues/41) : Swagger doc and postman collection are out of sync with the latest API changes.
5. Improve test coverage (https://github.com/topcoder-platform/tc-project-service/issues/36)
6. Add cancelReason (string) field to project model as well as project history (https://github.com/topcoder-platform/tc-project-service/issues/44). Also a manager or admin should be allowed to transition project out of cancel status.
Final Submission Guidelines
1. Code changes, Postman & Swgger for the new requirements.
2. Updated README.md file
3. Verification Steps and a video walkthrough for testing
Winner will be needed to submit a merge request and will be responsible for helping resolve any merge conflicts.