Skip to content

ShopXM

Unified fiscal (NFSe) + payments platform. ShopXM consolidates the fiscal services previously delivered by the NFe server into one platform.

Facts

Item Detail
Type Laravel / PHP-FPM app (native, not Docker)
Runs on VPS prd1 (Hostinger) — see Architecture
Databases MariaDB: nfe_prd, nfe_stg, nfe_sandbox (+ ShopXM DBs)
Repos cloudxm-shopxm-server (+ legacy cloudxm-nfe-server being merged)
Environments production, staging, sandbox
Domain(s) [TODO: fill in public/admin domains]

What it does

  • NFSe (Nota Fiscal de Serviço Eletrônica) emission and compliance for clients.
  • Payment processing flows (see Pay and Marlim integration).
  • Client-facing dashboard(s) and admin console.

Deploy

PHP-FPM app pattern: GitLab CI rsyncs code to the VPS and runs artisan commands (migrate/seed). Follows the shared emcloud group conventions:

  • SSH via group-level PROD_SSH_KEY / PROD_USER / PROD_HOST CI variables.
  • Secrets via repo-level masked CI variables (STG_* / SANDBOX_* prefixes for non-production, unprefixed or PROD_* for production).
  • Never commit .env; generate it during deploy from CI variables.

Runbooks

  • Operations runbooks — generic deploy/incident flow.
  • [TODO: link product-specific runbook when created]

Owners

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