Pular para o conteúdo principal

Documentação do projeto

Índice da documentação técnica do default-crm-backend.

Início rápido

  • README.md — instalação, variáveis de ambiente, arquitetura, CI/CD
  • db/README.md — scripts SQL PostgreSQL e ordem de execução

API

DocumentoConteúdo
api-endpoints.mdReferência de endpoints por módulo (rotas, permissões, WebSocket)
google-drive-media.mdMídia de utilizador no Google Drive (upload, metadata, pastas)
GDRIVE_IMPLEMENTACAO_PHP.mdGuia completo da implementação GDrive para replicar num PHP monolítico (sem API)
arquitetura.drawioDiagramas de arquitetura (NestJS + fluxo Google Drive) — abrir em draw.io
autentique-api.mdIntegração Autentique — configuração por empresa, documentos, webhooks e SSE
Swagger UIhttp://localhost:3000/api/docs (com a app a correr)
Postmanpostman/CRM_Backend_API.postman_collection.json

Integração frontend

DocumentoPúblicoConteúdo
FRONTEND_AUTH_PERMISSIONS.mdFrontendLogin (POST /api/auth/login), permissões hierárquicas no JWT
FRONTEND_EMAIL_TEMPLATES.mdFrontendTemplates de e-mail — leitura, edição e renderização (/api/companies/.../email-templates, /api/global-config/email-templates)
FRONTEND_GOVERNANCE_TARGET_USER_PERMISSIONS.mdFrontendPermissões metadata de utilizador alvo (/api/governance/users/{uuid}/...)
FRONTEND_USER_MEDIA_DRIVE.mdFrontendIcon/banner/perfil via Google Drive — contrato HTTP e breaking changes
FRONTEND_GDRIVE_ALTERACOES_CONTRATO.mdFrontendAlterações de contrato (tenants/users/documentos) após migração GDrive — guia para o time frontend

Dados e domínio de negócio

DocumentoConteúdo
api-dados-fontes-tabelas.mdMapeamento de tabelas legadas (EC, propostas, TPV, comissões, aluguel) para implementação de APIs

Autorização (resumo)

O backend aplica três guards globais:

  1. JWT — autenticação e sessão
  2. Chaves granularespermissoes[] no token (ex.: integracao.cep); bypass em N0/N1/admin
  3. Metadata perm-* — flags em company/user JSONB; bypass em N0/admin

Escopo de dados N0–N3 é aplicado nos repositórios, não nos guards. Detalhes em README.md.

Código

npm run docs # Compodoc — servidor local
npm run docs:build # Build estático em dist/docs