Convex + Transloadit: subidas y procesamiento
Acabamos de publicar @transloadit/convex en npm, una nueva integración de Convex
para Transloadit que ofrece una experiencia nativa para las subidas, el procesamiento de archivos y los webhooks. Incluye una
aplicación de demostración lista para ejecutar (una galería de bodas), documentación sobre cómo combinarla con el
sistema de subida de archivos Uppy y funciones auxiliares sencillas del lado del servidor para mantener los secretos fuera del cliente
y evitar la manipulación de solicitudes.
Qué obtienes
- Una configuración sencilla de Uppy +
@uppy/transloaditpara realizar subidas desde el navegador y enviarlas a Transloadit, con instrucciones de encoding opcionales. - Un módulo de Convex que puede aceptar, firmar y verificar cargas útiles, además de guardar referencias a los resultados.
- Una galería de demostración desarrollada con Next.js que muestra este flujo de principio a fin.
- Un conjunto de pruebas de Playwright que garantiza que todo siga funcionando.
En resumen, obtienes subidas de archivos rápidas y reanudables (de hasta 200 GB), encoding de video, reconocimiento mediante IA y una interfaz de usuario que se actualiza en tiempo real.
Demostración en vivo
¡Prueba la aplicación de demostración!
Puedes encontrar el código fuente y la documentación aquí.
Cómo funciona
- El usuario arrastra archivos a Uppy.
- Uppy crea una Assembly y envía los archivos y las Instructions a Transloadit; Convex firma esta solicitud con un secreto que mantiene en el back-end para evitar su manipulación.
- El usuario termina de subir los archivos y puede salir de la página.
- Transloadit procesa los archivos, almacena los resultados en CloudFlare R2 de acuerdo con las Instructions y llama al webhook de Convex cuando los resultados están listos.
- Convex almacena las referencias en su base de datos y la galería se actualiza en tiempo real.
Inicio rápido
Instala el componente de Convex junto con nuestro sistema de subida para navegadores web, Uppy:
npm i @transloadit/convex @uppy/core @uppy/transloadit
Luego, sigue el README para configurar las acciones de Convex, el webhook y la configuración de Uppy.
Si quieres una aplicación de referencia ejecutable, clona el repositorio y ejecuta la demostración localmente.
¿Por qué usar este enfoque?
Convex es excelente para gestionar datos en tiempo real y acciones seguras. Transloadit se encarga del trabajo pesado, como la transcodificación, las operaciones con imágenes y el almacenamiento.
Al combinarlos, puedes:
- mantener los secretos en las acciones de Convex;
- firmar solicitudes de forma segura;
- escalar las subidas con la velocidad y confiabilidad que ofrece tus;
- gestionar webhooks sin servidores personalizados;
- guardar los resultados en tu base de datos de Convex y notificar a los consumidores; y
- ¡lanzar tu aplicación rápidamente!
¿Qué sigue?
La integración de Convex para Transloadit todavía no ha alcanzado la versión 1.0. Es posible que perfeccionemos la superficie de la API y sigamos mejorando la experiencia de desarrollo, pero la integración ya está lista para aplicaciones reales. Transloadit y Uppy son componentes básicos confiables con una trayectoria comprobada y el respaldo de grandes comunidades. Si estás desarrollando con Convex y necesitas procesamiento, prueba la integración y cuéntanos qué te gustaría ver a continuación.
