PROYECTO FINAL DEL MÁSTER EN DESARROLLO DE IA – BIG SCHOOL
2025–2026
Clean Marvel Album
01 / 30
El proyecto en números
103K+
Líneas de código
167
Archivos de test (PHPUnit + E2E)
82.81%
Code coverage (global)
a 19 Feb 2026
4
Capas de arquitectura
3
Microservicios
CI/CD
Deploy automático
02 / 30
¿Qué es Clean Marvel Album?
  • Aplicación web real desplegada en producción
  • Gestión de álbumes y héroes del universo Marvel
  • Desarrollada en PHP 8.2 con arquitectura limpia
  • Integración de IA generativa para crear cómics
  • Base de referencia para futuros proyectos profesionales
iamasterbigschool.contenido.creawebes.com → 03 / 30
Objetivo del proyecto
Objetivos técnicos
  • Aplicar Clean Architecture en un proyecto real
  • Separar dominio, aplicación, infraestructura y presentación
  • Integrar IA de forma desacoplada
Objetivos personales
  • Servir como base sólida para proyectos futuros
  • Demostrar madurez técnica adquirida
  • Documentar buenas prácticas de desarrollo
04 / 30
Stack tecnológico
  • 🐘 PHP 8.2 · Backend principal
  • 🏛️ Clean Architecture · Estructura
  • 💾 MySQL (Prod) / JSON (Local) · Repository Pattern dual
  • 🐳 Docker · Contenerización total
  • 🐍 Python · Microservicio de IA
  • 🤖 OpenAI API · Generación de cómics
  • 🧠 RAG Service · Búsqueda semántica
  • 📦 GitHub Actions · CI/CD automático
05 / 30
Clean Architecture
  • Domain · Entidades puras, sin dependencias
  • Application · Casos de uso del negocio
  • Infrastructure · Repositorios, APIs externas
  • Dependency Inversion (DIP) · Abstracción de IA y Filesystem
  • Presentation · Vistas, Skinny Controllers, JS
┌─────────────────────────────────────┐ │ PRESENTATION │ │ Views · Controllers · Assets │ ├─────────────────────────────────────┤ │ APPLICATION │ │ UseCases · DTOs · Services │ ├─────────────────────────────────────┤ │ DOMAIN │ │ Entities · Events · Repos │ ├─────────────────────────────────────┤ │ INFRASTRUCTURE │ │ MySQL · JSON · OpenAI · RAG │ └─────────────────────────────────────┘
06 / 30
Estrategia de Mirroring (Staging)
Concepto de "Espejo"
  • Paridad objetivo: Entornos Local, Staging y Producción con configuración homologada y validación en CI/CD.
  • Código Agnóstico: El software es ciego a la ruta; se adapta vía .env.
  • Aislamiento: Triada de microservicios propia para cada entorno.
Beneficios TFM
  • Merge Seguro: El código validado en Staging sube a Main sin cambios manuales.
  • Observabilidad Central: Métricas de IA (tokens) registradas en el storage principal.
  • CI/CD Real: Deploy automático a subdominios de staging en cada push.
🌐 staging.contenido.creawebes.com → Entorno Staging en vivo 07 / 30
Ecosistema de Microservicios
Arquitectura Distribuida
  • 🐍 Heatmap Service · Analítica en Python (GCP). [Servicio externo · solo el cliente PHP está en este repo]
  • 🤖 OpenAI Service · Proxy seguro a la API. [44 tests, 90 assertions]
  • 🧠 RAG Service · Cerebro del Agente IA. [13 archivos de test]
Ventajas
  • Escalabilidad independiente.
  • Aislamiento de errores.
  • Mix de tecnologías (PHP + Python).
08 / 30
Arquitectura RAG Híbrida
1. RAG Local (Héroes)
  • Propósito: Comparación y Creación de Cómics.
  • Datos: Base local heroes.json.
  • Motor: Similitud Coseno + PHP puro.
  • Ventaja: Latencia baja en local (depende del entorno y la carga).
2. RAG Enterprise (Agentia)
  • Propósito: Consulta técnica y documentación.
  • Datos: Pinecone Cloud DB Vectorial.
  • Motor: OpenAI Embeddings (1536 dim).
  • Ventaja: Escalabilidad cloud-native sin dependencia de disco local.

