Files
gloria_app/PRD.md
2026-01-29 13:30:45 -06:00

2.9 KiB
Raw Blame History

Product Requirements Document (PRD) Plataforma Gloria

Versión: 2.0 Fecha: 29 de Enero, 2026 Stack: Next.js 14, Prisma, SQLite, Redis, Evolution API


1. Visión del Producto

Transformar la presencia digital de Gloria Wells en una herramienta operativa que centralice la atención, gestione crisis y automatice el agendamiento, manteniendo una estética de alta gama, calidez y profesionalismo.


2. Mapa del Sitio (Basado en Mockup)

2.1 Landing Page (Home)

Header

  • Logo: GW
  • Menú: Inicio, Sobre mí, Servicios, Testimonios, Contacto
  • CTA: Agendar Ahora

Hero Section

  • Imagen: Fotografía profesional de Gloria
  • Titular: Sanación Integral
  • Subtitular: Enfoque terapéutico
  • Botón principal: Agenda tu Cita (Inicia flujo)

Sección Biográfica

  • Video: Introducción
  • Texto: Conoce a Gloria

Servicios (Grid 3)

  • Terapia Individual
  • Terapia de Pareja
  • Talleres / Grupos

Testimonios

  • Carrusel con citas, nombres y avatares

Contacto

  • Nombre, Email, Mensaje
  • Redes sociales
  • Privacidad
  • Copyright

3. Requisitos Funcionales

3.1 Flujo de Agendamiento

Paso 1: Identificación

  • Ingreso de WhatsApp
  • Búsqueda en SQLite
  • Cliente existente: mensaje personalizado + botones
  • Nuevo cliente: registro (Nombre, Edad, Motivo)

Paso 2: Filtro de Crisis

  • Pregunta: ¿Es una urgencia?
  • Si: protocolo de crisis
  • No: calendario

Paso 3: Disponibilidad

  • Integración Google Calendar
  • Caché Redis

Paso 4: Pago

  • Carga de comprobante

3.2 Dashboard de Administración

Rol: Asistente

  • Agenda general
  • Validación de pagos
  • Lista de pacientes
  • Sin acceso a notas clínicas

Rol: Terapeuta (Gloria)

  • Expediente completo
  • Notas clínicas enriquecidas
  • Módulo de voz
  • Envío vía WhatsApp
  • Auto-eliminación (7 días)

4. Requisitos de Datos (Prisma)

model Patient {
  phone     String    @id
  name      String
  birthdate DateTime
  status    String
  createdAt DateTime  @default(now())
}

model Appointment {
  id              Int       @id @default(autoincrement())
  date            DateTime
  status          String
  isCrisis        Boolean
  paymentProofUrl String?
}

model ClinicalNote {
  id        Int      @id @default(autoincrement())
  patientId String
  content   String
  createdAt DateTime @default(now())
}

model VoiceNote {
  id        Int      @id @default(autoincrement())
  filename  String
  duration  Int
  sentAt    DateTime
  expiresAt DateTime
}

5. Requisitos No Funcionales

Hosting

  • VPS Hostinger
  • Docker Compose

Optimización

  • Redis (sesiones y caché)

Privacidad

  • Cookies banner
  • Aceptación T&C
  • Página estática

Manejo de Archivos

  • Comprobantes: volumen local
  • Audios: temporales

6. Casos Borde

  • Citas para terceros
  • Cancelaciones tardías
  • Zonas horarias