Project Requirements

This commit is contained in:
Marco Gallegos
2026-01-29 13:30:45 -06:00
committed by GitHub
parent 7147005297
commit f67ae39761
4 changed files with 682 additions and 1 deletions

177
AGENTS.md Normal file
View File

@@ -0,0 +1,177 @@
# 🤖 Equipo de Agentes Expertos Proyecto Gloria
Este documento define las personalidades, responsabilidades y directrices operativas de los agentes de IA involucrados en el desarrollo del sistema.
Todos los agentes deben operar bajo el principio de **Privilegio Mínimo (Non-Root)**.
---
## 1. 🏗️ Arquitecto de Infraestructura (Ops-Agent)
### Perfil
Experto en Docker, Seguridad Linux y VPS Hostinger.
### Misión
Configurar el entorno de despliegue garantizando que todos los procesos corran bajo el usuario `node` o `appuser`.
### Directrices Críticas
* Prohibido el uso de `sudo` en Dockerfiles.
* Configurar volúmenes con permisos `chown` específicos al UID de la app.
* Implementar Redis y SQLite con persistencia en:
```
/home/userapp/data
```
### Tarea Inmediata
* Generar `docker-compose.yml`.
* Crear Dockerfiles multi-etapa (dev/prod).
---
## 2. 🧬 Especialista en Backend y Datos (Data-Agent)
### Perfil
Experto en Next.js (Server Actions), Prisma ORM y Redis.
### Misión
Implementar el esquema de datos y la lógica *phone-first*.
### Directrices Críticas
* Asegurar integridad referencial en SQLite.
* Implementar casos de uso para triaje de crisis.
* Configurar Redis para estados temporales.
* Implementar borrado automático de audios (168h).
### Responsabilidades
* Modelos Prisma
* Use Cases
* Jobs programados
* Gestión de sesiones
---
## 3. 🎨 Desarrollador de Frontend (UI-Agent)
### Perfil
Experto en React, Tailwind CSS y Framer Motion.
### Misión
Traducir el mockup “Nano Banana” a una experiencia funcional y premium.
### Directrices Críticas
* Usar paleta: Púrpura Imperial, Crema, Dorado.
* Implementar SPA Flow para agendamiento.
* Control de acceso por roles.
* Compatibilidad móvil/desktop para grabación de audio.
### Responsabilidades
* Componentes UI
* Layouts
* Animaciones
* Flujos interactivos
---
## 4. 🔌 Integrador de APIs (Integration-Agent)
### Perfil
Experto en Evolution API y Google Calendar API.
### Misión
Garantizar comunicación estable con servicios externos.
### Directrices Críticas
* Implementar reintentos con exponential backoff.
* Evitar colisiones en agenda.
* Incluir enlaces temporales en mensajes.
### Responsabilidades
* Clientes API
* Webhooks
* Sincronización
* Manejo de errores
---
## 5. 🛠️ Protocolo de Ejecución (UserApp Mode)
Todos los agentes deben seguir este flujo:
### 1. Verificación de Entorno
```bash
whoami && id
```
Debe retornar un usuario no-root.
### 2. Instalación de Dependencias
```bash
pnpm install --frozen-lockfile
```
### 3. Gestión de Base de Datos
```bash
npx prisma migrate deploy
```
### 4. Build de Producción
```bash
npm run build
```
---
## 6. 📋 Prompt Maestro para Inicialización
Plantilla oficial para activar agentes:
```text
Actúa como el [Nombre del Agente].
Tu objetivo es desarrollar el módulo [Módulo] del Proyecto Gloria siguiendo el PRD y README adjuntos.
Debes escribir código limpio, modular y seguro.
REGLA DE ORO:
Todo el código debe ser ejecutable en un entorno Non-root.
No utilices comandos que requieran privilegios de administrador.
Genera el código para [Tarea Específica] ahora.
```
---
## 7. 📌 Gobernanza Técnica
* Ningún agente puede introducir dependencias que requieran root.
* Todo servicio debe correr en contenedor aislado.
* Logs deben ser accesibles sin privilegios elevados.
* Las claves deben residir exclusivamente en `.env`.
---
Documento interno del Proyecto Gloria.
Uso exclusivo para coordinación técnica.

172
PRD.md Normal file
View 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

180
README.md
View File

