Convex + Transloadit: uploads e processamento
Acabamos de lançar @transloadit/convex no npm, uma nova integração do Convex
para a Transloadit que dá uma sensação nativa a uploads, processamento de arquivos e webhooks. Ela
inclui um app de demonstração pronto para rodar (uma galeria de casamento), documentação sobre como
combiná-la com o uploader de arquivos Uppy e helpers simples no lado do servidor
para manter segredos fora do cliente e evitar a adulteração de requisições.
O que você recebe
- Uma configuração limpa de Uppy +
@uppy/transloaditpara uploads pelo navegador, enviados à Transloadit, com instruções de codificação opcionais. - Um módulo Convex que pode aceitar, assinar e verificar payloads, além de salvar referências aos resultados.
- Uma galeria de demonstração escrita em Next.js que mostra esse fluxo de ponta a ponta.
- Uma suíte de testes Playwright que garante que tudo continue funcionando.
Em resumo, você tem upload de arquivos rápido e retomável (até 200 GB), codificação de vídeo, reconhecimento por IA e uma interface de usuário que se atualiza em tempo real.
Demonstração interativa
Experimente o app de demonstração!
O código-fonte e a documentação estão disponíveis aqui.
Como funciona
- O usuário arrasta arquivos para o Uppy.
- O Uppy cria uma Assembly e envia os arquivos e as Instructions à Transloadit. O Convex assina essa requisição com um segredo que mantém no back-end, para evitar adulteração.
- O usuário termina o upload e pode sair da página.
- A Transloadit processa os arquivos, armazena os resultados no CloudFlare R2 de acordo com as Instructions e chama o webhook do Convex quando os resultados estão prontos.
- O Convex armazena as referências no seu banco de dados, e a galeria se atualiza em tempo real.
Início rápido
Instale o componente Convex junto com nosso uploader para navegadores, o Uppy:
npm i @transloadit/convex @uppy/core @uppy/transloadit
Depois, siga o README para conectar as actions do Convex, o webhook e a configuração do Uppy.
Se quiser um app de referência executável, clone o repositório e rode a demonstração localmente.
Por que essa abordagem?
O Convex é ótimo com dados em tempo real e ações seguras. A Transloadit cuida do trabalho pesado, como transcodificação, operações com imagens e armazenamento.
Juntando os dois, você pode:
- manter segredos nas actions do Convex,
- assinar requisições com segurança,
- escalar uploads com a velocidade e a confiabilidade do tus,
- lidar com webhooks sem servidores personalizados,
- salvar os resultados no seu banco de dados Convex e notificar os consumidores, e
- entregar rápido!
O que vem por aí?
A integração do Convex para a Transloadit ainda não chegou à versão 1.0. Podemos refinar a superfície da API e continuar aprimorando a DX, mas a integração já está pronta para apps reais hoje. A Transloadit e o Uppy são blocos de construção confiáveis, com histórico comprovado e apoiados por grandes comunidades. Se você está desenvolvendo com Convex e precisa de processamento, experimente e conte para nós o que gostaria de ver em seguida.
