Esta herramienta convierte tu base de datos SQL en un backend al instante (Directus)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Bien, ¿cuántas veces has reconstruido exactamente el mismo backend?
00:00:04CRUD, autenticación, panel de administración, carga de archivos.
00:00:07Muchas veces, lo que parece construcción es simplemente reconstrucción.
00:00:10¿Y si pudieras apuntar una herramienta a tu base de datos SQL y obtener un backend completo?
00:00:15Eso es Directus, una API en tiempo real y un panel de control para gestionar contenido SQL.
00:00:21Muchos desarrolladores se están dando cuenta de que lo han estado haciendo de la forma difícil.
00:00:25Permíteme mostrarte cómo funciona todo esto en solo unos minutos.
00:00:30[MÚSICA]
00:00:33El mayor problema del backend para la mayoría no es la complejidad, es la repetición.
00:00:38No resolvemos problemas nuevos, estamos conectando el mismo código una y otra vez,
00:00:42y eso simplemente consume nuestro tiempo.
00:00:44Directus elimina todo eso.
00:00:46Se conecta directamente a tu base de datos Postgres, MySQL u Oracle.
00:00:50Sin migraciones, sin reconstruir todo tu esquema en otro lugar.
00:00:53Obtenemos instantáneamente APIs REST y GraphQL,
00:00:57permisos a nivel de campo, suscripciones en tiempo real,
00:01:01flujos y automatizaciones, manejo de archivos y una interfaz limpia.
00:01:05Ahora, lo mejor es que tu base de datos permanece intacta.
00:01:08No es una capa duplicada.
00:01:10Eso importa mucho más de lo que parece.
00:01:12Ahora, déjame mostrarte.
00:01:13Si te gustan las herramientas de código abierto y los consejos para programar rápido,
00:01:17asegúrate de suscribirte.
00:01:18Tenemos videos nuevos constantemente.
00:01:20Bien, empezando desde cero absoluto con una instalación limpia de Directus,
00:01:24sin tablas en la base de datos, nada precargado.
00:01:27Solo un lienzo en blanco después de haber creado mi cuenta aquí.
00:01:32Y en lugar de conectarme a algo que ya existe,
00:01:34voy a crear una app de gestión de pedidos en solo un minuto.
00:01:39Primero, creo una colección y la llamaré "Orders", así de simple.
00:01:45Eso es todo.
00:01:45Ahora la app tiene un lugar para guardar datos, y podemos añadir más detalles.
00:01:51Voy a seleccionar y sobrescribir los que necesitamos aquí,
00:01:54como el cliente, la fecha y todas esas cosas.
00:01:58Luego puedo añadir manualmente cualquier otro campo
00:02:00que creamos que necesitaremos para algo como esto.
00:02:03Podría poner nombre del cliente, email, producto como un desplegable,
00:02:08donde puedo añadir una clave y un valor.
00:02:10Puedo hacer lo mismo para el monto y el estado.
00:02:13Cada campo añade más detalle sobre los datos que vamos a almacenar.
00:02:16Y fíjate en lo que falta aquí.
00:02:18Bueno, es el SQL.
00:02:19No hay SQL.
00:02:20No hay migraciones.
00:02:22No hay que cambiar de pestaña para escribir un archivo de esquema.
00:02:25Se guarda aquí mismo en Directus inmediatamente.
00:02:28Ahora puedo ir a la vista de contenido y empezar a añadir pedidos.
00:02:32Añadiré el primer pedido aquí, con una cuenta de prueba.
00:02:35Añadiré otro más.
00:02:36Y luego podemos añadir un tercero, ¿verdad?
00:02:39Ya tenemos tres pedidos diferentes en el sistema.
00:02:42Ahora tengo datos reales con los que podríamos empezar a jugar.
00:02:45Pero ahora mismo está todo abierto, lo que significa que cualquiera podría hacer de todo.
00:02:49Así que vamos a arreglar eso.
00:02:50¿Cómo lo arreglamos?
00:02:51Bueno, con permisos.
00:02:53Así que voy al rol público.
00:02:55Voy a buscar la colección de pedidos que creamos.
00:02:58Podemos activar la lectura.
00:03:00Y me aseguraré de que todo lo demás esté desactivado.
00:03:03Crear, actualizar, eliminar.
00:03:05Todo eso fuera.
00:03:06Ahora es más controlado y seguro para lo que queremos.
00:03:10Bien, aquí es donde se pone realmente interesante
00:03:12porque podemos automatizar y crear flujos alrededor de esto.
00:03:16Voy a ir por aquí y crear un nuevo flujo.
00:03:19Le pondré un nombre muy sencillo, ¿qué es esto?
00:03:22Notificar sobre un nuevo pedido.
00:03:24Nombre simple, cumple su propósito.
00:03:26Y seleccionaré todo de los ítems en la colección que llamamos "orders".
00:03:31Ahora puedo construir un disparador.
00:03:33Y para el disparador, me engancho a cuando se crea un nuevo ítem,
00:03:37específicamente en esa colección de pedidos.
00:03:39Así que cada vez que entre un nuevo pedido, algo va a suceder.
00:03:43Voy a añadir una operación.
00:03:44Vamos a enviar un correo electrónico.
00:03:46Escribiré un asunto.
00:03:47Añadiré mi correo a esto.
00:03:49Y en el cuerpo, voy a extraer los datos del pedido.
00:03:52Así que cuando entre un pedido, enviará esos datos por correo.
00:03:56Ahora puedo guardar esta operación, guardamos el flujo y listo.
00:04:00Bien, ahora mira esto.
00:04:02Voy a volver.
00:04:03En mi archivo Docker Compose inicial, añadí Mailpit para probar esto.
00:04:07Es una forma súper sencilla de probar la función de envío de correos.
00:04:11Cuando hago un pedido más, igual que antes, nada sofisticado,
00:04:14pero esta vez algo es diferente.
00:04:16Esto dispara el flujo automáticamente y sale un correo con los detalles.
00:04:20No hay lógica de backend aquí.
00:04:22No hay que cablear cosas entre sí.
00:04:25Esto empezó como nada: sin tablas, sin backend, sin estructura real.
00:04:30Y en solo unos minutos, es una app funcional con permisos de datos y,
00:04:33sí, automatización, que era la parte genial.
00:04:35Y esto es lo que hace que Directus se sienta muy bien.
00:04:38Es como combinar lógica visual de base de datos con algo como N8N o Zapier,
00:04:43pero en realidad no compite con ellos.
00:04:45¿Qué es Directus exactamente?
00:04:47Es una plataforma de datos de código abierto que se asienta sobre tu base de datos SQL.
00:04:52No se sienta al lado.
00:04:53Se asienta encima.
00:04:55Ese modelo de "primero la base de datos" es la clave, ¿verdad?
00:04:58Entonces, ¿qué significa esto realmente?
00:04:59Bueno, significa varias cosas para nosotros.
00:05:01Significa que no hay dependencia forzada o "lock-in".
00:05:03El SQL completo sigue ahí y funciona con sistemas heredados.
00:05:07Por eso se usa para backends de SaaS, herramientas internas, CMS headless,
00:05:13o agentes de IA con datos controlados.
00:05:15Si intentas modernizar un sistema viejo sin reescribirlo todo.
00:05:19Tu base de datos es el motor real aquí.
00:05:21Directus solo le da un panel de control y mandos.
00:05:24A primera vista, si has usado Strapi, Payload o Hasura,
00:05:28Directus se verá similar, pero resuelven problemas distintos.
00:05:33Strapi y Payload se centran primero en el código.
00:05:36Defines los esquemas en código y luego reconstruyes tu estructura allí.
00:05:40Sí, eso funciona, pero es trabajo extra.
00:05:42Directus cambia las cosas con algunos ajustes.
00:05:45Tu esquema ya existe, así que en lugar de recrearlo, solo lo conectas.
00:05:50Un flujo de trabajo completamente distinto.
00:05:52Hasura es genial para GraphQL rápido, pero Directus va más allá.
00:05:58Obtienes las APIs.
00:05:59Sí, las tenemos, pero también espacio de administración, permisos, archivos y automatización.
00:06:05Y aquí está lo que más le importa a los devs: los permisos.
00:06:10No hablo solo de reglas simples.
00:06:12Hablamos de control real sin necesidad de plugins.
00:06:15Si tu problema es "necesito un backend", tienes opciones.
00:06:18Si tu problema es "no quiero reconstruir mi backend otra vez", esto es diferente.
00:06:23Obviamente, ninguna herramienta es perfecta, pero esta es muy buena.
00:06:26¿Qué me pareció súper genial?
00:06:28Bueno, los permisos simplemente funcionan.
00:06:29Eso es fantástico.
00:06:30Los flujos eliminan mucho del trabajo monótono que hacemos.
00:06:32La interfaz es muy limpia y rápida, y es fácil de desplegar con Docker.
00:06:37Además de todo eso, escala realmente bien.
00:06:39Pero con todo lo bueno, por supuesto, siempre hay desventajas.
00:06:43Las concesiones serían que los flujos avanzados pueden llevar tiempo.
00:06:46Si has usado N8N o algo parecido, ya lo entiendes.
00:06:49La documentación no siempre está completa.
00:06:51Y si lo alojas tú mismo, debes gestionar la infraestructura.
00:06:54Además, las configuraciones complejas pueden volverse liosas localmente.
00:06:57Directus elimina un tipo muy específico de trabajo repetitivo de backend.
00:07:00Entonces, ¿vale la pena Directus?
00:07:02Para muchos de nosotros, probablemente sí.
00:07:03Depende de lo que hagamos, especialmente si ya tienes datos SQL, o si estás
00:07:07cansado de reconstruir estos backends básicos una y otra vez; entonces sí,
00:07:11esto aporta un valor real.
00:07:13Ahorra tiempo, reduce el mantenimiento y mantienes el control de los datos.
00:07:17Nuevamente, es de código abierto.
00:07:19Nosotros controlamos eso.
00:07:20¿Cuándo no usarías esto?
00:07:22Si estás en un monorepo gigante con un TypeScript estricto, probablemente no.
00:07:26Si no tienes una base de datos existente, probablemente tampoco.
00:07:29Y si quieres todo definido en código desde el principio, algo como Payload
00:07:33tendría mucho más sentido.
00:07:34Pero si estás pensando ahora mismo: "¿esto puede sentarse sobre mi base de datos?"
00:07:38Sí, puede.
00:07:39Así que podría valer la pena probarlo.
00:07:41Si te gustan las herramientas de código abierto y consejos como este, suscríbete al
00:07:45canal de Better Stack.
00:07:46Nos vemos en otro video.

