I have created an app that manages projects, tasks and other things (contracts, customers etc).
In this app, there is a page that shows all tasks (I call them project steps) and gives the ability to apply filters. My current approach is to fetch all tasks from the database and apply the filtered operator on the front end, to show some of the tasks (according to the filters applied).
However, fetching all the tasks from the database will probably be consuming much WU, especially when their number (number of tasks) increases.
Therefore, Iâm considering changing my approach, based on the boilerplate provided by @georgecollier , applying the filters on the backend and fetching a small number of tasks (for example 10 every time - pagination).
The problem is that one of my filters is advanced (makes a case insensitive search of the task title) and, as I know, cannot be applied on a Do search for, but only on the frontend (using the :filtered operator).

This means that I have to fetch all the tasks from the backend and then apply the Advanced filter on the frontend (and then apply pagination).
A workaround, in my opinion, is to avoid applying the advanced filter, by creating one more column in the tasks db table, that stores the title of the task uppercase and use that column for case insensitive search. But I want to avoid this approach.
So, is there any other way to be able to apply the advanced filter and pagination on the back end, so I can only retrieve from the database a limited number of items each time?





