← back to Dw Yolo Loop

artmura-site/README.md

45 lines

# Artmura microsite

Editorial Italian storefront over the 161 staged Artmura wallcoverings. Express + static, no build step.

```sh
cd artmura-site && npm install && PORT=9920 node server.js   # → http://127.0.0.1:9920
```

## Features
- **Hero** — rotating luxury room-shots; serif wordmark + italic tagline + centered Enter pill. Scrim tuned so the white wordmark clears **APCA Lc ≥ 60** on every (light) room shot.
- **Grid** — sort (Newest / Color / Collection / SKU / Title / Price ↑↓) + density slider, both `localStorage`-persisted. Lazy-loaded `<img>` swatches.
- **Color** — true dominant-hue color sort + per-card color dot + color-filter chip bar. Hues from `scripts/artmura-onboard/extract_colors.py` → `data/artmura-colors.json`.
- **Book filter** — Opera / La Scala Milano chips.
- **PDP** (`/product/:handle`) — Figma V1 "Editorial Magazine": hero gallery (swatch + room thumbnails) + spec rail (full spec table) + story/specs/care + **"Pairs well with"** (6 recs, `/api/pairs/:handle`) + schema.org Product **JSON-LD**.

## Data
- Catalog: `../scripts/artmura-onboard/data/artmura.json` (161 products)
- Colors: `../scripts/artmura-onboard/data/artmura-colors.json`
- Images: `../.newwall-ref/artmura/images/` (gitignored), served at `/images/*`

## Endpoints
`/api/products` · `/api/product/:handle` · `/api/pairs/:handle` · `/api/facets` (books/series/colors)

## Pricing
DW price = the website price (Steve: **no trade discount** for Artmura). Sample $5.

## It's a template — clone for any DW line
This is config-driven (`site.config.js`) and links OUT to the live Shopify store for purchase
(read-only lookbook; `rel=canonical` → the live PDP, so it complements, never competes).

**Generate a landing for any live DW vendor straight from Shopify:**
```sh
SHOPIFY_ADMIN_TOKEN=… node build-line.js "Schumacher"
# → lines/schumacher.json + lines/schumacher-handles.json + a site.config block to paste
VENDOR=schumacher PORT=9922 node server.js
```
`build-line.js` pulls the vendor's active products (title, price = highest non-sample variant —
never the $4.25 sample, specs from metafields, CDN images, live handle). No image download needed
(`localImages:false` → serves Shopify CDN urls). Optional: run a color-extract for the color sort/filter.

## Status
The 161 Artmura products are **LIVE** on designerwallcoverings.com. This landing is a brand lookbook
over them. **Not yet deployed to a public subdomain** — that's a DNS change gated on Steve
(`.deploy.conf` + `ecosystem.config.cjs` ready; pick a subdomain e.g. artmura.designerwallcoverings.com).