Skip to content

GuildCommerce

GuildCommerce is the Guild's purpose-built member, learning, and community platform. It runs on WordPress + WooCommerce, hosts the public site and the gated member hub on a single stack, and integrates the forms library, the permissions model, and the credentialing pipeline behind one sign-on.

It is not an off-the-shelf install. The Guild owns the theme, the core plugin, and the data model. Vendor plugins are used where they save us time — they do not own our member experience.

What lives in GuildCommerce

Public site

WordPress + our custom guildcommerce-theme. Marketing, education, public governance, the published forms PDFs, and the membership signup funnel. Indexed and SEO-friendly.

Member hub

BuddyBoss Platform (free plugin) on the same WordPress install, themed by guildcommerce-theme. Profiles, member types, groups, activity, messaging, and the place where gated forms render based on the member's role.

Commerce & dues

WooCommerce + Subscriptions for individual and corporate dues, event tickets, exam fees, and merch. Stripe primary, Xsolla for game and digital goods.

Learning & credentials

Self-hosted Moodle at learn.ganjierguild.com (co-located on the same Cloudways Autonomous environment) for cert-bearing courses and exams. mod_customcert issues PDF certificates natively — no Credly/Accredible. Non-cert replays and resource documents live in WordPress custom post types (the Library module). CE hours flow back into guildcommerce-core-plugin's ledger via webhook. SSO is OIDC, theme parity via Boost Union. See ADR-0006 and ADR-0007.

Architecture

  ganjierguild.com  (WordPress + BuddyBoss + guildcommerce-theme)         learn.ganjierguild.com  (Moodle)
  ────────────────────────────────────────────────────────────────        ────────────────────────────────────
  ┌─────────────────────────────────────────────────────────────┐         ┌───────────────────────────────────┐
  │                    guildcommerce-theme                      │         │   Boost Union theme (parity)      │
  │       (public site + member hub presentation)               │         └─────────────────┬─────────────────┘
  └──────────────────┬───────────────────────────┬──────────────┘                           │
                     │                           │                                          │
         ┌───────────┼─────────────┐             │                          ┌──────────────┴──────────────┐
         ▼           ▼             ▼             ▼                          ▼                             ▼
  ┌────────────┐ ┌──────────┐ ┌──────────────┐ ┌────────────────────┐  ┌──────────────────┐  ┌──────────────────────┐
  │ WooCommerce│ │BuddyBoss │ │  Library CPT │ │ guildcommerce-core │  │  auth_oidc       │  │ Moodle courses,      │
  │ + Subs     │ │ Platform │ │  (replays +  │ │ plugin             │  │  (SSO bridge)    │  │ quizzes, gradebook,  │
  │ dues,      │ │ profiles,│ │  resource    │ │ • forms            │  │                  │  │ mod_customcert PDFs  │
  │ tickets,   │ │ groups,  │ │  documents)  │ │ • permissions      │  └──────────────────┘  └──────────┬───────────┘
  │ exam fees  │ │ messages │ └──────┬───────┘ │ • lms-bridge ──────┼──── OIDC SSO ──────────────────────┤
  └─────┬──────┘ └─────┬────┘        │         │ • ce-ledger  ◄─────┼──── webhook (course completion) ───┤
        │              │             │         │ • library          │                                    │
        ▼              ▼             ▼         └────────┬───────────┘                                    │
  ┌──────────┐  ┌──────────────┐ ┌──────────────────┐   │                                                │
  │ Stripe   │  │ My Learning  │ │ YouTube unlisted │   │                            ┌───────────────────┘
  │ Xsolla   │  │ tab (BB)     │ │ (Public/Internal)│   │                            │
  └──────────┘  └──────────────┘ │ Google Drive     │   │                            │
                                 │ (Restricted ACLs)│◄──┴── Drive API (signed links) ┘
                                 └──────────────────┘

Both apps run side-by-side on the same Cloudways Autonomous environment — no per-droplet costs, no separate scaling tier.

The forms library, technically

The Guild's forms library is not a plugin we bought — it is markdown in the blueprint repo, rendered to PDF by GitHub Actions, and consumed at runtime by the forms sub-module of guildcommerce-core-plugin.

Stage Where Output
Authoring forms/*.md in ganjier-guild-launch-blueprint Markdown with YAML frontmatter
Build .github/workflows/build-pdfs.yml (Pandoc + WeasyPrint) Branded PDFs in dist/
Manifest .github/pdf/build-manifest.py dist/forms-manifest.json
Sync guildcommerce-core-plugin pulls manifest + PDFs Published forms + permissions table
Render Plugin reads manifest → bp_get_member_type() → gates by audience tier Member sees only forms they are allowed to see

Audience tiers:

  • Public (Honey) — anyone can view and download
  • Internal — authenticated members of qualifying types
  • Restricted — narrow role set; structural overview public, working copy private

See ADR-0004: Forms permissions architecture for the full data flow and Form O for the canonical role × form matrix.

Why BuddyBoss Platform (not Theme, not App)

GuildCommerce uses BuddyBoss Platform — the free, open-source community plugin that succeeds BuddyPress. We are not adopting:

  • BuddyBoss Theme (~$228/year) — we have our own theme
  • BuddyBoss App (~$199/month) — out of scope for Year 1

The Platform plugin gives us BuddyPress's full feature surface plus member types, profile types, profile fields with permissions, and a maintained migration path. Our guildcommerce-theme styles all of it. See ADR-0005 for the migration plan.

Repos

Repo Purpose Visibility
ganjier-guild-launch-blueprint Public proposal, governance docs, forms source Public
guildcommerce WordPress site infrastructure, deploy scripts Private
guildcommerce-theme Custom theme styling public site + member hub Private
guildcommerce-core-plugin Forms module, permissions, CE ledger, integrations Private

Hosting & operations

  • Cloudways Autonomous — WordPress (ganjierguild.com) and Moodle (learn.ganjierguild.com) co-located on the same managed environment with autonomous scaling; no separate droplet costs
  • Cloudflare in front for caching, WAF, and DNS (both apex and learn. subdomain)
  • Render for any service that doesn't belong on WordPress or Moodle (custom Node, queue workers)
  • GitHub Actions for the PDF build pipeline and theme/plugin deploys
  • Google Drive (Workspace) for Restricted-tier video and document storage with native ACLs
  • Daily managed backups of both apps + weekly off-site to S3
  • Quarterly access review against Form O (role × form matrix), inclusive of Drive folder ACLs

What you can do from here