← Volver a todos los proyectos

Proyecto para cliente3 min de lectura

Traffic Connect: orquestación de contenido con IA para sitios WordPress

Traffic Connect: orquestación de contenido con IA para sitios WordPress

Tecnologías

LaravelPHPWordPressAI

Servicios

  • →Diseño de arquitectura e infraestructura
  • →Desarrollo del orquestador en Laravel
  • →Desarrollo de un plugin para WordPress

Entregables

  • ✓Panel de administración para contenido con IA en muchos sitios
  • ✓Plugin para WordPress que gestiona el contenido por API
  • ✓Colas de tareas por sitio con el patrón Transactional Outbox
  • ✓Manual de instalación detallado con los principios de funcionamiento

Desafío

Había que generar artículos con IA para muchos sitios a la vez y controlar todo el proceso desde un solo lugar. Todos los sitios funcionaban con WordPress, así que el sistema tenía que crear y gestionar contenido en cada uno de forma remota: artículos, entradas y lo demás.

Una demo en dos días

Literalmente uno o dos días después de estudiar los requisitos y la infraestructura que ya tenía el cliente, armé una versión demo del panel para acordarla con él.

Gracias a la IA y a saber usarla de forma profesional, pude crear una versión temprana en tiempo récord, conseguir la aprobación del cliente y seguir con el trabajo. Así teníamos la certeza de que era justo lo que el cliente esperaba y necesitaba.

Qué construí

Traffic Connect es un panel de administración a medida para orquestar y ejecutar contenido. Un recurso nuevo se agrega como un sitio WordPress con un plugin propio instalado. El panel se comunica con ese plugin por API y gestiona el contenido del sitio: crea artículos nuevos, entradas, etcétera.

En el video se muestra cómo funciona el formulario para agregar sitios en masa al panel de administración y qué se puede hacer con él.

Arquitectura

Diseñé la arquitectura y armé toda la infraestructura. Siguiendo las buenas prácticas, el sistema usa el patrón Transactional Outbox. Cada sitio funciona como un cliente liviano con su propia base de datos, donde registra las respuestas salientes y entrantes.

Así cada sitio tiene su propia cola de tareas. Como cliente liviano, el sitio mismo le pide al orquestador las tareas nuevas de esa cola, y el panel no tiene que repartir el trabajo sitio por sitio.

Así se veía la estructura de la base de datos del lado del orquestador.

Esquema de la base de datos del orquestador: la tabla Site vinculada con Command, ContentItem, PageBinding, CssBundle, CssSettings y ApiKey, además de las tablas OutboxEvent e InboxMessage
Estructura de la base de datos del orquestador

En este video se muestra cómo funciona la cola de comandos: cómo los procesa cada cliente, cómo se asignan, cómo se registran los errores y más.

Integración con Rewriter

Este video muestra la integración del panel de administración ya terminado con otra solución de la misma empresa para generar muchos sitios, el panel Rewriter. Su función principal es generar textos optimizados para SEO que después se publican en los sitios.

Parte de mi tarea fue crear un mecanismo rápido que pasara los textos generados ahí a la plataforma de publicación. Desde esa plataforma, los textos se podían distribuir después al resto de los sitios.

Servidores e infraestructura de pruebas

También estuve a cargo de configurar los servidores y la infraestructura de pruebas, y así le saqué esa tarea al equipo principal y le alivié la carga.

Siguiendo las buenas prácticas de seguridad, el trabajo con un servidor empieza por desactivar los roles que no hacen falta. Después vienen la seguridad básica, la configuración de seguridad y la instalación del software que ayuda a prevenir posibles amenazas.

Stack

El orquestador es una aplicación Laravel hecha a medida, y los sitios corren WordPress con mi plugin.

Empaquetado del plugin

Para el cliente armé scripts específicos que empaquetan el plugin en un archivo zip. Ese plugin había que instalarlo en cada sitio que después se iba a administrar desde el panel.

Resultado

Construí el sistema desde cero en más o menos un mes. Quedó rápido y estable. Sin embargo, poco después el proyecto se congeló.

Como resultado del trabajo, el cliente recibió un manual detallado para instalar la solución, con una descripción de los principios de su funcionamiento. Abajo está la copia en ruso, sin secretos ni enlaces.

Traffic Connect, manual de instalación del plugin (en ruso)Descargar PDF
Cargando…
🔒 Cómo terminó

Esta parte está cerrada. Ingresá el código para leerla.

Disponible para colaboración por contrato

Estoy disponible para colaborar por contrato. Si tiene una idea de proyecto interesante, reserve una llamada por Calendly.

Agenda una llamada de 30 min