@@ -1 +1,179 @@
# gloria_app # 🧠 Gloria Plataforma de Gestión Terapéutica
Sistema modular de alta gama para la gestión de pacientes, triaje de crisis y automatización de agenda terapéutica.
---
## 📖 Descripción General
**Gloria** es una solución digital diseñada para la terapeuta Gloria Wells. El sistema optimiza la interacción entre la terapeuta, su asistente y los pacientes mediante un enfoque *phone-first* (identificación vía WhatsApp) y una estética visual premium inspirada en el bienestar y la sanación integral.
---
## 🚀 Arquitectura del Sistema
El proyecto sigue una arquitectura de **Monolito Modular**, manteniendo simplicidad de despliegue en VPS sin sacrificar escalabilidad interna.
### Tech Stack
**Frontend**
* Next.js 14 (App Router)
* Tailwind CSS
* Radix UI
**Backend**
* Next.js Server Actions
* API Routes
**Base de Datos**
* SQLite
* Prisma ORM
**Caché y Estado**
* Redis (sesiones y disponibilidad)
**Integraciones**
* Evolution API (WhatsApp)
* Google Calendar
**Infraestructura**
* Docker
* Docker Compose
* Hostinger VPS
---
## 📂 Estructura de Carpetas
```bash
├── src
│ ├── app # Rutas, Layouts y Server Components
│ │ ├── (auth) # Flujo de identificación por teléfono
│ │ ├── (dashboard) # Paneles de Gloria y Asistente
│ │ └── api # Webhooks y endpoints
│ ├── components # UI Kit
│ ├── core # Casos de uso
│ ├── infrastructure # Adaptadores externos
│ └── lib # Utilidades
├── prisma # Esquema y migraciones
├── docker # Configuración Docker
└── scripts # Tareas programadas
```
---
## 🛠 Instalación y Configuración
### Prerrequisitos
* Node.js 18+
* Docker & Docker Compose
* Instancia activa de Evolution API
---
### Pasos de Configuración
#### 1. Clonar Repositorio
```bash
git clone https://github.com/usuario/gloria-platform.git
cd gloria-platform
```
#### 2. Variables de Entorno
```bash
cp .env.example .env
```
Configurar valores en `.env`.
#### 3. Levantar Redis
```bash
docker-compose up -d redis
```
#### 4. Base de Datos
```bash
npx prisma db push
```
#### 5. Ejecutar en Desarrollo
```bash
npm run dev
```
---
## 🔐 Variables de Entorno
| Variable | Descripción |
| ------------------ | --------------------------- |
| DATABASE_URL | Ruta a la base SQLite |
| REDIS_URL | Conexión Redis |
| EVOLUTION_API_KEY | Token WhatsApp API |
| GOOGLE_CALENDAR_ID | ID del calendario principal |
---
## 🛡 Políticas de Datos y Privacidad
### Notas Clínicas
* Encriptadas en reposo
* Acceso exclusivo rol Terapeuta
### Audios
* Almacenamiento temporal
* Eliminación automática a 7 días
### Identificación
* Sin contraseñas
* Validación vía WhatsApp + Redis
---
## 🚢 Despliegue en Producción (Hostinger VPS)
Usar configuración optimizada:
```bash
docker-compose -f docker-compose.prod.yml up -d --build
```
Características:
* Auto-restart
* Persistencia de datos
* Volúmenes aislados
---
## 📌 Mantenimiento
* Limpieza automática de audios (`/scripts`)
* Backups periódicos de SQLite
* Rotación de logs Docker
---
## 📄 Licencia y Proyecto
Desarrollado para el proyecto:
**Sanación Integral Gloria Wells**
Uso interno y confidencial.

154
TASKS.md Normal file
View File

@@ -0,0 +1,154 @@
# 🗺️ Plan Maestro Detallado Proyecto Gloria (Sprints & QA)
Este documento define el plan de ejecución por sprints, controles de seguridad y fases de validación colaborativa.
---
## 🟢 Sprint 1 Cimientos, Infraestructura y Seguridad Base
### Foco
Aislamiento de procesos y entorno Non-Root.
### Tareas Técnicas
1.1 Crear Dockerfile con usuario `appuser` (UID 1001). Prohibir `RUN sudo`.
1.2 Configurar `docker-compose.yml` con límites de CPU y memoria.
1.3 Configurar SQLite con permisos restringidos.
1.4 Validar `.env` con zod en arranque.
### Testing & Seguridad
* Funcional: `pnpm install` y `prisma migrate` dentro del contenedor.
* Manual: `docker exec -it <id> whoami` ≠ root.
* Automático: Integrar helmet.js.
---
## 🔵 Sprint 2 Identidad Phone-First y Onboarding
### Foco
Validación sin contraseñas y privacidad.
### Tareas Técnicas
2.1 Rate limiting con Redis (IP + teléfono).
2.2 Formulario multi-paso persistente.
2.3 Fidelidad visual Nano Banana.
### Testing & Seguridad
* Funcional: Registro completo.
* Manual: Inyección XSS en nombre.
* Privacidad: IDs con UUID.
---
## 🟡 Sprint 3 Triaje de Crisis y Agenda
### Foco
Lógica sensible y disponibilidad.
### Tareas Técnicas
3.1 Motor de detección de crisis.
3.2 Sincronización Google Calendar con locks.
### Testing & Seguridad
* Funcional: Alta en calendario.
* Manual: Manipulación consola.
* Resiliencia: Simulación fallo API.
---
## 🟠 Sprint 4 Pagos y Roles
### Foco
Integridad financiera y control de acceso.
### Tareas Técnicas
4.1 Upload seguro (tipo/tamaño).
4.2 Middleware RBAC.
### Testing & Seguridad
* Funcional: Validación pago.
* Manual: Bypass dashboard.
* Vulnerabilidades: Archivos maliciosos.
---
## 🔴 Sprint 5 Voz y Notas Clínicas
### Foco
Privacidad extrema y ciclo de vida.
### Tareas Técnicas
5.1 Audio sandbox + Signed URLs.
5.2 Cron purga 7 días.
### Testing & Seguridad
* Funcional: Audio → WhatsApp.
* Manual: Acceso directo.
* Purga: Ejecución forzada.
---
## 🟣 Sprint 6 Integración Final y Stress QA
### Foco
Estabilidad y cumplimiento.
### Tareas Técnicas
6.1 Recordatorios WhatsApp.
6.2 Log de auditoría.
### Testing & Seguridad
* Regresión completa.
* Cookies compliance.
* Stress test (50 usuarios).
---
## 📝 Protocolo de Colaboración en Testing
### Entregables del Agente
* Código fuente
* Comando de test
* Evidencia de ejecución
### Validación del Director Técnico
* Ejecución manual
* Prueba de seguridad
* Revisión de logs
### Aprobación
Solo tras validación manual se habilita la siguiente fase.
---
Documento de control operativo y aseguramiento de calidad Proyecto Gloria