ATOM
Reingeniería de una plataforma web para gestionar y ejecutar análisis ómicos automatizados (RNA-seq), de un monolito frágil a una arquitectura reproducible y separada por responsabilidades.
- Año
- 2026
- Mi papel
- Autor: análisis, arquitectura e implementación
- Categoría
- Plataforma científica · Trabajo de Fin de Grado

01Contexto
Proyecto académico individual · ULPGC · calificación 9,4/10.
Reingeniería de una plataforma web para gestionar y ejecutar análisis ómicos automatizados (RNA-seq), de un monolito frágil a una arquitectura reproducible y separada por responsabilidades.
02Problema
La versión previa era un monolito en Flask que guardaba datos en ficheros JSON y ejecutaba scripts R Markdown directamente desde el servidor web. Funcionaba, pero tenía límites serios de seguridad, mantenibilidad, escalabilidad, trazabilidad y reproducibilidad.
03Objetivos
- Analizar y documentar la arquitectura anterior y sus riesgos.
- Separar backend, sistema de ejecución y capa de análisis.
- Hacer las ejecuciones reproducibles y trazables.
- Mejorar seguridad, validación de datos y gestión de usuarios.
04Mi contribución
- Análisis del sistema previo y propuesta de la nueva arquitectura.
- Backend FastAPI: autenticación, usuarios, proyectos, entidades, notificaciones y seguimiento de ejecuciones.
- Frontend en Next.js con panel, gestión visual de proyectos e informes.
- Modelo de datos en PostgreSQL y migración desde JSON.
- Worker asíncrono, contenedores Docker e integración continua.
05Decisiones técnicas
- ASacar la ejecución de análisis del servidor web a un worker independiente: la interfaz nunca se bloquea y cada ejecución queda registrada con su estado.
- BPostgreSQL en lugar de ficheros JSON para tener integridad, consultas e historial real de proyectos y ejecuciones.
- CDocker para que el entorno de análisis, con sus dependencias de R y Python, sea idéntico en cualquier máquina.
- DValidación automática de las plantillas experimentales antes de lanzar un análisis, para fallar pronto y con un mensaje claro.
06Solución
Una nueva arquitectura con backend en FastAPI, frontend en Next.js, persistencia en PostgreSQL, orquestación con Docker y un proceso trabajador independiente que ejecuta los análisis en segundo plano.
Funcionalidades principales
- Gestión de proyectos ómicos
- Validación de plantillas experimentales
- Ejecución asíncrona con seguimiento
- Informes HTML, DOCX y XLSX
- Historial y trazabilidad
- Modo claro y oscuro
Resultado
Trabajo de Fin de Grado calificado con 9,4/10 (Sobresaliente) en el Grado en Ingeniería Informática de la ULPGC.
07Capturas





08Stack
- FastAPI
- Python
- Next.js
- TypeScript
- PostgreSQL
- Docker
- R Markdown
- GitHub Actions
09Aprendizajes
- «La reproducibilidad no es un extra, sino una condición básica del software científico.» Fue la idea rectora del proyecto.
- Reescribir con criterio exige entender primero por qué el sistema anterior funcionaba, no solo dónde fallaba.
10Enlaces
Proyecto privado: no hay demo pública ni repositorio abierto.