Firestore Collections
Collection Map
Section titled “Collection Map”User Collections
Section titled “User Collections”users/{userId} # User document├── subscriptions/{subscriptionId} # Stripe subscriptions├── checkout_sessions/{sessionId} # Stripe checkout sessions├── dashboards/{dashboardId} # Dashboard widget layouts├── favorites/{serviceId} # Marketplace favorites├── blockedUsers/{userId} # Blocked users├── spammedChats/{userId} # Spam reports└── mentions/{messageId} # @mention notifications
profiles/{userId} # User profile document├── testimonials/{id} # Client testimonials├── skills/{id} # Professional skills├── workExperience/{id} # Job history├── education/{id} # Education entries├── certifications/{id} # Professional certs├── projects/{id} # Portfolio projects├── ctas/{id} # Call-to-action buttons└── socialLinks/{id} # Social platform links
storageUser/{userId} # Storage tracking└── files/{fileId} # File recordsHub Collections
Section titled “Hub Collections”hubs/{hubId} # Hub configuration├── folders/{folderId} # Doc/page folders├── documents/{docId} # Documents├── members/{userId} # Team members├── invitations/{invitationId} # Team invites├── apps/│ ├── services/{serviceId} # Service items│ ├── store/{productId} # Products│ ├── portfolio/{itemId} # Portfolio items│ └── bookings/{configId} # Booking config└── media/{assetId} # Media files
analytics_events/{eventId} # Hub visitor analyticsChat Collections
Section titled “Chat Collections”chats/{chatId} # Chat conversations messages[] # Messages (array in document)Commerce Collections
Section titled “Commerce Collections”marketplace_orders/{orderId} # Purchase ordersmarketplace_disputes/{disputeId} # Order disputesstripeAccounts/{userId} # Stripe Connect accountsHyvFlow Collections
Section titled “HyvFlow Collections”workspaces/{workspaceId} # Workspacesportfolios/{portfolioId} # Portfoliosprojects/{projectId} # Projectsmilestones/{milestoneId} # Milestonestasks/{taskId} # Tasks & subtasksReferral Collections
Section titled “Referral Collections”referralCodes/{code} # Referral codesreferrals/{referralId} # Referral recordsSystem Collections
Section titled “System Collections”config/├── userRegistry # User registration config└── hubs # Hub feature limits
mail/{mailId} # Email queuehandles/{handle} # Reserved hub handlesfollows/{followerId}_{followingId} # Follow relationshipsdocuments/{docId} # Personal documentsblogs/{blogId} # Blog postsQuery Patterns
Section titled “Query Patterns”Common Query Filters
Section titled “Common Query Filters”// User's hubswhere('ownerId', '==', userId)
// User's orders (buyer)where('buyerId', '==', userId)
// User's orders (seller)where('sellerId', '==', userId)
// Active itemswhere('status', '==', 'active')
// User's blogswhere('createdBy', '==', userId)
// Unread notificationswhere('unreadBy', 'array-contains', userId)Collection Groups
Section titled “Collection Groups”Used to query across subcollections:
- Products (across all users’ subscriptions)
- Prices (across all products)
Real-time Subscriptions
Section titled “Real-time Subscriptions”All stores use firekitDoc / firekitCollection which automatically subscribe to real-time updates via Firestore’s onSnapshot.
Data Conventions
Section titled “Data Conventions”- Timestamps: Use
serverTimestamp()forcreatedAt,updatedAt - Soft delete: Set
status: 'deleted'rather than removing documents - Content storage: Blog content stored as JSON string; doc content in Realtime Database
- IDs: Auto-generated by Firestore, except referral codes (user-defined)
- Denormalization: Provider info attached to marketplace services for display