Arquitetura & EngenhariaBackend
Visão Geral do Backend
Visão geral da arquitetura backend NestJS.
O backend é construído com NestJS, fornecendo uma arquitetura modular, testável e escalável.
Estrutura
O diretório apps/api/src é organizado em módulos lógicos:
app.module.ts: O módulo raiz que importa todos os outros módulos.common/: Utilitários compartilhados, guards, decorators e configurações usados em toda a aplicação.auth/: Lógica de autenticação (OIDC, Strategies, Guards).user/: Gerenciamento de usuários (perfis, atualizações).role/: Gerenciamento de cargos e permissões.organization/: Suporte a multi-tenancy (organizações/times).files/: Upload e gerenciamento de arquivos (integração S3).whitelabel/: Configuração de temas e whitelabel.
Injeção de Dependência
Utilizamos intensamente o sistema de injeção de dependência do NestJS. Serviços são injetados em controllers e outros serviços, facilitando o teste e a manutenção do código.
Configuração
A configuração é gerenciada usando @nestjs/config. Variáveis de ambiente são carregadas de arquivos .env e validadas usando Joi ou class-validator para garantir que a aplicação inicie com uma configuração válida.