Pular para o conteúdo
* CASE STUDY Nº 03 · SOFTALIZA · 2023

Eventos Científicos

Uma plataforma para eventos científicos com mais de 100 mil participantes - credenciamento on-site, atribuição de DOI a artigos e anais, e um front-end que precisava ser rápido tanto na fila do evento quanto no navegador de quem submete trabalho.

100K+ PARTICIPANTES
~40% REDUÇÃO DE LOAD TIME
JS → TS MIGRAÇÃO LIDERADA
E2E COBERTURA COM CYPRESS
i O PROBLEMA

Evento científico junta multidão na porta e rigor de metadados no backend.

Receber mais de 100 mil participantes significa dois problemas que não conversam. No on-site, é credenciamento: ler o QR do participante, conferir e imprimir crachá em segundos, porque atrás dele tem fila. No backend, é catálogo científico: cada artigo e cada anais precisa de um DOI com metadados corretos, depositado em uma agência registradora como Crossref ou DataCite.

A base já existia e tinha crescido em JavaScript puro. O front-end carregava tudo de uma vez e o load time pesava - especialmente ruim num produto que precisa ser ágil na fila do credenciamento.

ii MEU PAPEL

Engenheiro full-stack com peso no front-end, responsável pela migração para TS e pelo trabalho de performance.

  • - Liderei a migração incremental de JavaScript para TypeScript em uma base grande, sem parar a entrega de produto.
  • - Conduzi o trabalho de performance no front-end: code splitting, redução de bundle e caching que cortaram ~40% do load time.
  • - Implementei e mantive os fluxos de DOI - montagem de metadados e depósito em agência registradora para artigos e anais.
  • - Cobri os fluxos críticos com testes end-to-end em Cypress, incluindo o caminho de credenciamento on-site.
iii STACK & ARQUITETURA
FRONT-END
ReactTypeScriptCode SplittingCaching
BACK-END & INTEGRAÇÕES
Node.jsRESTCrossref / DataCiteDOI
QUALIDADE & FERRAMENTAS
CypressESLintCIQR / Credenciamento
iv PROCESSO
01

Entender o evento como operação física, não só como software.

Credenciamento on-site tem fila, impressora de crachá e gente esperando. O sistema precisa ler o QR e liberar o participante em segundos, não em segundos e meio.

02

Tratar DOI como um contrato com metadados, não como um campo de texto.

Atribuir DOI a artigos e anais significa montar metadados no formato certo e depositar em agência registradora (Crossref / DataCite). Se o metadado está errado, o identificador nasce quebrado.

03

Atacar performance medindo, não no chute.

Bundle grande, tudo carregado de uma vez. Code splitting por rota, redução de bundle e caching cortaram o load time em cerca de 40% - validado com medição, não com sensação.

04

Migrar JavaScript para TypeScript de forma incremental.

Nada de big bang. Migração arquivo a arquivo, tipando as fronteiras primeiro, com o build verde a cada passo - o time continuou entregando feature enquanto a base ficava tipada.

v RESULTADOS

Plataforma usada por 100K+ participantes ficou mais rápida no navegador, mais previsível no código e confiável nos fluxos de credenciamento e de DOI.

  • - Migração para TypeScript reduziu uma classe inteira de bugs de runtime e deixou refactors grandes muito menos assustadores.
  • - Redução de ~40% no load time melhorou a percepção de velocidade num produto usado por 100K+ participantes.
  • - Fluxos de DOI passaram a gerar identificadores com metadados consistentes, sem retrabalho manual de correção.
  • - Suíte E2E em Cypress virou rede de segurança real: regressões no credenciamento e nos fluxos de DOI passaram a ser pegas antes de chegar em produção.
PRÓXIMO CASE STUDY

Resume Skills Toolkit