Experiencia Sonora
Cambiar Idioma
Lyra: Estoy aquí. ¿Qué quieres descubrir hoy?

Hola, soy Lyra, tu guía en este portafolio.

AI-Powered Image Processing | Event-Driven Architecture | Real-Time Estado: Completado (Proyecto Universitario)

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

PixPro es una plataforma web que permite cargar imágenes (individuales o por lotes), aplicar mejoras y efectos mediante IA, y recibir actualizaciones en vivo. Desarrollado por el equipo PixarMinds bajo metodología Scrum con sprints de dos semanas, roles rotativos y ceremonias completas. Se realizó planificación técnica, spikes de investigación (MinIO, Gemini API), definición de DoR/DoD y convenciones de branching (GitHub Flow). La arquitectura es de microservicios desacoplados basada en eventos, usando Apache Kafka (seleccionado tras matriz de decisión frente a Redis Streams), WebSockets (Socket.io) para tiempo real, y CDN interno con MinIO. Backend: Node.js + Express + TypeScript implementando CQRS con Redis como caché (decoradores @cached, @invalidateCache). Autenticación con Keycloak (SSO, RBAC). Procesamiento IA con Ollama (YOLO, Stable Diffusion). Frontend: React SPA con Zustand, TanStack Query, PrimeReact y Socket.io-client. Despliegue con Docker Compose y GitLab CI/CD (rolling deployment). El equipo trabajó colaborativamente con daily stand-ups, reviews y retrospectivas, entregando un MVP funcional en 8 semanas.

RolSoftware Architect & Technical Lead
ClienteProyecto Capstone - Universidad Jala
DuraciónEnero 2025 - Junio 2025
Año2026

Diseño de Arquitectura

Event-Driven Microservices | CQRS | Clean Architecture (backend)RESTful API + Apache Kafka + WebSockets (Socket.io)
Diagrama de Contexto: Usuarios interactúan con PixPro, que orquesta autenticación, procesamiento, almacenamiento y base de datos.

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.

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.

Tecnologías Implementadas

frontend

React 18TypeScriptPrimeReactPrimeFlexPrimeIconsZustandTanStack QuerySocket.io-clientAxios

backend

Node.js 20Express 4TypeScriptKafkaJSSocket.ioRedis (ioredis)MinIO SDKMongooseKeycloak-connect

ai And Storage

Ollama (YOLO, Stable Diffusion)MinIOKafkaRedis

tools

Docker & Docker ComposeGitLab CI/CDJestSwaggerPostmanBiome (linter)