# SAR — Força de Vendas **Cliente:** JCS Sistemas · **Status:** MVP em desenvolvimento > Plataforma SaaS B2B de força de vendas com 4 cockpits especializados (Rep / Supervisor / Dono / Admin) sobre dado único em tempo real, atravessado por WhatsApp nativo e IA contextual. --- ## Stack canônica Ver [`STACK.md`](STACK.md) v2.2 (fonte da verdade técnica) e [`CODING-RULES.md`](CODING-RULES.md) v2.0 (invariantes + pegadinhas 🔥). | Camada | Tecnologia | |---|---| | Runtime | Node 24 LTS · pnpm 11.1 · TypeScript 5.9 | | Monorepo | Nx 22.7 | | Backend | NestJS 11 (CJS) · Prisma 7 · PostgreSQL 18 · BullMQ | | Frontend | React 19 · Vite 8 · Ant Design 6.4 · TanStack Query/Router · Zustand | | Multi-tenancy | BD-por-workspace (ADR 0006) | | Infra | Proxmox on-prem BR (ADR 0004) · Docker Compose · Cloudflare | --- ## Quickstart (dev local) ```bash # Pré-requisitos: Node 24, pnpm 11.1 (via corepack), Docker # 1. Instalar deps pnpm install # 2. Copiar template de env cp .env.example .env # 3. Subir stack de dev (Postgres, Valkey, MinIO, Mailpit) pnpm dev:up # 4. Rodar api (Nest 11) — porta 3000 pnpm dev:api # 5. Em outro terminal, rodar web (Vite + React 19) — porta 4200 pnpm dev:web ``` **URLs locais:** - Web app: http://localhost:4200 - API: http://localhost:3000 - MinIO console: http://localhost:9001 (login `sar_minio_admin` / `sar_minio_dev_password`) - Mailpit (emails de teste): http://localhost:8025 --- ## Estrutura do monorepo ``` apps/ ├── api/ # NestJS HTTP — monólito modular por domínio ├── api-e2e/ # E2E tests da API (Jest) ├── web/ # SPA React + Vite + AntD └── web-e2e/ # E2E tests do frontend (Playwright) libs/ └── shared/ └── api-interface/ # Zod schemas + tipos compartilhados api ↔ web design-artifacts/ # WDS — Phase 1/2/3 docs (Brief, Trigger Map, Scenarios) _references/ # Logos, mockups legados, materiais scripts/ # SQL init, deploy scripts docs/ # Docs do projeto (ADRs futuras) ``` --- ## Scripts úteis ```bash pnpm build # Build de todos os projetos pnpm lint # ESLint em tudo pnpm test # Unit tests em tudo pnpm graph # Visualiza grafo de dependências Nx pnpm affected -- -t build # Só builda o que foi afetado pela mudança pnpm format # Prettier write ``` --- ## Próximos passos do setup - [ ] Provisionar VMs Proxmox para staging (Postgres, Valkey, MinIO, master-login, Vault) - [ ] Configurar Gitea Actions (`.gitea/workflows/`) — CI básico (lint + test + build) - [ ] Implementar master-login (IdP OAuth2/OIDC) — ADR 0005 - [ ] Implementar multi-tenant BD-por-workspace — ADR 0006 - [ ] Primeiro cockpit: Rafael (Rep) PWA mobile-first --- _Powered by JCS Sistemas · Stack canon JCS v2.2_