Centralizador
Objetivo principal
Sistema de backoffice que cadastra e administra os múltiplos ambientes do sistema Novo Avanço hospedados na AWS (um ambiente por conta/cliente), controlando empresas, usuários, grupos e permissões, e funcionando como ponto único para sistemas externos descobrirem a URL do ambiente correto de um cliente a partir de e-mail ou hash.
Principais tecnologias
NestJS / TypeScript / Prisma + PostgreSQL / Redis / Angular 17 + Angular Material / JWT
Principais funcionalidades
- Autenticação: Login/logout com JWT e sessão do usuário logado
- Ambientes AWS: CRUD dos ambientes (nome, URL base, access key, homepage)
- Grupos de Ambientes: Agrupamento de ambientes AWS, associados a labels e perfis
- Usuários por Ambiente: Vínculo de usuários a ambientes específicos, com upsert em lote
- Empresas: CRUD de empresas clientes vinculadas a um ambiente AWS (CNPJ, endereço, produtos, bloqueio)
- Perfis de acesso: Perfis de permissão associados a grupos de ambientes
- Labels: Etiquetas visuais (cor/ícone) para organizar grupos de ambientes
- Usuários do sistema: CRUD de usuários administradores/operadores do Centralizador
- Resolução de ambiente: Endpoint que descobre a URL base do ambiente de um usuário a partir de e-mail ou hash
- Configurações: Tela de configurações do sistema no frontend
Principais integrações
- PostgreSQL: Banco de dados principal da aplicação, via Prisma ORM
- Redis: Presente na infraestrutura Docker do projeto (uso específico no código não confirmado)
- Autenticação via hash (header authorizationhash / HASHGUARD): Canal usado por sistemas externos para consultar/cadastrar hashes e resolver o ambiente do cliente
- Endpoint "listForCotacao": Lista de ambientes consumida por um sistema externo de Cotação (integração não totalmente confirmada apenas pelo código)