Improving the Firebase component

Hello everybody, I’d like to add my two cents on what could be improved in the Firebase component. I wrote this text to the best of my knowledge, apologies if any of these issues have been fixed already

1 Security

Currently Firebase only works with the “allow everything” rule and with the old API key. Improvements could be made to make everything more safe

2 Value storage

Values are currently stored in a weird Yail compatible, quoted way. It would be great to save dictionaries in their json format so they can be uses by non App Inventor applications

3 Paths

Storing at a specific path works at the moment, but not if parts of the path are just numbers

4 Support for other Firebase services

It would be great to have Firebase Storage and Messaging on board. I know for some things there are extensions already :slightly_smiling_face:

I have been working on most of this using the Firebase REST API and the web component, along with some html and javascript where needed.

Securing the user data I have already tackled here:

https://ai2.metricrat.co.uk/guides/how-to-have-secure-rules-on-firebase-and-allow-auth-users-to-readwrite

I have a working concept for sign up, sign in and signout for authenticated users, and just finished working on another concept for firebase storage (upload and capture url) - though admittedly with an open storageBucket at the moment. These are all done with existing blocks, I use Juan’s base64 extension for file uploads (because the webviewer won’t allow file access). You can also store values using the web component without the " " \ xyz "\ " and numbers as numbers.

1 Like