"Diseño inteligente: alta velocidad para datos locales y alta potencia para conocimiento global."

09 / 30
Evolución: Del JSON al Vector Cloud
Resiliencia y Fallback Automático
  • Agentia (Cloud First): Prioriza la precisión de Pinecone.
  • Failover Inteligente: Si Pinecone falla, conmuta al instante a la Knowledge Base local (JSON).
  • Continuidad: Se prioriza respuesta degradada con fallback local antes de devolver error.
Observabilidad IA
  • Trazabilidad total de cada consulta (Trace ID).
  • Registro de consumo de tokens unificado.
  • Métricas de latencia comparativas entre local v/s nube.
10 / 30
APIs Externas Utilizadas
  • 🤖 OpenAI API · Generación desacoplada vía Interfaz
  • 🧠 Pinecone Cloud · Base de datos vectorial RAG
  • 📹 YouTube Data API v3 · Últimos videos de Marvel
  • 🔊 ElevenLabs TTS · Conversión texto a voz
  • PageSpeed Insights · Métricas de performance
  • 🔗 GitHub API · Actividad del repositorio
  • 🔍 Sentry · Monitoreo de errores en producción
  • 📊 SonarCloud · Análisis de calidad de código
11 / 30
Automatización con n8n
  • n8n · Plataforma de automatización de workflows (auto-hospedable)
  • Workflow activo · Sincronización diaria de videos de YouTube
  • Endpoint seguro · /api/actualizar-video-marvel.php con Bearer token
  • Arquitectura · Cron → YouTube API → Validación → Backend PHP → JSON
  • Desacoplamiento · El core de la aplicación no conoce YouTube
12 / 30
Testing, Seguridad y Despliegue
  • 🧪 PHPUnit · 159 archivos de test, 88.93% coverage (src/)
  • 📊 SonarCloud · Análisis de calidad
  • 🤖 CodeRabbit · Revisión por IA
  • 🎭 Playwright · Tests E2E
  • Pa11y · Auditoría de accesibilidad
  • 🔐 CSRF tokens en todos los formularios
  • 🛡️ Quality Gates · Filtro pre-producción
  • 🚀 GitHub Actions · Deploy automático
  • ☸️ Kubernetes · Manifiestos de demostración [documentación técnica, no desplegados en cluster real]
⚠️ Nota: Seguridad en Modo Demo

Para fines de guía técnica y transparencia, ciertos endpoints (como reset-demo.php o APIs de métricas) son públicos por diseño. En un entorno productivo real, estos estarían protegidos por capas de Auth y VPN.

13 / 30
Funcionalidades principales
  • 📚 CRUD completo de álbumes y héroes con actividad
  • 🎬 Generador de cómics con IA
  • 🧠 Comparador RAG · Analiza y compara héroes
  • 🔊 Text-to-Speech · Escucha los cómics generados
  • 🔄 Restaurar Demo · Reset de datos con un clic
14 / 30
Flujo de Ingeniería Profesional
Criterio de Rigor Técnico
  • GitFlow: Ramas Feature para cada nueva mejora.
  • Pull Requests: Revisión de código colaborativa antes del merge.
  • Auto-Release: Generación automática de versiones basada en hitos (release branches).
  • Despliegue Automatizado: Un solo Merge actualiza todo el sistema (3 servicios).
Seguridad en el Cambio
  • Red de Seguridad: Si falla en Staging, no llega a Producción.
  • Trazabilidad: Historial completo de quién y qué subió a la web oficial.
  • Escalabilidad: Preparado para equipos de múltiples desarrolladores.
🏆
Ciclo de Vida Cerrado
Estrategia de Release Management profesional. Despliegue continuo en entornos aislados (Staging y Producción) con etiquetas semánticas (Git tags) y trazabilidad vía historial de commits.
15 / 30
🛡️ Filtro de Calidad Quirúrgico
Garantía de Estabilidad Pre-Deploy

Implementación de una Quality Gate obligatoria antes de cada subida a producción:

  • 🕵️ Surgical Smoke Tests: Valida APIs vitales en milisegundos.
  • 🤖 Verificación Semántica IA: Prueba real del Agente RAG.
  • 📦 Ciclo CRUD Completo: Integridad total de la persistencia.
  • 🛑 Auto-Abort: Si un microservicio falla, el deploy se bloquea.
