mirror of
https://github.com/marcogll/gloria_app.git
synced 2026-03-15 13:24:44 +00:00
175 lines
3.1 KiB
Markdown
175 lines
3.1 KiB
Markdown
# 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 Niño 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 Niño
|
||
* Titular: **Gloria Niño - Terapeuta Emocional**
|
||
* Subtitular: Enfoque terapéutico personalizado
|
||
* Botón principal: **Agenda tu Cita** (Inicia flujo)
|
||
* Botón secundario: **Ver Servicios**
|
||
|
||
#### Sección Biográfica
|
||
|
||
* Imagen: Gloria Niño en sesión (jardín zen)
|
||
* Texto: Biografía breve enfocada en duelo y ansiedad
|
||
|
||
#### Servicios (Grid 3)
|
||
|
||
* Terapia Individual
|
||
* Terapia de Pareja
|
||
* Talleres / Grupos
|
||
|
||
#### Testimonios
|
||
|
||
* Carrusel con citas, nombres y avatares
|
||
|
||
#### Contacto
|
||
|
||
* Formulario: Nombre, WhatsApp, Mensaje
|
||
* Tarjetas: Ubicación y Horarios
|
||
|
||
#### Footer
|
||
|
||
* 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)
|
||
|
||
```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
|
||
|