Skip to content

SupraMax

B2B beverage distribution e-commerce (whisky, cachaça, wines, beers) — our flagship commerce client. Headless commerce backend + storefront + support.

Facts

Item Detail
Backend Vendure 3.x headless commerce (TypeScript) — Docker on VPS prd1
Storefront Astro 5 + React, static + SSR, on Cloudflare Pages
Support Chatwoot (self-hosted)
Databases PostgreSQL native: vendure_production, vendure_staging
Ports Vendure prod 3001, staging 13000; Chatwoot prod 3100, staging 13100
Domains supramax.log.br, api.supramax.log.br, admin.supramax.log.br, stg-* variants
Repos cloudxm-supramax-vendure, cloudxm-supramax-site

What it does

  • B2B catalog with per-client pricing, cart, orders, tracking (EnvioZ integration).
  • Catalog managed as code: facets/products/collections live as CSVs in the Vendure repo and are upserted on deploy.
  • Storefront on Cloudflare Pages: main → production, other branches → preview (staging API).

Deploy

flowchart LR
    A[Git push main] --> B[GitLab CI]
    B --> C[Vendure: build image + deploy.sh on VPS]
    B --> D[Storefront: wrangler pages deploy]
    C --> E[PostgreSQL native]
    D --> F[Cloudflare Pages]
  • Backend: bash scripts/deploy.sh stg|prd live (dry-run by default).
  • Storefront: Cloudflare Pages — auto-deploy on push to main.

Search index

After catalog changes, trigger a Vendure reindex. See the Vendure repo docs — a stale search_index_item (e.g. enabled=false) makes the storefront show 0 products while the admin looks fine.

Owners

[TODO: assign owner(s) + support rotation contact]