"Si los tests no pasan, el código no sube a producción."
🚀 Ver Deploy Completo CI/CD
16 / 30
👁️ Monitoreo Continuo (24/7 Watchdog)
Vigilancia Post-Despliegue

La seguridad no termina en el deploy. Monitoreo sintético recurrente:

  • 🕒 Revisión cada 3 días: Configurado en Modo Demo para optimización de recursos.
  • 📧 Alertas Proactivas: Notificación inmediata si OpenAI cae o el hosting se satura.
  • 🔍 Observabilidad Real: Verifica la salud de los 3 microservicios en vivo.
  • 🤖 Sentinel Mode: Un robot patrulla la web para que tú puedas dormir tranquilo.
"Monitoreo automatizado: si un servicio falla, lo sabemos en el siguiente ciclo de verificación."
17 / 30
🚀 Sentinel Deploy: Sistema de Deploy con Quality Gate
Operations Dashboard & Incremental Sync

Infraestructura avanzada de despliegue mediante un centro de operaciones visual:

  • 🖥️ Operación CLI: Scripts de despliegue/rollback con trazabilidad por entorno.
  • 🧪 Quality Gate: Tests unitarios/integración obligatorios antes del despliegue.
  • Smart Sync: Sincronización incremental quirúrgica (v3.9.5).
  • Rollback Visual: Recuperación de desastres instantánea mediante un clic.
$ [Sentinel] Executing PHPUnit... OK (42 tests, 156 assertions)
$ [Sentinel] Syncing logic... Transfer Complete (v4.0.0) 🛡️
Ver Demostración Sentinel
18 / 30
Documentación técnica
  • 📄 README.md · Guía de inicio rápido
  • 🏗️ ARCHITECTURE.md · Capas y Diagramas UML
  • 📜 /docs/architecture/ · 20 Registros ADR
  • 🔐 SECURITY.md · Políticas y prácticas
  • 📚 /docs/guides/ · Guías detalladas
  • 🤖 /docs/marvel-agent/ · Documentación de IA
  • 🧪 KPIs & Coverage · Métricas de calidad
  • 🌐 README web · Versión interactiva
  • 🔗 API Docs · Contrato OpenAPI / Swagger
19 / 30
Proyecto Vivo y Activo
  • 📊 Cargando... commits en el repositorio
  • 🔄 Desarrollo continuo · Última actualización: --
  • 📦 -- versiones publicadas
  • CI/CD automático en cada commit
  • 🚀 Deploy automático a producción
  • -- stars en GitHub
  • 🔀 -- forks del proyecto
  • 📁 -- repos en mi perfil
  • 💡 Demuestra que es un proyecto real
11 Nov 2025 Primer Commit (Origen)
22 Nov 2025 Versión v1.0.0
25 Ene 2026 Estado Actual (v1.3.2)
20 / 30
Ecosistema e Infraestructura

El proyecto no es solo una aplicación aislada, sino un sistema orquestado que interactúa con múltiples servicios externos para garantizar datos reales, inteligencia y observabilidad.

Ecosistema Integrado · Verificación en Tiempo Real
🟢 Online (verificado) · 🔵 Integrada (sin CORS) · 🔴 No disponible
GitHub API api.github.com
App Producción creawebes.com
App Staging staging.creawebes.com
OpenAI API api.openai.com
Pinecone Cloud rag-service/enterprise
n8n Automate workflow.n8n.io
Sentry Logs sentry.io/api
SonarCloud sonarcloud.io
CodeRabbit coderabbit.ai/reviews
CI/CD Pipeline gh-actions/deploy
Los indicadores verdes realizan peticiones fetch() desde el navegador cuando CORS lo permite. Los azules se validan por integración y CI/CD.
21 / 30
🔐 Seguridad Inter-Servicios: Firma HMAC-SHA256
Interoperabilidad Protegida y Cifrada

Protocolo de verificación de firma para la comunicación segura entre microservicios:

  • 🔑 Firma HMAC-SHA256: Cada petición viaja firmada con una clave maestra sincronizada.
  • ⏱️ Timestamping (tolerancia 5 min): Protección contra ataques de Replay con ventana temporal configurable.
  • 🛡️ Sincronización CI/CD: La clave se inyecta dinámicamente en el ciclo de testeo y despliegue.
  • 🚫 Rechazo Automático: Cualquier petición sin firma válida es bloqueada instantáneamente (401 Unauthorized).
  • 🔍 Distributed Tracing: Cada petición lleva un trace_id único que se propaga entre microservicios para correlacionar logs end-to-end.
