Emporium
E-commerce platform rebuild for dungeonbooks.com. Replaces the legacy Square Online (Weebly) shop. Built on Medusa v2 + Payload CMS + Next.js (Solace fork). Codebase: emporium/.
Architecture
- store-rebuild: architecture overview, tech stack, data ownership, design direction
- ecosystem-architecture: how dungeonbooks.com and dungeon.club fit together (identity, data flows)
- rebuild-spec: full spec (system diagram, design direction, routes, Square sync, phased plan)
- saleor-vs-medusa: platform decision record
- extended-catalog-and-preorders: customer-facing catalog beyond on-shelf inventory; pre-orders capture into Omnibus (approved 2026-04-29)
- ingram-ipage-pipeline: automated SFF top-seller ingestion from Ingram iPage → separate queue DB → Medusa (draft)
Implementation
- task-briefs: 22 implementation briefs across 4 phases (Phase 3 superseded by extended-catalog plan; see callout in the doc)
- re-inventory-strategy: clean-slate ISBN scan replaces Square catalog import
- roadmap: feature roadmap and priorities (needs refresh)
Platform Evaluation
- platform-eval-comparison: Saleor vs Medusa v2 — starter audits and final recommendation
- medusa-v2-platform-guide: Medusa v2 reference (modules, middleware, deployment)
- medusa-pos-starter: Agilo POS starter reference (forked for ISBN scanner)
Integrations
- square-integration: Square POS sync across projects
- square-loyalty-decision: why loyalty is owned by Guild, not Square
Design
Locked to dark mode for now. Brand direction is still indie/curated/typographic but explicitly not book-only — RPGs, zines, comics, board games, stationery sit alongside books and the visual treatment shouldn’t lean too far into “indie publisher” if it crowds those out.
Status
Phase 1 (Foundation) shipped 2026-04-29. See the session journal for the full account. Stack of 4 PRs merged to main:
- Solace storefront ported in as
storefront/, branded,[countryCode]removed for single-region simplicity - Stripe checkout end-to-end with test cards (3DS verified)
- MeiliSearch instant-search dropdown in the nav (Meili → Medusa price enrichment, server-only proxy)
- Strapi → Payload CMS swap; Pages, BlogPosts, and Homepage global all wired
Five additional PRs in flight on top of main:
- #5 Stripe webhooks (3DS / refunds / disputes)
- #6 Gitignore Payload-generated files
- #7 JSON-LD product structured data (last item from the eval-doc pre-launch budget)
- #8 Product page UX (description default-expanded, copy fixes)
- #9 Categories sidebar on shop pages
What’s still open before launch: Railway staging deploy (1.7), production cutover (4.3), real content paste into Payload (4.2), and the Square ⇄ Medusa sync narrowed per extended-catalog-and-preorders. Available-to-order catalog ingestion (CSV from Omnibus) is the new revenue-stream-unlocking work.
Related
- guild: membership & loyalty platform (active, ships first)
- webshop: legacy storefront being replaced
- 2026-04-29: session journal covering the Phase 1 build