~/panel

Let's Build a Colaborative Emoji Panel with VueFire

Panelat Vue.js Nation 2023 · 2023-01-25..01-26· [web-platform, frontend-architecture]
slides:none on file

Live codes a collaborative emoji grid using the VueFire plugin with Firestore and Firebase Auth (Google and Anonymous), creating each emoji as a document whose ID equals the user UID via setDoc, stamping created with serverTimestamp and ordering with orderBy(created). Handles SSR quirks by adding an ssr key to the useCollection, types documents with TypeScript, and enforces a server rule limiting one emoji per user per 5 seconds. The app builds, the real‑time updates work, and it’s deployed to Firebase Hosting from the demo, reading from a Firestore real-time collection.

AI-written summary · about

  1. 0:00Introduction
  2. 1:24VueFire project setup
  3. 8:05Emoji grid and Firebase init
  4. 12:02Adding emojis to Firebase
  5. 18:11User authentication
  6. 23:25Anonymous users and profiles
  7. 28:29One emoji per user
  8. 32:50Animations and deployment prep
  9. 34:19Deploy to Firebase Hosting
  10. 39:57Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.