Store Rebuild
Key decisions and architecture for the store rebuild.
Architecture
Browser → Next.js (Solace fork) → Medusa v2 (commerce)
→ Payload CMS (editorial content)
→ Stripe + PayPal (payments)
Square POS ↔ Medusa module ↔ Medusa (bidirectional inventory)
| Service | Tech | Port |
|---|---|---|
| Commerce API | Medusa v2 | 9000 |
| Storefront | Next.js (Solace) | 3000 |
| CMS | Payload 3.x | 3001 |
| Search | MeiliSearch | 7700 |
| Database | PostgreSQL 16 | 5432 |
| Cache | Redis 7 | 6379 |
Data Ownership
| Data | Source of Truth |
|---|---|
| Products, pricing | Medusa |
| Inventory | Square POS (synced to Medusa) |
| Orders (online) | Medusa |
| Orders (in-store) | Square POS |
| Editorial content | Payload CMS |
| Payments | Stripe |
| Customer accounts | Medusa |
Key Decisions
- Why Medusa over Saleor? See saleor-vs-medusa. Fewer services, in-process integrations, JS-native backend. Solace starter provides strong storefront base.
- Why Payload over Strapi? TypeScript-native, Next.js-aligned, cleaner DX. (Solace ships with Strapi — swapping to Payload.)
- Why keep Square? POS is entrenched for in-store operations. Bidirectional sync via Medusa module with ISBN as shared key.
- Payments: Stripe + PayPal (both ship working in Solace starter).
Design Direction
“The Indie Publisher” — warm, curated, opinionated (not generic e-commerce).
| Element | Value |
|---|---|
| Headings | Playfair Display / Fraunces / Instrument Serif |
| Body | Satoshi / General Sans / Cabinet Grotesk |
| Accents | JetBrains Mono |
| Background | Warm off-white #FAFAF8 |
| Accent | Burnt orange #C4501A |
| Success | Forest green #2D6A4F |
| Warning | Dark goldenrod #B8860B |
| Max width | 1280px |
| Radius | 6px |
| Grid | 4-col desktop, 2-col mobile |
Dark mode palette also defined in the spec.
Product Types
5 product types: Book, RPG Product, Comic/Graphic Novel, Merchandise, Gift Card. Each has specific attributes (ISBN, author, publisher, format, page count, etc.).
Shipping
- US Standard: 50
- Local Pickup: free (115 Brunswick St, Jersey City)
Estimated Infrastructure
~$45/mo Railway (4 services: Medusa, Storefront, MeiliSearch, Redis + PostgreSQL), plus media storage and email.
Related
- ecosystem-architecture — how dungeonbooks.com and dungeon.club fit together (identity, data flows)
- rebuild-spec — full architecture spec (system diagram, design direction, data ownership)
- task-briefs — 22 implementation briefs across 4 phases (~27-40 days)
- medusa-v2-platform-guide — Medusa v2 reference (modules, middleware, deployment)
- roadmap — phase progress
- square-integration — POS sync details
- saleor-vs-medusa — platform decision
- re-inventory-strategy — clean-slate ISBN scan replaces Square catalog import