How kevinvdweert/flarecms works
FlareCMS is a Firebase-backed CMS for publishing public pages and administering content, media, users, and site settings. Visitors enter through public routes to view the home page or a slug page; staff sign in, then use protected admin workflows to manage pages and blocks, media, settings, and users. The frontend and callable Cloud Functions form the server-operation boundary, with Firestore as the documented application store and a separate local upload server for image files. Detailed wiring is shown only where the excerpts or README support it.
Main entry points: index.ts Callable functions · App.jsx App routes · auth.js Firebase auth · PublicPage.jsx Public page
Components 28
Web experience
- App routes
apps/web/src/app/App.jsx - Sign-in
apps/web/src/features/auth/Login.jsx - Auth state
apps/web/src/features/auth/AuthContext.jsx - Firebase auth
apps/web/src/lib/auth.js
Content publishing
- Public home
apps/web/src/features/pages/PublicHome.jsx - Public page
apps/web/src/features/pages/PublicPage.jsx - Page library
apps/web/src/features/pages/PageList.jsx - Page editor
apps/web/src/features/pages/PageEditor.jsx - Block editing
apps/web/src/features/blocks/BlockEditor.jsx - Block rendering
apps/web/src/features/blocks/BlockRenderer.jsx
Administration
- Dashboard
apps/web/src/features/dashboard/Dashboard.jsx - User management
apps/web/src/features/users/UserList.jsx - Site settings
apps/web/src/features/settings/SettingsLayout.jsx
Cloud services
- Callable functions
functions/src/index.ts - Auth functions
functions/src/auth.ts - Content functions
functions/src/content.ts - Media functions
functions/src/media.ts - User functions
functions/src/users.ts - Dashboard functions
functions/src/dashboard.ts - Settings functions
functions/src/settings.ts - Firestore
- Firebase Auth
Media assets
- Media manager
apps/web/src/features/media/MediaManager.jsx - Upload client
apps/web/src/lib/storage.js - Local upload server
server/index.js - Image files
Other components
- Visitor
- Staff user
Connections 42
- Visitor → App routes: opens site
- App routes → Public home: routes home
- App routes → Public page: routes slug
- Staff user → App routes: opens admin
- App routes → Sign-in: routes login
- Sign-in → Firebase auth: signs in
- Firebase auth → Firebase Auth: authenticates
- Firebase auth → Auth state: observes state
- Auth state → Firestore: loads profile
- App routes → Page library: routes pages
- App routes → Page editor: routes editor
- Page editor → Block editing: edits blocks
- Public page → Block rendering: renders blocks
- App routes → Dashboard: routes dashboard
- App routes → User management: routes users
- App routes → Site settings: routes settings
- Page library → Callable functions: requests content
- Page editor → Callable functions: submits content
- Public page → Firestore: reads published pages
- Public home → Firestore: reads homepage
- Dashboard → Callable functions: requests stats
- User management → Callable functions: manages users
- Site settings → Callable functions: saves settings
- Callable functions → Content functions: dispatches content
- Callable functions → Media functions: dispatches media
- Callable functions → User functions: dispatches users
- Callable functions → Dashboard functions: dispatches dashboard
- Callable functions → Settings functions: dispatches settings
- Callable functions → Auth functions: exports triggers
- Auth functions → Firestore: updates profiles
- Auth functions → Firebase Auth: sets claims
- Content functions → Firestore: manages pages
- Media functions → Firestore: manages metadata
- User functions → Firestore: manages users
- Dashboard functions → Firestore: reads metrics
- Settings functions → Firestore: stores settings
- App routes → Media manager: routes media
- Media manager → Callable functions: manages asset records
- Media manager → Upload client: uploads files
- Upload client → Local upload server: sends image request
- Local upload server → Image files: stores files
- Upload client → Local upload server: deletes image