Key Takeaway

Directus transforma bases de datos SQL existentes en un backend completo con APIs y panel de administración instantáneos, eliminando la reconstrucción repetitiva de funciones CRUD y autenticación.

Highlights

Directus se conecta directamente a bases de datos Postgres, MySQL u Oracle sin necesidad de migraciones o reconstrucción de esquemas.

La herramienta genera instantáneamente APIs REST y GraphQL junto con suscripciones en tiempo real y permisos a nivel de campo.

El sistema permite crear una aplicación funcional de gestión de pedidos con automatizaciones de correo electrónico en menos de cinco minutos.

A diferencia de Strapi o Payload, Directus no requiere definir esquemas en código porque utiliza la base de datos existente como fuente de verdad.

El control de acceso se gestiona mediante una interfaz visual que permite activar o desactivar permisos de lectura, creación, actualización y eliminación.

La arquitectura de la plataforma evita la dependencia forzada al mantener el SQL intacto y compatible con sistemas heredados.

Timeline

Eliminación de la redundancia en el desarrollo de backend

  • La mayor parte del trabajo de backend actual consiste en la reconstrucción repetitiva de funciones básicas.
  • Directus actúa como una capa de control que se sitúa sobre los datos sin duplicarlos ni alterarlos.
  • El acceso a los datos es inmediato a través de APIs REST y GraphQL desde el momento de la conexión.

