cancertracker/README.md

4.0 KiB

CancerCare

Descripción

CancerCare es una aplicación web diseñada para ayudar a personas diagnosticadas con cáncer a controlar su evolución durante el tratamiento, llevar un seguimiento de sus síntomas, citas médicas, medicación y evolución general.

La plataforma permite a cada usuario gestionar su información de forma segura y compartir resúmenes relevantes con su médico, facilitando la comunicación entre paciente y profesional sanitario.

Objetivo

Proporcionar una herramienta digital para:

  • registrar y controlar síntomas
  • gestionar citas médicas
  • mantener un seguimiento de tratamientos
  • mantener un historial de evolución
  • compartir información resumida con el médico
  • mejorar la organización y la comunicación entre paciente y profesionales

Usuarios

La aplicación estará pensada para distintos tipos de usuarios:

  • Paciente
  • Médico
  • Administrador

Funcionalidades principales

Paciente

  • Registro e inicio de sesión
  • Edición de perfil personal
  • Registro de síntomas
  • Registro de citas y revisiones
  • Seguimiento de tratamientos y medicación
  • Historial clínico básico
  • Exportación de resúmenes en PDF
  • Envío de información a su médico
  • Recordatorios y alertas

Médico (para más adelante)

  • Registro e inicio de sesión
  • Asociación con pacientes
  • Visualización del historial del paciente
  • Consulta de síntomas y evolución
  • Recepción de resúmenes compartidos
  • Gestión de seguimiento clínico

Administrador

  • Gestión de usuarios
  • Control de permisos
  • Supervisión de la plataforma
  • Administración de roles

Tecnologías previstas

La aplicación se desarrollará como una solución web, accesible desde ordenador, tablet y móvil.

Frontend

  • HTML
  • CSS
  • JavaScript
  • Bootstrap

Backend

  • Java
  • Spring Boot

Seguridad

  • Spring Security
  • Autenticación por usuario y contraseña
  • Roles y permisos por tipo de usuario

Base de datos

  • MySQL

Arquitectura recomendada

  • Frontend responsivo con Bootstrap
  • Backend en Spring Boot
  • API REST
  • Persistencia con MySQL
  • Seguridad con Spring Security
  • Autenticación basada en usuarios y roles

Modelo de datos previsto

La aplicación gestionará información sobre:

  • usuarios
  • pacientes
  • médicos
  • citas
  • síntomas
  • tratamientos
  • medicación
  • historial médico
  • documentos o resúmenes compartidos

Casos de uso

  • Un paciente registra sus síntomas diarios.
  • El sistema guarda la información en la base de datos.
  • El paciente añade una cita con su médico.
  • El médico accede al resumen de evolución del paciente.
  • El paciente exporta un informe en PDF y lo comparte con su profesional sanitario.

Importancia del proyecto

Este proyecto tiene un valor real para personas que necesitan un seguimiento constante de su salud durante el tratamiento, y además ayuda a los profesionales médicos a tener acceso más rápido a información útil y organizada.

Fase inicial (MVP)

Se propone desarrollar una primera versión con estas funcionalidades:

  1. Registro e inicio de sesión
  2. Gestión de perfil
  3. Registro de síntomas
  4. Registro de citas
  5. Historial de evolución
  6. Exportación de resumen para compartir con el médico

Estado del proyecto

Proyecto en fase de diseño e ideación inicial.

Entorno local con Docker

Docker Compose levanta MySQL 8.4 y conserva los datos en un volumen entre reinicios:

docker compose up -d

La base de datos queda disponible en localhost:3306, con el nombre cancercare. Para detener el servicio:

docker compose down

Los valores de conexión predeterminados son solo para desarrollo local y se pueden sustituir con variables de entorno o un archivo .env. schema.sql crea las tablas automáticamente la primera vez que MySQL inicializa el volumen; schema.mmd contiene el diagrama entidad-relación. Si ya existe un volumen de datos, MySQL no vuelve a ejecutar los scripts de inicialización. El backend y el frontend todavía no están implementados, así que por ahora solo se ejecuta la base de datos.