Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MedicApp

Plataforma de Gestión Médica Profesional para Doctores

MedicApp es una aplicación web moderna diseñada para médicos que buscan digitalizar y optimizar su práctica clínica. Permite gestionar pacientes, citas, récipes médicos, estudios de laboratorio, imágenes diagnósticas y consultas con inteligencia artificial.

webshot


Características Principales

Para Doctores

  • Gestión de Pacientes: Registro completo con historial clínico, alergias, tipo de sangre y datos de contacto.
  • Agenda de Citas: Programación y seguimiento de citas con estado (programada, completada, cancelada).
  • Récipes Electrónicas: Creación de récipes con medicamento, dosis, frecuencia y duración.
  • Estudios de Laboratorio: Registro de resultados con rangos normales y alertas de valores anormales.
  • Imágenes Médicas: Subida y visualización de radiografías, resonancias, tomografías y PDFs.
  • AI: Consultas inteligentes sobre síntomas y tratamientos directamente desde el expediente del paciente.

Para Administradores

  • Dashboard Central: Estadísticas en tiempo real de doctores, pacientes, citas y consultas.
  • Directorio Médico Completo: Visualización de todos los doctores registrados.
  • Monitor de Actividad: Seguimiento de las últimas actividades en la plataforma.

Para Visitantes

  • Directorio de Doctores: Búsqueda de especialistas por ubicación y especialidad.
  • Landing Page: Información sobre la plataforma, características y planes.

Tecnologías Utilizadas

  • Backend: Node.js + Express.js
  • Frontend: HTML5, CSS3, JavaScript
  • Template Engine: EJS
  • Base de Datos: PostgreSQL
  • Autenticación: Cookies firmadas con token
  • Criptografía: SHA-256 (node:crypto)
  • IA: Integración con AI API

Paquetes Permitidos

  • cookie-parser
  • ejs
  • express
  • pg

Estructura del Proyecto

medicapp/
├── app.js                  # Punto de entrada principal
├── database.js             # Clase Database con todas las consultas
├── database.sql            # Esquema de base de datos
├── dummydata.sql           # Datos de prueba
├── package.json            # Configuración del proyecto
├── .env                    # Variables de entorno y configuración
├── readme.md               # Este archivo
│
├── views/                  # Plantillas HTML (EJS)
│   ├── header.html         # Componente de cabecera
│   ├── footer.html         # Componente de pie de página
│   ├── index.html          # Landing page
│   ├── login.html          # Inicio de sesión
│   ├── register.html       # Registro de doctores
│   ├── forgot.html         # Recuperación de contraseña
│   ├── dashboard.html      # Panel de administración
│   ├── doctores.html       # Directorio médico
│   ├── panel.html          # Panel del doctor
│   └── patient.html        # Expediente del paciente
│
└── public/                 # Archivos estáticos
    ├── media/              # Imágenes y recursos multimedia
    │   └── favicon.svg     # Icono de la aplicación
    ├── scripts/            # Archivos JavaScript
    │   ├── common.js       # Scripts compartidos
    │   ├── index.js        # Landing page
    │   ├── login.js        # Página de login
    │   ├── register.js     # Página de registro
    │   ├── forgot.js       # Recuperación de contraseña
    │   ├── dashboard.js    # Dashboard admin
    │   ├── doctors.js      # Directorio médico
    │   ├── panel.js        # Panel del doctor
    │   └── patient.js      # Expediente paciente
    ├── styles/             # Hojas de estilo CSS
    │   ├── common.css      # Estilos compartidos
    │   ├── index.css       # Landing page
    │   ├── login.css       # Login
    │   ├── register.css    # Registro
    │   ├── forgot.css      # Recuperación
    │   ├── dashboard.css   # Dashboard
    │   ├── doctors.css     # Directorio
    │   ├── panel.css     # Perfil
    │   └── patient.css     # Paciente
    └── uploads/            # Archivos subidos por doctores

Base de Datos

Tablas Principales

