Features
Demo Mode
Run the complete storefront, with catalogue, cart, checkout, payments and accounts, with no backend at all, for pitches, design reviews and testing.
Demo Mode runs the whole store from built-in sample data, with no WordPress, no WooCommerce and no payment account. A prospective client can browse, sign in, check out and pay with a test card within minutes of cloning the repository. The same data powers the storefront’s automated tests, so the demo always reflects how the real store behaves.
- Where it shows
- The whole storefront
- Configure in
- Leave
COMMERCE_SOURCEunset (or set it tomockorfake) - Requires
- Only
AUTH_SECRET; no backend, no keys - Try it in Demo Mode
- Sign in as
demo@retail.storewith passworddemo1234
What’s in the demo store
Section titled “What’s in the demo store”- A full catalogue: products across nine categories (six top-level, three sub-categories of Fashion), with brands, tags, variations, sale prices, ratings and an out-of-stock item, plus Arabic content for multilingual demos.
- Seven Journal posts, the five policy pages, and the built-in theme, header and footer.
- Reviews with photos, threaded replies and helpful votes.
- A demo customer with order history, invoices and a saved address book.
- Unpublished drafts for trying product preview.
- Store settings like a real shop: prices in euros, dates in the Europe/Berlin timezone.
What you can try
Section titled “What you can try”| To try | Do this |
|---|---|
| Sign in | demo@retail.store / demo1234, or register a new account (no verification email needed) |
| A coupon | Apply DEMO10 in the cart for 10% off |
| A card payment | Choose Credit / Debit card at checkout and use a test card below |
| A wallet-style payment | Choose DemoPay at checkout and approve it in the demo window |
| Express checkout | Use the Demo Express Pay button on a product, the cart or checkout; it opens a demo wallet sheet |
| Offline payment | Cash on delivery, direct bank transfer or check payments |
| Stock alerts | Open Stoneware serving bowls (pair) and click Notify me when available |
| Product preview | Open /api/preview/enter?token=demo-preview-d1 |
Test cards
Section titled “Test cards”| Card number | What happens |
|---|---|
4242 4242 4242 4242 |
Approved: the order is placed and paid. |
4000 0000 0000 0002 |
Declined: no order is left behind. |
4000 0000 0000 3220 |
A bank challenge, as with 3-D Secure, then paid. |
4000 0000 0000 3238 |
A challenge where the bank is slow to confirm. |
4000 0000 0000 3246 |
A challenge the bank then refuses. |
No real money moves and no payment script is loaded: the demo card form is the storefront’s own.
How it works
Section titled “How it works”The storefront talks to every backend through one typed Port. In Demo Mode the Port is served by the Fake Adapter, an in-memory backend that follows the same rules as the WooCommerce one, from coupon maths to order statuses. Every feature that runs through the Port works the same way it would against a real store. See How it works.
Everything you do, such as carts, orders, new accounts, reviews and alerts, is held in the server’s memory. Restarting the storefront resets the demo to its seeded state, which makes it safe to hand to anyone.
Set it up
Section titled “Set it up”- Clone the storefront, install dependencies, and set
AUTH_SECRET. - Leave
COMMERCE_SOURCEunset. - Start the app.
The Quickstart walks through it in a few commands. To switch to a real store
later, set COMMERCE_SOURCE=woocommerce and WOO_STORE_URL; see
Connect WooCommerce.
Good to know
Section titled “Good to know”- wp-admin settings don’t apply. Colours, header, home-page blocks and other Companion settings show the demo’s built-in values. Set them up against a real store.
- Some extras need the Companion plugin. Features that call it directly, such as newsletter sign-up, don’t work in Demo Mode.
- Turnstile is off by default. Set
DEMO_TURNSTILE_SITE_KEYto Cloudflare’s always-pass test key to show the challenge on review, reply and stock-alert forms. - Data is per server. On a host that runs several instances, each instance keeps its own demo state.
- Never for real orders. Nothing is fulfilled or charged. The full list of seeded data is in Demo data.