Contexto
O sistema acumulava fluxos em AngularJS e precisava continuar recebendo melhorias. A migração deveria reduzir o risco de uma troca abrupta e criar um caminho claro para o time evoluir cada parte do produto.
O problema
Modernizar uma aplicação em uso sem exigir uma reescrita total, preservando a continuidade do produto enquanto novos fluxos avançavam sobre uma base mais atual.
Minha participação
Contribuí na migração de fluxos para React, Next.js e TypeScript, na definição de componentes reutilizáveis e na organização das fronteiras entre trechos legados e novos.
Decisões técnicas
- Migrar por fluxo de negócio, permitindo validar cada etapa antes de retirar a implementação anterior.
- Criar componentes a partir de padrões reais do produto, evitando uma biblioteca abstrata antes de existirem casos de uso suficientes.
- Usar tipagem para tornar contratos e estados da interface explícitos durante a transição.
O que foi implementado
- Mapeamento de fluxos e dependências da aplicação legada.
- Componentes reutilizáveis para as novas jornadas.
- Migração incremental de telas para Next.js.
- Tipagem de dados e estados com TypeScript.
Resultado
A estratégia incremental permitiu que a modernização avançasse junto das demandas do produto. Os novos fluxos passaram a compartilhar componentes e contratos mais claros, reduzindo o acoplamento com a base legada.
Aprendizado
Modernizações ficam mais seguras quando seguem fluxos de negócio verificáveis. Migrar uma jornada por vez cria pontos claros de validação e reduz a dependência de uma substituição total.