Edit: I am now looking for help with arranging data from a Google Sheets via a WebAPI. I’ve managed to bring the data in but not sure on the next steps to arrange and make sense of it.
Original: I’m currently trying to create an app where users can list up trading card items and trade them. I initially set up this process using Google Sheets, which works fine, but I am coming to the conclusion this is quite a limiting app for it.
I want users to be able to submit details about their items, which then goes into a big market for other users to browse (which is currently being done by Google Sheets and then display as a Data Viewer Grid).
I want to create a search filter for this so users can find a specific card/item in amongst a list. This seems doable on Google Sheets but require creating new Sheets to generate a new list, which doesn’t work on a large scale and will cause issues for multiple users who will look for different things.
It seems Firebase might make the filtering system easier, but I have no idea how to do it and very little knowledge on how it works - I cant figure out how to get it to take new data, how to get it to retrieve existing data and then display data on the app.
I am also wanting to create a user specific tab that displays a list of all the user’s previous listings so they can quickly and easily go back and edit or delete them. So again, I can’t figure out how to tie listings to an individual.
If anyone has any advice I’d be really appreciative, this is all very tough and overwhelming!
I’ve had success asking ChatGPT or Microsoft Copilot how to structure my Firebase data but I would work on that after successfully reading & writing data from Firebase’s Realtime Database.
Thanks for the reply, I’ve set up Firebase and connected to my app but I don’t understand where I go from there.
The tutorials seem to deal with numbers specifically rather than detailed words and images to display something that would look similar to the data grid.
I’ve tried for hours to see if I can import data from the Google Sheet into a local table that could then remove all items that do not match the search term but haven’t found success yet.
I figured if I could achieve this, I could do the same for the user submitted content tab.
Sorry, Firebase might not be best for a Data Viewer Grid. I hadn’t noticed that in your original post. It’s possible but not so easy.
To get help here, you’d have to post screenshots of your blocks or a link to your project. It’s hard to know what to suggest without seeing what you’ve tried.
Or you could check with Thunkable Support (depending on your license) or hire a freelancer such as myself to assist you.
I’ve managed to make an API for the Google Sheets and add a ‘Call WebAPI’ block for it. The best I’ve been able to do is call in all of the Google Sheets API text into a label using the block sequence attached below.
I now want to organise that data (that’s being pulled from a Google Sheet) into a Local Table. This would then show in the Data Grid underneath, but I would like to then organise blocks to delete all data (in the Local Table) that does not have the specified search term e.g. If the user were to type in Charizard, the only result that would pop up is the single Charizard listing that’s coming from the Google Sheets API.
It looks like your API response is a csv. I’m not sure how/if you can convert that to a local table. There is probably a way to import that csv into an existing Google Sheet using Javascript. Generally, APIs return JSON which I’m quite familiar with.
You might start by creating a list using the make list from text block with delimiter “,” which will at least separate the text for you.
Can you share the project link or a screenshot of the blocks you set up? It might also be helpful to share a csv file with the data you’re using but I understand if you prefer not to do that.
If we can’t resolve this, a different solution I could potentially do is when a user submits a card the information is duplicated so that it ends up on the original Google Sheet and a local table (which is stored on the app). Then the local table would act as a second database which could then be manipulated to act as the database for a search bar. I could then potentially set up the search bar to remove all data that does not contain the keyword and then feed that local table into a new data grid which only appears when the search button is pressed.
To summarise:
User submits card>data is added to Google Sheet and to Local Table>Data is displayed in (visible) Data Grid from Google Sheet>Data is added to a second (hidden) Data Grid>User types in search keyword (e.g. ‘Charizard’)>blocks delete data in the local table that doesn’t contain the keyword ‘Charizard’ leaving the original Google Sheet untouched>Second Data Grid pulls in local table data and becomes visible, the original Data Grid is hidden
My questions are:
Is that possible?
If there’s a local table with 100+ entries, will it massively impact the app speed/performance?
Could you refresh the table each time the user searches or would they need to close and open the app?
Would this make realtime updates and deletions to the data on the local table difficult?