Prototipo

DonnKill Vet - Sistema de Gestión de Historia Clínica Veterinaria

Plataforma web para gestión y seguimiento clínico veterinario, desarrollada inicialmente como trabajo final de grado y posteriormente evolucionada.

Captura demostrativa del panel del staff (Backoffice) en DonnKill Vet con datos ficticios
Panel Backoffice / Staff · entorno de demostración con datos ficticios

Problema y contexto

Muchas clínicas veterinarias gestionan la información clínica de sus pacientes mediante registros manuales, planillas dispersas o herramientas no integradas. Esto dificulta el seguimiento ordenado de tutores, pacientes, atenciones, antecedentes clínicos, observaciones veterinarias y documentación asociada.

DonnKill Vet surge como una solución orientada a digitalizar el seguimiento clínico veterinario, permitiendo centralizar la información de pacientes y tutores en una plataforma web estructurada, segura y preparada para evolucionar.

El objetivo principal del sistema es facilitar el registro, consulta y seguimiento de la información clínica de los pacientes veterinarios, reduciendo la dependencia de registros físicos o aislados, y mejorando la organización de los datos asociados a cada atención.

Mi rol en el proyecto

Participé en el diseño e implementación integral de la solución, abarcando backend, frontend, autenticación centralizada, persistencia de datos, integración entre servicios, almacenamiento de archivos y despliegue mediante contenedores.

  • Análisis funcional del dominio veterinario.
  • Diseño de arquitectura basada en servicios.
  • Desarrollo de APIs REST.
  • Implementación de lógica de negocio para seguimiento clínico.
  • Diseño de modelos de datos y persistencia.
  • Implementación de autenticación y autorización mediante SSO.
  • Integración entre frontend y backend.
  • Configuración de almacenamiento de archivos mediante MinIO.
  • Contenedorización y despliegue del entorno.
  • Documentación técnica y funcional del sistema.

Arquitectura general

DonnKill Vet fue diseñado con una arquitectura basada en microservicios, separando responsabilidades principales del sistema para favorecer la escalabilidad, mantenibilidad y seguridad.

La solución contempla un frontend web desarrollado con Next.js y TypeScript, un backend principal desarrollado con Java y Spring Boot, un servicio de autenticación y autorización separado mediante SSO, comunicación mediante APIs REST, persistencia con PostgreSQL, almacenamiento de archivos mediante MinIO, Redis para soporte de procesos internos, Kafka para comunicación y eventos, y contenedorización mediante Docker.

Esta separación permite que la autenticación no dependa directamente del módulo clínico, mejorando la organización del sistema y facilitando la reutilización del servicio de identidad en futuros proyectos.

Resultado y estado actual

El proyecto permitió aplicar conceptos de arquitectura de software, seguridad, autenticación centralizada, desarrollo full stack, persistencia de datos, integración entre servicios y despliegue en contenedores.

Como resultado, se obtuvo una plataforma funcional, desplegable y preparada para demostración controlada, con una arquitectura pensada para evolucionar e incorporar nuevos módulos en el futuro.

El sistema cuenta con frontend web y servicio de autenticación SSO desplegados actualmente. El acceso público abierto no se encuentra habilitado de forma permanente para evitar exposición de datos, credenciales o funcionalidades internas. Sin embargo, el sistema puede demostrarse bajo solicitud mediante un entorno controlado, utilizando usuarios y datos ficticios.

Tecnologías

  • Java
  • Spring Boot
  • Spring Security
  • OAuth2
  • OpenID Connect
  • JWT
  • Next.js
  • React
  • TypeScript
  • PostgreSQL
  • MinIO
  • Redis
  • Kafka
  • Docker
  • JUnit
  • Mockito

Arquitectura

Flujo de autenticación OIDC / OAuth2 · Authorization Code + PKCE

Caso de estudio

Leé el resumen de esta página o consultá el documento original para profundizar.

Documento original en español. El resumen del caso está disponible en ambos idiomas.

Abrir PDF en otra pestaña
Solicitar demostración ↗