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]