Visão geral

O TermoSupport é o painel de suporte da Termotubos: os colaboradores cadastram os sites, mantêm a base de conhecimento (documentos) de cada um e gerenciam a equipe e as permissões.

O sistema tem duas metades, no padrão de projeto da Termotubos:

ParteEndereço em devO que faz
Frontend (SvelteKit)http://localhost:51050O painel dos colaboradores (/painel) e a landing page
Backend (Rust + Axum)http://localhost:51051A API do painel
PostgreSQL (local)localhost:5432Banco do app, no schema termosupport

O que existe no painel

ÁreaRotaO que faz
Aplicativos/painel/aplicativosCadastro dos sites: nome, endereço, cor, saudação e a base de conhecimento (documentos)
Colaboradores/painel/colaboradoresEquipe sincronizada com o TermoAuth e as permissões de ler, criar, editar e deletar de cada área

Integrações

IntegraçãoPastaPara que serve
TermoAuthbackend/integrations/termoauth/Valida o JWT do login central e lista os colaboradores para a sincronização

Acesso

O login é do TermoAuth (app termo-suporte): o frontend manda a pessoa para o /handoff do TermoAuth, recebe o JWT em /painel#token= e o envia em Authorization: Bearer a toda chamada. O backend valida o token offline pelo JWKS do TermoAuth e libera só quem tem cadastro ativo na tabela auth (e-mail @termotubos.com.br, perfil colaborador, ativo e termoauth_id). O que cada pessoa enxerga vem de auth_permissao, por área. Master do TermoAuth entra sem cadastro e com tudo liberado. Não existe senha no TermoSupport.

Rodando localmente

ServiçoPortaComo subir
Frontend51050Configuração frontend do .claude/launch.json
Backend51051Configuração backend do .claude/launch.json
Documentação51052Configuração docs-projeto do .claude/launch.json
Diagrama do banco (ERD)51053Configuração database-erd do .claude/launch.json
Drizzle Studio51054Configuração database-studio do .claude/launch.json
PostgreSQL5432Serviço local do PostgreSQL; .claude/preparar-banco.sh cria o banco e aplica as migrations
Documentação em construção

Esta é a primeira página da documentação do TermoSupport. As próximas páginas entram em docs/projeto/src/routes/docs/<pagina>/+page.md, e o menu lateral é definido em docs/projeto/src/navegacao.json.

Atualizado em 2026/10/06 23:47