Cliente e contexto
Uma plataforma de streaming de vídeo por subscrição com muitos anos precisava de:
- Modernizar a sua stack Symfony, Nuxt.js, Next.js e Angular.
- Manter e evoluir um CMS interno utilizado para produção e publicação de vídeo.
- Melhorar o desempenho da base de dados para consultas de grelha e de pesquisa.
- Manter a infraestrutura baseada em AWS atualizada e assegurar uma comunicação eficaz entre engenharia e negócio.
Entrei como engenheiro full-stack para ajudar a atualizar e sustentar a plataforma.
Desafios
- Base de código legacy com Node.js 12 e Nuxt.js 2, vários padrões e bibliotecas descontinuados.
- Uma integração complexa com uma aplicação de terceiros baseada em MS SQL, utilizando triggers SQL e lógica de sincronização personalizada.
- Consultas lentas a afetar o site da grelha de TV e a pesquisa de vídeos.
- A infraestrutura AWS (incluindo ElastiCache for Redis) precisava de atualizações.
- As equipas de marketing e operações dependiam de layouts de e-mail e relatórios personalizados construídos sobre ferramentas internas.
O que fiz
1. Atualizações de stack e modernização do front-end
- Atualizei o Node.js de 12 para 18 e o Nuxt.js de 2 para 3.
- Substituí o Axios pela API moderna
fetch quando apropriado.
- Reescrevi páginas e componentes usando a Composition API.
- Melhorei as definições de Docker Compose para desenvolvimento local em dois projetos AWS Lambda.
2. Manutenção do CMS e suporte à integração
- Mantive e evoluí o CMS interno utilizado para produção e publicação de vídeo.
- Fiz reverse engineering e documentei uma integração complexa com uma aplicação de terceiros baseada em MS SQL, incluindo sincronização baseada em triggers SQL.
- Recuperei conhecimento em falta sobre o funcionamento desta integração e garanti que podia ser mantida em segurança.
3. Otimização de desempenho
- Melhorei uma consulta complexa da grelha de TV, fazendo com que executasse cerca de três vezes mais rápido.
- Ajustei a configuração da base de dados e as consultas para tornar as operações de pesquisa cinco vezes mais rápidas.
- Atualizei URLs obsoletos para pré-visualizações de trailers de vídeo, para corresponderem à infraestrutura atual.
4. AWS e suporte operacional
- Atualizei o AWS ElastiCache for Redis de uma versão obsoleta para uma versão atual.
- Monitorizei e respondi a notificações da AWS, mantendo a gestão e o suporte de servidores informados sobre alterações e problemas.
- Apoiei operações de newsletter e marketing através de:
- Criação de novos layouts semanais de newsletter.
- Melhoria do layout de e-mail construído com Google Apps Script.
- Criação de relatórios e atualização regular de banners nos sites.
Resultados
- A plataforma passou para uma stack moderna Node/Nuxt/Symfony, mantendo-se em operação contínua.
- Conhecimento crítico do CMS e da integração foi recuperado e documentado, reduzindo o risco operacional.
- As melhorias de desempenho nas consultas de grelha e pesquisa tornaram a experiência do utilizador mais rápida e mais responsiva.
- A infraestrutura AWS e os fluxos de trabalho de e-mail/marketing foram atualizados e tornados mais fáceis de manter.
Tecnologias e responsabilidades
- Função: Programador full-stack para uma plataforma de streaming por subscrição
- Tecnologias: Node.js 12→18, Nuxt.js 2→3, Symfony 3→6, Composition API, MS SQL Server, SQL triggers, AWS (ElastiCache, Lambda), Docker Compose, Google Apps Script, Redis
- Âmbito: Atualizações de stack, manutenção de CMS/integração, otimização de consultas, operações AWS e ferramentas de suporte a marketing
Se gere uma plataforma de conteúdos ou de streaming com uma stack envelhecida e integrações complexas, posso ajudar a modernizar a tecnologia e melhorar o desempenho sem interromper o seu negócio.
Voltar a todos os estudos de caso