// Headers de seguridad y observabilidad detectados:
X-Internal-Signature: 8f3c...6e2a
X-Internal-Timestamp: 1770315237
X-Internal-Caller: marvel-app-main
X-Trace-Id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
22 / 30
Validación e Interoperabilidad
  • 📱 App Multiplataforma · Cliente nativo Flutter en repositorio externo
  • 🔌 Consumo de API Real · Validación de endpoints en entornos externos
  • Prueba de Desacoplamiento · Demostración práctica de Arquitectura Limpia
  • 🧩 Ecosistema Escalable · Backend agnóstico al cliente (Web/Móvil)
github.com/20Luisma/app-marvel →
23 / 30
🤖 Recomendador por Similitud: Películas Marvel
Modelo de Similitud Aplicado
📐 KNN (K-Nearest Neighbors) con distancia Euclidiana
📝 Jaccard Similarity para comparación textual
⚖️ Pesos: 60% numérico · 40% texto
📦 Librería: PHP-ML 0.10
Feature Extraction
vote_average Numérico 0-1 normalizado
release_year Numérico 2008-2030 range
overview_length Numérico max 500 chars
overview_words Texto Jaccard + stop words
Arquitectura Clean
Domain: MovieRecommenderInterface
Application: RecommendMoviesUseCase
Infrastructure: PhpMlMovieRecommender (KNN + Jaccard)
API: GET /api/movie-recommend.php?id={tmdb_id}
12
Tests unitarios
81 assertions ✅
98.36% Coverage · ADR-021
24 / 30
☁️ Infraestructura Resiliente & FinOps
Arquitectura Multi-Cloud (DRP)
  • 🔵 Nodo 1 (GCP) · VM e2-micro · South Carolina
  • 🟠 Nodo 2 (AWS) · EC2 t3.micro · París
  • 🔄 Write-to-Both · Escritura simultánea en ambos nodos
  • 🔁 Sync automático · Cola persistente si un nodo cae
Optimización FinOps (ADR-022/24)
  • 🇬 GCP · 14 snapshots eliminados (-3.6 GB)
  • 🇦 AWS · Migración a gp3 (Ahorro 20%)
  • 🔒 Security · Hardening de Firewall en ambos nodos
Análisis de costes mensuales
ProveedorRecursoCoste Final
Google CloudVM + Disk~$1.00 /mes ✅
Amazon (AWS)EC2 + Traffic$0.00 (Free Tier)
Replication Logic (ADR-023 + ADR-025)
// Escribe en GCP y AWS simultáneamente
GCP→track(click) ✅
AWS→track(click) ✅
// Si un nodo falla → cola persistente
onRecover → flushQueue() 🔁
🔁
Consistencia Eventual · ADR-025
Write-to-Both: cada click llega a GCP y AWS. Si un nodo cae, la cola persistente sincroniza los datos automáticamente al recuperarse. Nunca se pierden clicks.
🔥 Ver Heatmap en Vivo
25 / 30
🛡️ Backup de Base de Datos: Estrategia Empresarial

Sistema de respaldo MySQL implementado siguiendo estándares enterprise (ISO 22301 · Regla 3-2-1). El mismo patrón que usan bancos, aseguradoras y plataformas SaaS.

Características del sistema
  • 📦 Full Backup comprimido (gzip -9) · mysqldump
  • 🔒 SHA-256 · Checksum de integridad por archivo
  • 🗑️ Rotación automática · 7 días, <2MB en disco
  • 📋 Log de auditoría · Registro de todas las operaciones
  • Sin bloqueos · --single-transaction (InnoDB)
✅ Primer Backup Real Ejecutado
[2026-02-19 21:23:59] [INFO] 🚀 Iniciando Marvel DB Backup
[2026-02-19 21:24:41] [INFO] [2/4] mysqldump + gzip -9…
[2026-02-19 21:24:41] [INFO] [3/4] SHA-256 generado ✓
[2026-02-19 21:24:41] [INFO] ✅ BACKUP COMPLETADO
                      marvel_db_20260219_212441.sql.gz
                      Tamaño: 27 KB