Tabla Descripción
users Doctores y administradores del sistema
patients Pacientes registrados por cada doctor
appointments Citas médicas programadas
labtests Estudios y análisis de laboratorio
recipes Récipes y prescripciones médicas
images Imágenes diagnósticas (rayos X, resonancias, etc.)
queries Historial de consultas a AI

Modelo Relacional

users 1──N patients
users 1──N appointments
users 1──N labtests
users 1──N recipes
users 1──N images
users 1──N queries

patients 1──N appointments
patients 1──N labtests
patients 1──N recipes
patients 1──N images
patients 1──N queries

Instalación y Configuración

Prerrequisitos

  • Node.js (v16+)
  • PostgreSQL (v12+)
  • npm

Pasos de Instalación

  1. Clonar el repositorio

    git clone https://github.com/tuusuario/medicapp.git
    cd medicapp
  2. Instalar dependencias

    npm install
  3. Configurar base de datos

    # Crear la base de datos y ejecutar el esquema
    psql -U postgres -f database.sql
    
    # Opcional: cargar datos de prueba
    psql -U postgres -d medicapp -f dummydata.sql
  4. Configurar variables de entorno Editar el archivo .env:

    PORT=3000
    DATABASE=postgres://postgres:password@localhost:5432/medicapp
    AGENT_API_KEY=tu_agente_api_key_aqui
    COOKIE_SECRET=12345678-1234-1234-1324-123456789012
    ADMIN_EMAIL=admin@example.com
    ADMIN_PASSWORD=admin123
    
  5. Iniciar la aplicación

    npm start
  6. Abrir en el navegador

    http://localhost:3000
    

🔐 Credenciales de Prueba

Administrador

Doctores (contraseña: doctor123)

Nombre Email Especialidad Ubicación
Dr. Carlos García carlos.garcia@example.com Cardiología Ciudad de México
Dra. María López maria.lopez@example.com Pediatría Monterrey
Dr. Juan Martínez juan.martinez@example.com Dermatología Guadalajara
Dra. Ana Rodríguez ana.rodriguez@example.com Neurología Ciudad de México
Dr. Luis Hernández luis.hernandez@example.com Medicina General Puebla

🎨 Temas y Personalización

MedicApp cuenta con dos temas:

  • 🌙 Modo Oscuro (predeterminado): Ideal para entornos con poca luz.
  • ☀️ Modo Claro: Perfecto para uso diurno.

Puedes cambiar entre temas usando el botón de alternancia en el footer. La preferencia se guarda en localStorage.

Responsive Design

La aplicación está completamente optimizada para:

  • ✅ Desktop (1024px+)
  • ✅ Tablet (768px - 1024px)
  • ✅ Móvil (< 768px)

🌐 API de IA

MedicApp integra la API de IA para consultas médicas inteligentes. Para habilitar esta función:

  1. Obtén una API Key en platform.deepseek.com
  2. Agrégala al archivo .env como AGENTE_API_KEY
  3. Sin API Key, el sistema funciona en modo demo con respuestas simuladas

📄 Licencia de Uso de Archivos

  • Formatos permitidos: JPG, PNG, WEBP, GIF, PDF
  • Tamaño máximo: 10 MB por archivo
  • Almacenamiento: Los archivos se guardan en public/uploads/

🛡️ Seguridad

  • Contraseñas hasheadas con SHA-256 (node:crypto)
  • Tokens de sesión aleatorios de 48 bytes
  • Cookies firmadas y httpOnly
  • Validación de tipos de archivo en subidas
  • Protección contra acceso no autorizado por roles
  • Sanitización de entradas de usuario

📞 Soporte

Para soporte técnico o consultas:


👨‍⚕️ Planes y Precios

Característica Gratuito Básico ($10/mes) Profesional ($25/mes)
Pacientes Hasta 100 Hasta 1,000 Ilimitados
Citas
Récipes
Laboratorio
Imágenes 100 MB 1 GB
IA 50/mes Ilimitado
Soporte Básico Normal Prioritario

Desarrollado con ❤️ para la comunidad médica. Transformando la gestión médica con tecnología.

About

App for medical doctors

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages