Full-stack · 2026
Necropsia Porcina
Atlas interactivo y registro de necropsias
Ver demo del atlasRepositorio privado.
- Mi rol
- Desarrollador Full-stack
- Resultado clave
- 3roles con permisos: admin, veterinario y técnico
- Stack
- React 18ViteTailwind CSSNode.jsExpressSequelizeMySQL 8JWTMulterDocker ComposeNginx
01
Contexto
En una necropsia porcina el veterinario debe documentar los hallazgos órgano por órgano. Este sistema centraliza los casos y muestra, sobre un diagrama del cerdo, qué órganos tienen lesiones registradas.
02
Qué construí
- Construí el frontend en React 18 + Vite + Tailwind CSS con un diagrama interactivo: zonas clicables sobre cada órgano que abren un modal con su imagen interna, nombre científico, descripción anatómica y hallazgos del caso.
- Desarrollé la API REST en Node.js + Express con Sequelize sobre MySQL 8, con autenticación JWT y roles (admin, veterinario y técnico).
- Implementé el registro de hallazgos por necropsia (tipo de lesión, severidad, descripción e imágenes) con subida de archivos mediante Multer.
- Creé un panel de administración para dibujar las zonas clicables del diagrama sin tocar código.
- Empaqueté todo con Docker Compose (base de datos, backend y frontend con Nginx) para levantarlo con un solo comando.
03
Arquitectura
Frontend React
Vite · Tailwind · diagrama interactivo
Nginx
Sirve el frontend y enruta la API
API Express
JWT · roles · Sequelize
MySQL 8
Órganos, necropsias, hallazgos y polígonos
Imágenes
Subidas con Multer
- Entrada
- Proceso
- Almacenamiento
- Salida
04
Decisiones técnicas
- Zonas clicables editables desde la interfaz
- El polígono de cada órgano se guarda en la base de datos y se dibuja desde un panel de administración, así que reajustar el mapa no requiere modificar código.
- Resaltado automático de hallazgos
- Los órganos con hallazgos registrados se pintan en rojo en el diagrama para identificarlos de un vistazo.
- Permisos por rol
- El administrador configura el mapa y gestiona órganos; el veterinario crea y edita necropsias y hallazgos; el técnico consulta.
- Un solo comando con Docker Compose
- MySQL solo es accesible dentro de la red de Docker y la API se expone únicamente a través de Nginx.
05
Resultado
- Aplicación en línea con demo pública del atlas interactivo.
- Registro completo de casos, hallazgos e imágenes por necropsia.