No description
  • TypeScript 51.4%
  • Vue 29.5%
  • JavaScript 18.5%
  • Shell 0.6%
Find a file
madruga 4a1ef5f6e5 feat(clients): aumenta pageSize máximo para 200 em listagem de clientes e usuários
Permite selecionar até 200 registros por página na listagem de clientes
(ClientsController) e usuários (listUsersQuery schema). Útil para
tabelas administrativas que precisam exibir grandes listas sem paginação.
2026-05-05 18:51:05 -03:00
.claude chore: add .claude settings and .codex hooks 2026-05-05 06:24:44 -03:00
.codex chore: add .claude settings and .codex hooks 2026-05-05 06:24:44 -03:00
.github chore: add graphify artifacts and copilot guidance 2026-05-04 03:29:45 -03:00
apps feat(clients): aumenta pageSize máximo para 200 em listagem de clientes e usuários 2026-05-05 18:51:05 -03:00
docs docs: MITRE v2.5, ROUTES_AUDIT, SECURITY_TESTING, threat-model atualizados 2026-05-05 16:08:16 -03:00
graphify-out chore(graphify): atualizar grafo de conhecimento (graphify update .) 2026-05-05 16:08:16 -03:00
infra/postgres chore: initial commit 2026-04-19 20:23:27 -03:00
packages feat(clients): aumenta pageSize máximo para 200 em listagem de clientes e usuários 2026-05-05 18:51:05 -03:00
scripts security(docs): add mTLS inter-services runbook and certificate generation script for all microservices 2026-05-05 06:24:21 -03:00
tests/security test(security): expand auth, rate-limit, audit-chain and SSRF coverage 2026-05-04 03:29:45 -03:00
.env.example chore(config): document new env vars for SSH credentials and backup storage 2026-04-23 05:52:43 -03:00
.gitignore chore(git): stop tracking plan.md 2026-05-05 02:43:50 -03:00
.npmrc chore: setup, scripts, lockfiles e configurações de infraestrutura 2026-05-04 22:55:12 -03:00
.nvmrc chore: setup, scripts, lockfiles e configurações de infraestrutura 2026-05-04 22:55:12 -03:00
.prettierrc.json chore: initial commit 2026-04-19 20:23:27 -03:00
.swcrc chore: initial commit 2026-04-19 20:23:27 -03:00
AGENTS.md chore: setup, scripts, lockfiles e configurações de infraestrutura 2026-05-04 22:55:12 -03:00
CLAUDE.md chore: setup, scripts, lockfiles e configurações de infraestrutura 2026-05-04 22:55:12 -03:00
docker-compose.dev.yml security(docker): containers dev com no-new-privileges e user não-root (#34) 2026-05-05 13:46:04 -03:00
ecosystem.config.cjs fix(ecosystem): .env sempre vence process.env para evitar senha SMTP truncada por shell expansion 2026-05-05 18:49:23 -03:00
express.md chore: initial commit 2026-04-19 20:23:27 -03:00
install.sh chore(config): add worker-metrics to ecosystem, update install/setup scripts and env.example 2026-04-23 01:39:08 -03:00
package-lock.json chore: setup, scripts, lockfiles e configurações de infraestrutura 2026-05-04 22:55:12 -03:00
package.json chore: setup, scripts, lockfiles e configurações de infraestrutura 2026-05-04 22:55:12 -03:00
pnpm-lock.yaml chore(deps): jose em apps/auth, @nest-lab/throttler-storage-redis em billing, devDeps em auth-kit 2026-05-05 16:08:16 -03:00
pnpm-workspace.yaml test(security): expand self-service and auth suites 2026-04-19 23:02:25 -03:00
README.md docs: add FASE3 roadmap, single-port deploy runbook and update README 2026-04-23 01:39:18 -03:00
SECURITY.md chore: initial commit 2026-04-19 20:23:27 -03:00
setup.sh fix(setup): re-source .env e limpa cache Nuxt antes do build 2026-05-05 18:50:07 -03:00
tsconfig.base.json chore: initial commit 2026-04-19 20:23:27 -03:00

Central de Gestão

Sistema modular para gestão de clientes, cobrança (PIX via ExpressPagamentos), infraestrutura (Proxmox + SSH) e automação estilo n8n. Backend em NestJS, frontend Nuxt 3, deploy com PM2 + bare metal.

Pré-requisitos

  • Node.js >= 20.11
  • pnpm >= 9 (corepack enable && corepack prepare pnpm@9.12.0 --activate)
  • Docker + docker compose (apenas para infra de dev: Postgres, Redis, Evolution API)
  • PM2 (npm i -g pm2) — apenas para ambiente de produção

Setup rápido (desenvolvimento)

cp .env.example .env
node scripts/generate-keys.mjs > .env.secrets   # inspecione e mescle em .env / /etc/cg/
pnpm install
pnpm infra:up
./install.sh         # gera chaves + aplica migrations + seed (1ª vez)
pnpm dev             # já dispara `ensure-db-ready` automaticamente antes

Migrations são aplicadas automaticamente em pnpm dev, pnpm start, pnpm pm2:start e ./setup.sh via hook predev/prestart que chama scripts/ensure-db-ready.mjs (idempotente — no-op se o schema já está em dia). Para pular em emergência, defina CG_SKIP_DB_READY=1.

Arquitetura

Cada serviço é um processo PM2 independente. Ver docs/adr/0001-monorepo-pnpm.md e docs/runbooks/phase1-ops.md.

Deploy em 1 porta pública (produção): apenas a 3001 precisa estar exposta — o próprio Nuxt Nitro proxia /api/** pro gateway e /ws/** pro ws-gateway. Sem nginx interno. Ver docs/runbooks/single-port-deploy.md.

Processo Porta Função
cg-gateway 3000 Edge HTTP público
cg-auth 3101 Auth, 2FA, RBAC
cg-clients 3102 Clientes, contatos, OTP
cg-billing 3103 Cobrança, webhooks
cg-ws-gateway 3200 WebSocket para tempo real
cg-frontend 3001 Nuxt 3
workers BullMQ (notifications, billing)

Segurança

  • Zero-trust frontend: validação sempre no backend.
  • Credenciais cifradas com envelope AES-256-GCM (KEK + DEK por segredo).
  • JWT RS256 access (5min) + refresh rotativo (30min) com detecção de reuso.
  • TOTP 2FA obrigatório para admins.
  • Auditoria imutável com hash-chain.

Ver SECURITY.md e docs/threat-model.md.