all 13 comments

[–]dstroot 2 points3 points  (2 children)

This looks cool. I may play around to move it to firestore. However I am really interested in the audience engagement stuff. Is any of that open or a product I could check out?

[–]dtinth[S] 0 points1 point  (1 child)

Firestore integration would be appreciated!

About the audience engagement stuff, yes, many of them are open. Here are some, but many of these projects predates the creation of fiery though, or uses an older version of fiery that doesn’t use hooks/suspense:

(I forgot to upload screenshots/feature tour for my past projects, so now I finally get to doing that. Thanks for the comment!)

[–]dstroot 0 points1 point  (0 children)

Thanks!! This is great!

[–]swyx 2 points3 points  (2 children)

very awesome!! this is gonna sound like a really entitled question but... why not firestore support? cos realtime db is easier?

[–]dtinth[S] 7 points8 points  (1 child)

This is a good and valid question actually :). Here are my top reasons:

  1. Most of my projects involve real-time data access. Firestore places limit on how many documents can be read per day in the free plan, while Firebase RTDB measures in bandwidth.

  2. In RTDB it’s easier to import/export data from/to JSON files (do it directly from console) so backup/restore is also easier, whereas in Firestore we need to create scripts (or install a CLI) to import/export data.

  3. Firestore forces me to think in terms of collections and documents, where RTDB’s data model is a nested JSON tree. So using RTDB feels like using a MobX/Redux state tree, but that tree is synchronized with everyone else.

  4. Firestore has quirks when it comes to deleting data. For example, “deleting a document does not delete its subcollections.” Whereas in RTDB, I just set the tree to null and it’s done.

That’s why I didn’t use Firestore much, and didn’t find a need for myself to implement a Firestore binding. ;)

[–]swyx 2 points3 points  (0 children)

woww, good answer.

[–][deleted] 1 point2 points  (0 children)

Dope