sistema-de-chamados/apps/desktop/README.md

2 KiB
Raw Blame History

Sistema de Chamados — App Desktop (Tauri)

Cliente desktop (Tauri v2 + Vite) que:

  • Coleta perfil/métricas da máquina via comandos Rust.
  • Registra a máquina com um código de provisionamento.
  • Envia heartbeat periódico ao backend (/api/machines/heartbeat).
  • Redireciona para a UI web do sistema após provisionamento.
  • Armazena o token da máquina com segurança no cofre do SO (Keyring).

URLs e ambiente

  • Em produção, o app usa por padrão https://tickets.esdrasrenan.com.br.
  • Em desenvolvimento, use apps/desktop/.env (copiado do .env.example):
VITE_APP_URL=http://localhost:3000
# Opcional: se vazio, usa o mesmo do APP_URL
VITE_API_BASE_URL=

Comandos

  • Dev (abre janela Tauri e Vite em 1420):
    • pnpm -C apps/desktop tauri dev
  • Build frontend (somente Vite):
    • pnpm -C apps/desktop build
  • Build executável (bundle):
    • pnpm -C apps/desktop tauri build

Saída dos pacotes: apps/desktop/src-tauri/target/release/bundle/ (AppImage/deb/msi/dmg conforme SO).

Prérequisitos Tauri

Fluxo (resumo)

  1. Ao abrir, o app coleta o perfil da máquina e exibe um resumo.
  2. Informe o “código de provisionamento” (chave definida no servidor) e confirme.
  3. O servidor retorna um machineToken; o app salva e inicia o heartbeat.
  4. O app abre APP_URL/machines/handshake?token=... no WebView para autenticar a sessão na UI.

Segurança do token

  • O machineToken é salvo no cofre nativo do SO via plugin Keyring (Linux Secret Service, Windows Credential Manager, macOS Keychain).
  • O arquivo de preferências (Store) guarda apenas metadados não sensíveis (IDs, URLs, datas).

Suporte

  • Logs do Rust aparecem no console do Tauri (dev) e em stderr (release). Em caso de falha de rede, o app exibe alertas na própria UI.
  • Para alterar endpoints/domínios, use as variáveis de ambiente acima.