<aside>
⚠️ Please read all the instructions first before starting any work.
</aside>
Context
We would like you to implement a new feature in a sample procurement data search app.
We’ve built a very simple page that lets users search the content of our famous Tender Wall of Fame. The page needs some obvious usability improvements and we want the users to be able to search records by the government organisations that published them.
The code for the sample app is available here.

Warm-up exercises (compulsory)
<aside>
📌 To find your way around the codebase, start with making these few small improvements:
</aside>
- Currently the text query only searches in record’s title. Modify the search API to also search in the description of the record.
- The search only returns records where the text query appears at the start of the title. After you add searching in description, change the logic to search anywhere in the text, not only for the prefix.
- The fields displayed in the table are minimal. Add the following fields to the table:
- value (including currency)
- stage:
- for tenders (see
stage column):
- “Open until {close_date}” if close date is null or close date is in the future
- “Closed” otherwise
- for contracts (see
stage column):
- “Awarded on
{award_date}”
The task
Every procurement record has a buyer (see server/migrations/001_initial_schema.sql) - the government organisation that published it and will buy the requested works or services.
We would like to add a “buyer” filter to our record search.
Requirements:
- Add a buyer filter selector, where users can select any buyer in the database.
- When the user selects a buyer, the results are filtered to only show the records published by that buyer.
- The existing text query should still work in combination with the buyer search.
Note for Senior Software Engineer candidates