Hi, I’m hoping to get a bit of advice…
I’m currently re-developing a dashboard that was originally written using React (https://dashboard.ourfish.org). The reason it needs re-developing is due to the way it sends/receives data, i.e. every time a filter is changed it sends parameters via an API to a remote service which processes the data using a bunch of parameterized queries, sending the results back to the application. Essentially it’s very inefficient combined with the fact that the API has a concurrent user limitation. The main dataset is also relatively large so for the most part it is frustratingly slow and at times unusable. To make matters worse we also have many users in developing countries with poor internet.
What I’m hoping is that I can effectively re-create this in Wappler. I’ve set up most of the filters already and have been using local storage manager on some of the SC components. It’s currently working well but as I add more queries/calculations I worry that it will start to slow down every time a filter is changed. I’ve just been reading about what you can do with app connect flows and particularly interested in what is says here…
- Query for fresh data from server and then insert in data store only when needed.
- Query remote data, process it first in a flow, filter and transform - and then use it when done.
- Fetch remote data from multiple data sources, transform, filter and use as new data
However, I can’t find much info about how to actually achieve this. I’m wondering if there’s a way to use this feature to somehow download/cache data to local storage before the user begins to select anything on the page. It would even be ok to have a button to retrieve the latest data after which everything is available locally. Data is updated every day and we’re trying to show as close to real-time data as possible although it’s fine to cache the data for an hour or so.
Maybe the standard server connect/state manager option is the best? I’d be very interested/grateful to hear from anyone with some advice.