Resumen
Plataforma web que conecta pacientes con psicólogos para gestionar todo el ciclo de atención: registro, perfiles, agenda y turnos, pagos y retiros, reclamos, calificaciones y administración. Seguridad basada en JWT y control de roles; UI responsive y notificaciones no intrusivas.
Objetivos
• Mejorar el acceso a atención psicológica online de forma segura.
• Simplificar la gestión operativa para terapeutas y administrativos.
• Centralizar pagos, retiros y métricas del negocio.
• Ofrecer una experiencia clara y moderna para pacientes.
Roles y permisos (RBAC)
AD (Administrativo): control total, métricas y operaciones sensibles.
TE (Terapeuta): perfil, agenda, retiros y funcionalidades afines.
PA (Paciente): perfil, turnos, reclamos y calificaciones.
Autenticación y seguridad
Inicio de sesión con JWT y autorización por roles (middleware requireRol).
Rutas sensibles protegidas, validaciones y limpieza de logs sensibles.
Cambio de contraseña desde el perfil (paciente y terapeuta).
Turnos, agendas, pagos y caja
CRUD de agendas con JWT; vistas por rol y utilidades de disponibilidad.
Expiración de agendas (administrativo).
Webhook público para pagos; conciliación, métricas financieras y retiros (aprobación/rechazo).
Manejo de caja dentro de la app: apertura/cierre, conciliaciones y registro de movimientos.
Sistema de referidos
Generación de enlaces/códigos de referidos, tracking de conversiones y aplicación de beneficios/bonificaciones según regla de negocio.
Reclamos, calificaciones y catálogo
CRUD administrado y operaciones autenticadas por turno.
Normalización de estados para estadísticas y reportes.
Descuentos, obras sociales y tipos de terapia (gestión administrativa).
Arquitectura y tecnologías
Frontend: React + TypeScript bajo Atomic Design, React‑Bootstrap, CSS Modules tipados, hooks reutilizables y toasts unificados.
Backend: Node.js + Express, JWT, middleware de roles y rutas modulares (usuarios, terapeutas, pacientes, agendas, turnos, reclamos, calificaciones, movimientos, descuentos, obras sociales, tipos de terapia, notas).
Integraciones: Daily API para videollamadas; Mercado Pago API para pagos (webhook para conciliación y retiros).
Despliegue
Desplegado con Docker en VPS, utilizando Nginx como reverse proxy para el dominio
sanamenteonline.com.
Calidad, seguridad y mantenibilidad
Separación de responsabilidades, validación de entradas y manejo de errores con mensajes claros (toasts).
Políticas de acceso por rol y protección JWT.