# 🧠 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 Niño. 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.

---

## 🎨 Referencia Visual (Mockup)

> **Importante:** Se ha creado un prototipo visual de alta fidelidad en la carpeta `mockup/`.
> Este prototipo (`index.html` + `styles.css`) debe utilizarse como **referencia estricta de diseño** (colores, tipografía, espaciado, animaciones) para la implementación en Next.js.
> La carpeta `mockup/` incluye una copia local de los assets en `mockup/src/` para ser totalmente autónoma.

### Nota para Desarrollo
El código de producción se implementará en **Next.js** dentro de la carpeta `src/`. El mockup es un artefacto separado para aprobación de diseño.

---

## 🚀 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
* Shadcn/ui (Radix UI based)
* TypeScript 5.x

**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

**Development**

* Node.js 22.x
* pnpm (package manager)
* ESLint + Prettier

---

## 📂 Estructura de Carpetas

```bash
├── mockup            # ⚠️ HTML/CSS de referencia visual (NO usar en producción)
│   ├── index.html    # Prototipo estático del sitio
│   └── styles.css    # Estilos de referencia
├── 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
```

> **Nota:** La carpeta `mockup/` contiene únicamente prototipos HTML/CSS estáticos para referencia visual durante el desarrollo. El código de producción se implementará en Next.js dentro de `src/`.

---

## 🛠 Instalación y Configuración

### Prerrequisitos

* Node.js 22.x
* pnpm (instalar con `npm install -g pnpm`)
* 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. Instalar Dependencias

```bash
pnpm install
```

#### 3. Variables de Entorno

```bash
cp .env.example .env
```

Configurar valores en `.env`.

#### 4. Levantar Redis

```bash
docker compose up -d redis
```

#### 5. Base de Datos

```bash
pnpm prisma db push
```

#### 6. Ejecutar en Desarrollo

```bash
pnpm dev
```

El servidor estará disponible en http://localhost:3000

#### 7. Build de Producción

```bash
pnpm build
```

---

## 🔐 Variables de Entorno

| Variable | Descripción |
| --- | --- |
| NODE_ENV | Environment (development/production) |
| DATABASE_URL | Ruta a la base SQLite |
| REDIS_URL | Conexión Redis |
| NEXTAUTH_SECRET | Secret para NextAuth |
| EVOLUTION_API_URL | URL de Evolution API |
| EVOLUTION_API_KEY | Token de WhatsApp API |
| EVOLUTION_INSTANCE_ID | ID de instancia WhatsApp |
| GOOGLE_CALENDAR_ID | ID del calendario principal |
| GOOGLE_CLIENT_ID | Client ID Google OAuth |
| GOOGLE_CLIENT_SECRET | Client Secret Google OAuth |
| WHATSAPP_PHONE_NUMBER | Número de WhatsApp de Gloria |

Ver `.env.example` para todas las variables disponibles.

---

## 🛡 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

---

## 📚 Scripts Disponibles

```bash
pnpm dev          # Inicia servidor de desarrollo
pnpm build        # Build de producción
pnpm start        # Inicia servidor de producción
pnpm lint         # Ejecuta ESLint
pnpm typecheck    # Ejecuta TypeScript checker
pnpm prisma:studio # Abre Prisma Studio
```

---

## 📊 Estado del Proyecto

Ver progreso detallado en:
- **[PROGRESS.md](./PROGRESS.md)** - Seguimiento por Sprint
- **[TASKS.md](./TASKS.md)** - Plan de ejecución
- **[CHANGELOG.md](./CHANGELOG.md)** - Historial de cambios

**Estado Actual:** Sprint 1 - Cimientos e Infraestructura 🚧 En Progreso

---

## 🚢 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 Niño**

Uso interno y confidencial.

