PixPro
Plataforma inteligente de procesamiento de imágenes con IA, arquitectura basada en eventos y notificaciones en tiempo real.
Pure software architecture
Robust backend · No visual UI
Vista General del Proyecto
Plataforma de procesamiento de imágenes con IA. Problema: procesar imágenes en paralelo sin bloquear la UI. Solución: microservicios con Kafka, elegido sobre Redis Streams por durabilidad y rebalanceo automático (matriz de decisión). Stack: Node.js, Kafka, Docker, React, MinIO, Keycloak. Resultado: equipo Scrum de 5, MVP en 8 semanas, notificaciones en vivo con WebSockets.
Diseño de Arquitectura

Diagrama de Contexto: Usuarios interactúan con PixPro, que orquesta autenticación, procesamiento, almacenamiento y base de datos.

Diagrama de Contenedores: Frontend React, Backend API, Workers IA, Kafka, Redis, MinIO, Keycloak y MongoDB.
Módulos Core
Autenticación y Gestión de Usuarios con Keycloak
SSO y RBAC con Keycloak, registro, login, recuperación de contraseña. Backend valida tokens JWT, frontend protege rutas vía contexto. Integración con PostgreSQL.
Carga de Imágenes y Almacenamiento en CDN (MinIO)
Carga individual o por lotes con vista previa y progreso. Imágenes almacenadas en MinIO (API S3) con URLs firmadas. Adaptador IStoragePort permite intercambiar implementación fácilmente.
Procesamiento Asíncrono con Kafka y Ollama
Evento 'image-process' publicado en Kafka, consumido por workers Node.js que invocan Ollama (YOLO, Stable Diffusion). Resultados en 'image-processed' o 'image-processed-error'. Arquitectura desacoplada y escalable.
Notificaciones en Tiempo Real (WebSockets + Redis Pub/Sub)
Frontend conectado vía Socket.io a gateway que escucha topics de Kafka. Eventos enviados al cliente por salas (userId). Redis adaptador para escalar múltiples instancias del gateway.
Organización por Proyectos y Biblioteca Personal
Usuarios crean proyectos y asignan imágenes procesadas. Metadatos (título, categoría, parámetros). Backend usa CQRS con paginación, filtros y caché Redis.
Panel de Administración y Métricas de Rendimiento
Dashboard para administradores con KPIs: imágenes procesadas, tiempos, estado de colas, uso de caché. Datos agregados desde MongoDB y servidos vía REST protegida por roles.
Integración Continua y Despliegue (CI/CD) con Rolling Updates
Pipeline GitLab CI/CD con linting, tests, build Docker y despliegue automático. Rolling deployment (sin downtime) frente a Blue-Green por restricciones de recursos. Health checks garantizan estabilidad.