CRM Docs
Arquitetura Backend

Glossário

Termos da arquitetura backend

Termo (EN)Significado
GatewayContrato abstrato (port) entre application e infrastructure
Repository GatewayGateway específico para persistência de um agregado
DefaultRepositoryGatewayContrato CRUD genérico com companyId em todos os métodos
KnexDefaultRepositoryImplementação Knex do CRUD padrão
MapperGatewayContrato de conversão APPINFRA
Use CaseClasse de orquestração com método execute()
Entity (APP)Objeto de domínio em app/entities/
DTOData Transfer Object — contrato HTTP em domain/dtos/
INFRA / Knex rowTipo alinhado às colunas MSSQL
CompanyKnexProviderResolvedor de conexão Knex por companyId
GCIGuards, Context, Injection — permissões e decorators HTTP
ProducerUse case que publica mensagem em fila
Consumer / WorkerClasse infra que processa mensagens da fila
Fat workerConsumer que orquestra múltiplos gateways (não apenas adaptador)
Multi-tenantIsolamento por banco MSSQL por empresa
provide / useClassPadrão NestJS para binding gateway → implementação

Referências rápidas de código

PadrãoArquivo
Default gatewaysrc/app/gateways/default.repository.gateway.ts
Default Knex reposrc/infra/database/knex/repositories/knex-default.repository.ts
Mapper contractsrc/app/gateways/mapper.gateway.ts
DI registrysrc/infra/database/database.module.ts
Multi-tenant DBsrc/infra/database/knex/company-knex.ts
Bootstrap 3 appssrc/main.ts

On this page