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¶
- Browse the forms library
- Read ADR-0004 (Forms permissions)
- Read ADR-0005 (BuddyBoss platform decision)
- Read ADR-0006 (LMS in member portal — Moodle)
- Read ADR-0007 (Library & video hosting tiers)
- Browse the learning operations guide
- See the broader tech README and systems inventory