El desarrollo tradicional consume tiempo excesivo en tareas como la creación de paneles de administración y gestión de archivos. Al conectar esta herramienta a un motor SQL, se obtienen flujos de trabajo y automatizaciones sin procesos de migración. La base de datos permanece como el motor principal, funcionando de forma nativa con el nuevo panel de control.

Creación y configuración de colecciones de datos

  • Las colecciones de datos y campos se definen visualmente sin escribir código SQL o archivos de esquema.
  • La interfaz permite añadir campos específicos como nombres de clientes, correos electrónicos y menús desplegables de productos.
  • Los datos introducidos en el panel se guardan de forma inmediata en la base de datos subyacente.

Una aplicación de gestión de pedidos se puede montar desde cero en un minuto configurando una colección llamada 'Orders'. El proceso sustituye la escritura manual de migraciones por una selección de campos y tipos de datos. Una vez configurada la estructura, la vista de contenido permite la inserción de registros reales para pruebas inmediatas.

Gestión de seguridad y flujos de automatización

  • El sistema de permisos permite restringir el acceso público a operaciones específicas de lectura.
  • Los flujos de trabajo automatizan tareas como el envío de correos electrónicos tras la creación de nuevos ítems.
  • La integración con herramientas como Mailpit facilita la prueba de disparadores y lógica de negocio localmente.

La seguridad se establece configurando roles que determinan quién puede crear, actualizar o eliminar información en cada colección. Se pueden construir disparadores que reaccionan a eventos de la base de datos, extrayendo información del registro recién creado para enviarla por correo. Este método combina la lógica visual de herramientas como Zapier con la gestión directa de datos SQL.

Análisis comparativo y casos de uso ideales

  • El modelo de base de datos primero diferencia a esta herramienta de competidores centrados en el código.
  • La ausencia de dependencia forzada permite que el SQL siga funcionando con sistemas antiguos o externos.
  • Los CMS headless y las herramientas internas son los casos de uso más frecuentes para esta plataforma.

Mientras que Strapi y Payload exigen definir la estructura en el código antes de crear la base de datos, aquí el esquema existente manda. Esto resulta fundamental para modernizar sistemas heredados sin realizar una reescritura total. La plataforma proporciona un espacio de administración y gestión de archivos que va más allá de lo que ofrecen herramientas puras de GraphQL como Hasura.

Ventajas técnicas y limitaciones del sistema

  • La escalabilidad y la facilidad de despliegue mediante Docker son beneficios clave para entornos productivos.
  • Las configuraciones locales muy complejas y la documentación incompleta representan los principales obstáculos.
  • Payload es una mejor alternativa para proyectos que requieren una definición estricta basada exclusivamente en código.

El valor real de la herramienta reside en el ahorro de tiempo y la reducción del mantenimiento en backends básicos. No se recomienda su uso en arquitecturas de monorepos gigantes con requisitos de TypeScript extremadamente estrictos o donde no exista una base de datos previa. Sin embargo, su naturaleza de código abierto garantiza que el desarrollador mantenga siempre el control total sobre su infraestructura.

Community Posts

View all posts