Flujo automático (4 pasos)
1. Verificar conectividad MySQL
2. mysqldump --single-transaction | gzip
3. SHA-256 checksum de integridad
4. Rotación → eliminar >7 días
🕐 Cron preparado para producción
# Backup automático cada 24h a las 3:00 AM
0 3 * * * ./scripts/backup-marvel-db.sh
# → Activar en servidor: crontab -e
ADR-023 · ISO 22301 · RPO ≤24h · RTO ≤10min
26 / 30
Reflexión personal

Este proyecto nació con la idea de convertirse en una base de trabajo y una guía personal para aplicar, de forma real, los conocimientos adquiridos. Comenzó como un espacio práctico donde ir trasladando lo aprendido al código, casi como un cuaderno técnico llevado a la práctica.

Antes de este máster, mi enfoque estaba centrado en que el software funcionara. Hoy, este proyecto refleja un cambio: estructura, criterio, arquitectura, seguridad y responsabilidad técnica forman parte del proceso desde el inicio.

Clean Marvel Album no pretende ser un producto comercial ni una solución disruptiva. Es, ante todo, una base sólida y reutilizable, pensada como referencia para desarrollar futuros proyectos con una mentalidad más madura y profesional.

Más allá de las herramientas aprendidas, este máster ha supuesto un punto de inflexión en mi forma de pensar, diseñar y construir software.

Un momento que lo cambió todo: en octubre de 2025, en pleno desarrollo del Máster, AWS us-east-1 sufrió una caída masiva que dejó fuera de servicio a miles de empresas durante horas — Netflix, Twitch, Disney+ entre ellas, con pérdidas millonarias. Ver el caos que generó depender de un solo proveedor fue lo que me inspiró a diseñar e implementar el Failover Multi-Cloud automático entre GCP y AWS. Entendí que la resiliencia no es un lujo teórico, sino una necesidad absoluta en el mundo real, y decidí aplicar este patrón aislando el microservicio del Heatmap para que fuera capaz de sobrevivir a un escenario idéntico.

Lo que más me impactó: descubrir que una arquitectura bien pensada no solo beneficia a los humanos, sino también a las herramientas de IA. A lo largo del desarrollo, utilicé varios asistentes de inteligencia artificial, y todos navegaron el proyecto con fluidez, entendiendo la estructura, sugiriendo mejoras coherentes y respetando los patrones establecidos. Fue como si el código limpio hablara un idioma universal. La buena arquitectura enamora hasta a las máquinas.

27 / 30
Evolución técnica y próximos pasos
13
Mejoras identificadas
52-73h
Esfuerzo estimado
Alta
Viabilidad Técnica
PRIORIDAD: CRÍTICA
  • ✅ Refactor Application Layer
  • ✅ Client LLM Desacoplado
  • ✅ Abstracción Filesystem
  • ✅ RAG Enterprise (Pinecone)
  • Architecture Tests (Deptrac)
PRIORIDAD: ALTA
  • ✅ Failover Multi-Cloud
  • ✅ Healthchecks Proactivos
  • Seguridad CSP Estricta
  • EventBus con Persistencia
  • Dashboard de Resiliencia
  • Stress Testing (k6)
  • Contract Testing (Pact)
  • 🤖 Multi-Agente (LangGraph)
PRIORIDAD: MEDIA
  • ✅ Logging Centralizado (trace_id)
  • ✅ HSTS Preload + HMAC
  • ✅ Rate Limiting Granular
  • Mutation Testing (Infection)
📋 Ver análisis técnico completo →
28 / 30
Aviso Legal y Atribuciones

Uso Académico: Este proyecto ha sido desarrollado exclusivamente con fines educativos y de investigación como Trabajo Final de Máster (TFM) para Big School.

Propiedad Intelectual: Todos los datos, imágenes y nombres relacionados con personajes de Marvel son propiedad de © 2026 MARVEL. El proyecto utiliza activos descargados exclusivamente para fines demostrativos.

Sin Ánimo de Lucro: El sistema no tiene objetivos comerciales ni genera beneficios económicos.

Assets property of © 2026 MARVEL

29 / 30
Gracias
github.com/20Luisma/marvel → 📘 Leer: Libro Guía Marvel (Modo Interactivo)
30 / 30
← → para navegar