Python → n8n → PHP
Integración de bot Python con dashboard PHP Vanilla
Social Bot Scheduler es una matriz tecnológica: en cada caso un emisor publica un post, n8n hace de puente y un receptor escrito en otro lenguaje lo persiste en un motor de datos distinto. Mismo JSON, mismos guardrails, 20 combinaciones que se levantan una a una con un solo comando.
El emisor no sabe nada del receptor: publica contra un webhook de n8n y ahí termina su responsabilidad. El workflow aplica los guardrails y entrega al receptor, que persiste en su propio motor. Cambiar de lenguaje o de base de datos no cambia el contrato.
Tres cosas que suelen quedarse en la teoría y aquí se ejecutan.
18 lenguajes y frameworks conviviendo con 18 motores bajo el mismo contrato JSON: relacional, documental, clave-valor, columnar, grafo, vectorial, series temporales, bitemporal y streaming.
No es un «hola mundo» con webhook: cada caso comparte las mismas defensas.
Todo escucha en 127.0.0.1, sin secretos en el repositorio, imágenes fijadas
por versión y escaneo de contenedor y dependencias en cada push.
Cada tarjeta es una carpeta autocontenida en cases/ con emisor, receptor,
workflow de n8n y su documentación. El puerto sale siempre de la fórmula
8080 + id, así que nunca colisionan.
Integración de bot Python con dashboard PHP Vanilla
Integración de bot Python con dashboard escrito en Go (Gin)
Integracion de emisor en Go con destino Node.js
Integración de Node.js con backend Python FastAPI
Integracion de comando Laravel con frontend React
Integración de emisor Go con framework Symfony
Integración de alta performance Rust con Ruby Sinatra
Integración de .NET con microservicio Flask
Integracion de bot Python con Integration Gateway en FastAPI, autenticacion por X-API-Key y persistencia DuckDB
Cobertura JVM: emisor Spring Boot (MVC bloqueante) y receptor Ktor (no-bloqueante con corrutinas) persistiendo en PostgreSQL.
Modelo de actores BEAM: emisor Elixir y receptor Erlang/Cowboy con persistencia Mnesia embebida en el runtime.
Pipeline RAG: el receptor FastAPI embebe cada post (vector 256d) en pgvector y expone busqueda semantica por similitud coseno (/search).
Event streaming con Kafka (KRaft) + sink columnar ClickHouse. El receiver Go produce en /webhook y una goroutine consumer proyecta los eventos en ClickHouse (CQRS).
Caso BaaS: nucleo de Supabase (Postgres + PostgREST + Row Level Security). Next.js emite; el receiver persiste via PostgREST gobernado por politicas RLS del rol web_anon.
Protocolo binario gRPC (servidor Go + cliente Python) sobre CockroachDB. El receiver Python traduce el contrato REST del laboratorio a llamadas gRPC unary contra el servidor Go.
Emisor Apollo GraphQL (schema-first) que reenvia posts vencidos a n8n; un micro-receiver traduce REST a mutaciones/queries GraphQL sobre Hasura + TimescaleDB (database-first).
Patron pub/sub IoT: emisor Rust publica en Mosquitto, un subscriber Node persiste en InfluxDB; el receiver REST reinyecta la entrega de n8n en el mismo bus MQTT.
Lenguajes emergentes: emisor Zig (sin GC) y receptor Crystal/Kemal que persiste nodos (:Post) en el grafo Neo4j via su API HTTP transaccional (Cypher).
Paradigma funcional puro multi-runtime: emisor F# (.NET) y receptor Clojure/Ring con XTDB bitemporal embebido in-process (sin contenedor de BD).
Stack mobile-backend server-side: emisor Swift (Linux) y receptor Dart/Shelf que persiste en el emulador de Firestore (Firebase Emulator Suite) via REST.
Diseñado para ejecutarse solo en local. El modo por defecto no expone nada fuera de localhost.
cp .env.example .env
docker compose up -dLevanta n8n en :5678 y el Master Dashboard en :8080.
docker compose --profile case12 up -d
curl http://localhost:8092/healthCada perfil arrastra su receptor y su motor de datos, y nada más.
Todo el material del repositorio, publicado como páginas HTML navegables.
Requisitos, primer arranque y verificación.
Cómo se conectan emisor, n8n, receptor y motor.
El JSON que viaja y las respuestas de cada receptor.
Idempotencia, reintentos, circuit breaker y DLQ.
Aislamiento en localhost y política de puertos.
Qué mirar cuando un caso no levanta.