Skip to content

template-apparel-erp: Crispy Bentley seed data + demo polish #1258

@willgriffin

Description

@willgriffin

Parent

Epic: #1245

What to build

Realistic seed data for the demo deployment — a fictional apparel brand "Crispy Bentley" — so the demo site has something to show. Plus the visual polish (real product photos, brand identity, copy) that makes the demo land.

Fixtures (scripts/seed.ts in template-apparel-erp)

  • Tenant: "Crispy Bentley", Owner user
  • Collection: 1 collection ("SS26"), via Tag with context collection
  • Styles: ~5 styles (e.g. "Classic Crewneck Tee ST-1001", "Oversized Hoodie ST-1002", "Wide-Leg Trouser ST-1003", "Boxy Knit Cardigan ST-1004", "Selvedge Denim Jacket ST-1005")
  • Makeups: 2 per style (typically organic cotton vs. recycled poly)
  • ProductVariants (colorways): 3-5 per Makeup
  • Sizes: XS / S / M / L / XL → ~50 total SKUs
  • Materials: ~15 (organic cotton jersey, recycled polyester knit, woven main labels, hangtags, polybags, thread, buttons, zippers)
  • BOMs: one per Makeup, with 4-8 BomLines each
  • Locations: 2 — Main DC + Cut-and-Sew Factory (uses smrt-places)
  • Vendors: 1 mill (material supplier), 1 factory (production vendor)
  • Customers: 8 DTC + 2 wholesale (with NET-30 terms)
  • Historical data: random orders across last 90 days + matching stock movements so analytics has something to chew on
  • Open production order: 1 mid-flight (materials consumed, finished goods not yet produced) so the demo shows the WIP state

Visual polish

  • Real or AI-generated product photos for each Style × Colorway
  • Brand identity: logo, color palette, web fonts wired into Site.portalConfig
  • Storefront landing copy that reads like a real brand, not Lorem ipsum
  • A second small tenant ("Forge Leatherworks") with minimal seed data — proves multi-tenancy in the demo

Acceptance criteria

  • npm run seed from a copied template populates everything above
  • Demo site looks like a real e-commerce brand, not a half-built test app
  • Multi-tenant isolation visibly works: Crispy Bentley and Forge Leatherworks have zero overlap when browsed side by side
  • All AI showcases (brand voice prompts, store-ops chat, auto-translation) have enough seed data to give plausible outputs
  • Production-order flow has a mid-flight example so the WIP state is observable in the demo
  • Demo deployment URL captured in the epic comments

Blocked by

  • #1252 — admin UI (so the data can be browsed)
  • #1256 — storefront
  • #1257 — wholesale portal

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions