Stage 2 customer-facing storefront for abenerp.com — Áben's custom manufacturing offering. Sibling to ABERP (the back-office invoicing/ledger system).
This repo is internal code under the Áben umbrella; the customer surface lives at abenerp.com.
Phase 1 — landing page only. RainEffect WebGL integration, real wordmark asset, quote form, and CAD upload are later sessions.
See ../ABERP/docs/e2e-shop/ground-zero.md (in the ABERP repo) for the authoritative Stage 2 design: domain decision, brand, MVP scope, stack, RainEffect adaptation, architecture, quote engine decomposition, hosting, GDPR, and roadmap.
npm install
cp .env.example .env # provides BODY_SIZE_LIMIT, dev admin token, etc.
npm run dev # http://localhost:5173
npm run check # svelte-check (type-check)
npm run build # adapter-node output in build/
npm run test:unit -- --run.env.example pins BODY_SIZE_LIMIT=52428800 (50 MB). Without it, adapter-node
defaults to 512 KB and every CAD upload 413s before the handler runs. The
canonical local-dev quote-form command is:
BODY_SIZE_LIMIT=52428800 ABERP_SITE_ADMIN_TOKEN=dev npm run build && \
BODY_SIZE_LIMIT=52428800 ABERP_SITE_ADMIN_TOKEN=dev node build/index.jsAWS S3 + CloudFront, region eu-central-1 (Frankfurt). See docs/deploy.md for the eventual deploy runbook. Build output (build/) is fully static via @sveltejs/adapter-static.