Challenge Overview
Competition Task Overview
Currently, projects can be filtered using the following criteria: status, name & type. We need to support additional search criteria for project search - keyword search.
In this challenge, you'll need to implement the new keyword search.
Sepcifically, project name search should be replaced with keyword search. Keyword should be searched across multiple fields:
- name
- details.utm.code (details is a JSON field)
- description
API Changes
As part of this project we want you to support an additional filter criteria for **GET /projects ** API.
Eg. ```GET /projects/?filter=keyword%3dtest``` would search for the keyword 'test' in name, details.utm.code & description. It should return results where the keyword exists in **any** of those fields.
Performance
Performance of GET /projects api call is of utmost importance. Please use appropriate DB index for fields listed above.
Testing
Existing unit tests must be maintained, and new unit tests should be added for the new api / search fields.
Timeline
Pay attention to the shortened timeline and make sure you don't miss the deadlines.
Technology Overview
NodeJS
REST
Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
1. Full code that covers all requirements (based on our repo structure)
2. A detailed readme in markdown format covering how to configure, run and verify your submission.
Final Submission
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.]