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 introduce ElasticSearch for the Projects API.
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: feature/search
Deployment Instructions: Refer to the README file in the repoSetup ElasticSearch for the Projects API as per the requirements below. Make sure to keep the ElasticSearch Server URL configurable for flexibility purposes.
1. Search keyword across multiple project fields. (https://github.com/topcoder-platform/tc-project-service/issues/32) : use elasticsearch (version 2.3) to search across multiple fields. Please note that some of these properties are nested.
2. Member informaiton should include (full name, email, user handle, userId properties. These can be retrieved from member service (https://api.topcoder-dev.com/v3/members/{$userHandle}. I've included the mock service in ./local. It will run using docker compose.
3. Projects should be updated in elasticsearch after every update to projects, attachments & members
4. Update Swagger.json, add unit tests & lints.
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