mirror of
https://github.com/marcogll/gloria_app.git
synced 2026-03-15 13:24:44 +00:00
Project Requirements
This commit is contained in:
172
PRD.md
Normal file
172
PRD.md
Normal file
@@ -0,0 +1,172 @@
|
||||
# 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
|
||||
|
||||
#### 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
|
||||
|
||||
Reference in New Issue
Block a user