diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..ffb58cb --- /dev/null +++ b/AGENTS.md @@ -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. + diff --git a/PRD.md b/PRD.md new file mode 100644 index 0000000..6432669 --- /dev/null +++ b/PRD.md @@ -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 + diff --git a/README.md b/README.md index d307943..7420611 100644 --- a/README.md +++ b/README.md @@ -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. + diff --git a/TASKS.md b/TASKS.md new file mode 100644 index 0000000..e52c535 --- /dev/null +++ b/TASKS.md @@ -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 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 +