Skip to main content

Gerenciador de Download XML

Objetivo principal

Aplicação desktop (Angular + Electron) que permite aos clientes da Avanço Informática baixar em massa XMLs fiscais (NFe/NFCe) previamente exportados e arquivados em S3. O usuário é guiado por um fluxo em etapas: login/identificação, escolha da pasta de destino, seleção das solicitações de exportação disponíveis, download paralelo com progresso e retomada, e tela de conclusão com estatísticas.

Principais tecnologias

Angular 21 (standalone/signals) / Angular Material & CDK / Tailwind CSS v4 / Electron 35 + electron-builder / Angular SSR (Express) / RxJS / TypeScript / Vitest / adm-zip

Principais funcionalidades

  • Autenticação JWT: login por e-mail/senha contra a API própria da Avanço
  • Resolução dinâmica da API por tenant: consulta um serviço "centralizador" para descobrir a URL da API do cliente antes do login
  • Listagem de solicitações de exportação: exibe e filtra por status (disponível, restaurando, expirada, concluída, etc.) com paginação
  • Manifesto de arquivos: ao selecionar solicitações, obtém contagem de arquivos, tamanho total e tempo estimado
  • Download paralelo em lote: pool de até 50 downloads simultâneos com barra de progresso agregada e log por arquivo
  • Retomada incremental: usa HTTP Range para continuar downloads parciais e detectar arquivos já completos
  • Checkpoint de resiliência: grava progresso em disco para retomar downloads entre sessões do app
  • Renovação automática de URLs assinadas: detecta expiração de links do S3 durante o lote e atualiza as tarefas pendentes
  • Cancelamento de downloads em andamento preservando o progresso já realizado
  • Organização automática dos arquivos por referência/CNPJ/tipo de documento/modelo fiscal, com descompactação automática de .zip

 

Principais integrações

  • API própria da Avanço Informática: autenticação, listagem de exportações, manifesto de arquivos e notificação de conclusão do download
  • Serviço centralizador: resolve a URL base da API correta por usuário/tenant antes do login
  • AWS S3: origem dos arquivos XML/ZIP baixados via URLs assinadas, com suporte a download parcial (Range)
  • AWS S3 (deploy): pipeline de CI publica os instaladores (AppImage/deb/exe) em bucket próprio
  • GitLab CI/CD: build e deploy automatizados usando imagem Docker própria do projeto