The project was an assignment for an e-commerce startup that required a simple UI to input a string and display products based on the input text.
The search bar has a debouncing function for the input text, built using setTimeout. This prevents rapid api calling, and relieves the backend off load.
The results can be queried with category tabs as well. Selecting a category queries all the products within the same category.
The django model looks like this. A foriegn key is used to link categories and products