I don’t have a lot of time behind the keyboard with this product but from what I’m seeing Google Sheets and Air Table back end data options are really only meant for single user applications and POC work. I’m not seeing how you could create a large scale application that requires authentication and data with any other back end data source. I could create my own data storage solution and expose that via web services but that quickly removes the elegance of this code less solution. Once I start writing back end databases and micro services to interact with them I’m introducing code. I can see that you can store data into the actual local application but this feature seems very limited. I would have to right some kind of back up and export data solution to save data and the query tools to access data are very limited. So with all this being said, is the above a true statement and if I was going to produce a real scalable application that requires auth and data storage I should be looking at Firebase as my only option?
Firebase is definitely needed for authentication. You can use it for just that, and AirTable (Sheets) for DB. The DataListViewer and access blocks that Thunkable generates make simple things really easy.
However, you are correct in that there aren’t blocks for querying, e.g., no filtering “WHERE” clause to access particular rows of the AirTable. You have to do filtering in-memory, which won’t work for large-scale apps as you mention. Filtering capability is #1 on my Thunkable wishlist, as it would increase the types of apps you can build with just blocks (no API) dramatically.
Question, how would I use Air Table with multiple users? I understand I could use Firebase for authentication and by doing that have a user ID that could be used for each row but since I don’t see any query tools how will this work? You mentioned in memory data which for some things is great but not here. Would I have to download all the data and cycle through it all to pull out just the data for the logged in user?
Hi Gene. My understanding is there is no “Where” clause currently with the data sources, so you have to bring in all into a list, then loop through list to filter.
Thank you for the response
I suppose this would work:
If your Airtable is connected to the Data Source table, this is exactly what you need, but if you are directly using the airtable component, then change the code to this
Because you reference Airtable rows with numbers, unlike the (16?) letter-number mix that we have as IDs with the Data Source Table.
Hope this helps. Thanks!
Yes, thanks for sharing and this is indeed a good “in memory” solution for filtering (in this case to get first entry for user). For large scale data, however, a db command to get all rows with a particular filter (and order,start, count) is neede