Med Monitor App
Med Monitor App es un sistema nativo en la nube diseñado para monitorizar signos vitales de pacientes, gestionar alertas y generar informes. Utiliza arquitectura de microservicios con mensajería en tiempo real e integración segura en la nube. El sistema ofrece un dashboard responsivo y APIs REST para interactuar con datos de pacientes, alertas, signos vitales e informes.
AngularSpring BootKafkaRabbitMQAWSOracle DBDocker
Descripción del Proyecto
- Cliente Angular: Aplicación web responsiva para dashboards, alertas y visualización de datos de pacientes.
- Backend-for-Frontend (BFF): Servicio Spring Boot que conecta el frontend con microservicios y realiza agregación.
- Servicio de Pacientes: Gestiona registros de pacientes y consume actualizaciones de estado.
- Servicio de Signos Vitales: Maneja la ingesta, almacenamiento y distribución de signos vitales.
- Servicio de Alertas: Genera y gestiona alertas por umbrales de signos vitales.
- Servicio de Informes: Crea y almacena informes JSON en AWS S3.
Stack Tecnológico
Frontend:
- Angular 18, RxJS, Tailwind CSS
- MSAL (autenticación Azure AD)
Backend y Microservicios:
- Java 23, Spring Boot 3, Maven
- Kafka y RabbitMQ para mensajería
- Oracle Database (con wallet)
- AWS S3 para almacenamiento de informes
Infraestructura:
- Docker para contenerización
- AWS API Gateway para enrutamiento
- Configuración y gestión de secretos externalizada
Aspectos Destacados de la Arquitectura
- Microservicios con Spring Boot 3
- Comunicación orientada a eventos vía Kafka y RabbitMQ
- Persistencia de datos en Oracle DB (con wallet para conexión segura)
- Almacenamiento y hosting en la nube con AWS (API Gateway, S3)
- Autenticación con Azure AD (MSAL)
- Despliegue contenerizado con Docker

Funcionalidades
Cliente Frontend
- Dashboard de signos vitales y alertas en tiempo real
- Vista de detalle de pacientes y alertas
- Autenticación de usuario (Azure AD)
- Navegación y layout responsivo
Backend-for-Frontend (BFF)
- API REST para datos de pacientes, alertas y signos vitales
- Manejo de CORS y seguridad
- Agrega datos de microservicios para el frontend
Servicio de Pacientes
- Operaciones CRUD para datos de pacientes
- Consume actualizaciones de estado desde RabbitMQ
- Inicializa datos de ejemplo al arrancar
Servicio de Signos Vitales
- Genera y almacena signos vitales de pacientes
- Produce mensajes Kafka y resúmenes en RabbitMQ
- APIs REST para gestión de datos
Servicio de Alertas
- Consume signos vitales y genera alertas
- Publica alertas en Kafka y RabbitMQ
- Endpoints REST para gestión de alertas
Servicio de Informes
- Consume mensajes de RabbitMQ para generar informes
- Almacena informes JSON en AWS S3
- APIs REST para listar y descargar informes
Endpoints Principales de la API
BFF
GET /api/alerts– Listar alertasGET /api/patients– Listar pacientesGET /api/patients/{id}– Obtener paciente por IDPOST /api/vital-signs– Crear nuevo signo vital
Servicio de Pacientes
- CRUD completo en
/api/patients
Servicio de Signos Vitales
- CRUD completo en
/api/vital-signs GET /api/vital-signs/patient/{patientId}
Servicio de Alertas
- CRUD completo en
/api/alerts
Servicio de Informes
GET /api/reports– Listar informesGET /api/reports/{id}– Descargar informe
Buenas Prácticas
- Arquitectura en capas: controladores, servicios, repositorios y configuración claramente separados.
- Inyección de dependencias: uso de Lombok o anotaciones de Spring para testabilidad.
- Gestión de configuración: datos sensibles y variables de entorno externalizados. Sin credenciales hardcodeadas.
- Manejo de excepciones: centralizado para endpoints REST.
- Logging y monitoreo: integración con SLF4J y monitoreo cloud-native.
- Pruebas: unitarias e integración para servicios y repositorios.
- Contenerización: Docker para despliegues consistentes y portables.
- Calidad de código: Java y Angular siguen estándares y mantienen modularidad.
- Documentación: endpoints claros y documentación interna para mantenibilidad.
Publicado: 01/04/2025
Proyectos Relacionados
Chatbot App
Una aplicación de chatbot potenciado por IA, diseñado para soporte rápido, amigable e interactivo.
Next Store
Aplicación web de e-commerce escalable construida con Next.js y PostgreSQL, con catálogo de productos, autenticación de usuarios y sistema de carrito de compras.
Aplicación de Películas
Una aplicación Angular 20+ modular y escalable para explorar, buscar y gestionar películas. Construida con las mejores prácticas para mantenibilidad, rendimiento y claridad.