Skip to content

Database

Supabase project: honeycomb (qjpfvwipdvepqborfxof) | Region: us-west-2 | Postgres 17.6

Complete schema documentation for the Honeycomb platform database.


Public Schema

The foundational schema shared by all apps. Contains users, posts, chat, stories, marketplace, payments, settings, and admin/moderation tables.

  • 50 tables | 30 custom enums
  • Central hub: profiles (linked to auth.users)
  • Polymorphic patterns: media, bookmarks, reactions, reports, reviews, notifications, social_links

View public schema

Extensions

Each installable app gets its own isolated Postgres schema (ext_{'{app_name}'}). This keeps app-specific data separate from the core platform and from each other.

  • 29 schemas | ~144 tables total
  • Largest: ext_honeycomb (37 tables)
  • LMS stack: courses, quizzes, assignments, certificates, bundles
  • Business tools: invoicing, time tracking, subscriptions

View extension index


SchemaAppTablesDocs
ext_honeycombHoneycomb Core (rooms, calls, games)37View
ext_coursesCourses / LMS12View
ext_invoicingInvoicing & Quotations12View
ext_documentsDocument Management9View
ext_builderWebsite Builder8View
ext_workflowsWorkflow Engine6View
ext_forumsDiscussion Forums5View
ext_quizzesQuiz Engine5View
ext_productsDigital Products5View
ext_eventsEvents & Ticketing4View
ext_affiliatesAffiliate Program4View
ext_assignmentsCourse Assignments4View
ext_live_sessionsLive Sessions & Meetings4View
ext_timetrackingTime Tracking4View
ext_biolinksBio Link Pages3View
ext_bundlesCourse Bundles3View
ext_ai_docsAI Document Generation3View
ext_remindersScheduled Reminders3View
ext_esignaturesE-Signatures3View
ext_subscriptionsSubscription Plans3View
ext_supportSupport Tickets3View
ext_analyticsClick Analytics2View
ext_blogBlog2View
ext_filerequestsFile Requests2View
ext_pixelsTracking Pixels2View
ext_shortlinksShort URLs2View
ext_certificatesCertificates2View
ext_domainsCustom Domains1View
ext_qrQR Codes1View

All schemas follow these patterns:

  • Primary keys: id uuid DEFAULT gen_random_uuid() on every table
  • Timestamps: created_at / updated_at with DEFAULT now()
  • Soft references to users: user_id uuid referencing public.profiles.id
  • Status fields: text columns with text defaults (e.g. 'draft', 'active', 'pending')
  • Counters: denormalized integer counts (e.g. views_count, member_count) defaulting to 0
  • Metadata: jsonb columns defaulting to '{}' for flexible extension data
  • Polymorphic references: *able_id + *able_type pattern (bookmarks, reactions, media, reports, etc.)