🧠 CORE MULTIPROYECTO — CESCAC

Documento maestro. Todos los agentes leen esto primero. Actualizado: 24/02/2026 05:51

# CORE MULTIPROYECTO — CESCAC
## Documento Maestro para Todos los Agentes de Cursor

> **ACCESO RAPIDO DESDE CUALQUIER LUGAR:**
> `http://128.254.207.173/core.php` — Este documento en la web (siempre actualizado)
>
> **Archivo local:** `C:\Users\CESCAC\Desktop\CORE_MULTIPROYECTO.md`
> **En el VPS:** `/home/admin/CORE_MULTIPROYECTO.md`
>
> **TODO AGENTE NUEVO DEBE LEER ESTO COMPLETO ANTES DE HACER CUALQUIER COSA.**
>
> Ultima actualizacion: 23 Feb 2026 — Agente CRM_CESCAC

---

## CLIENTE

| Campo | Valor |
|---|---|
| **Empresa** | CESCAC Productos y Servicios S.A.S. |
| **Responsable** | Dr. Cevallos |
| **Email** | dr.abcevallosf@gmail.com |
| **WhatsApp** | +593981765440 |
| **Pais/Zona** | Ecuador — America/Guayaquil (UTC-5) |
| **Dominio principal** | cescac.com |
| **RUC** | 0993389404001 |
| **Giro** | Electrodomesticos, tecnologia, salud, construccion, maquinaria, sublimados, contabilidad |

---

## INFRAESTRUCTURA COMPLETA

### Vision general

```
INTERNET
|
+-- cescac.com ──────────────> EcuaHosting cPanel (legado)
|   +-- cescac.com/            Sitio web principal CESCAC
|   +-- cescac.com/crm/crm.php Webhook WhatsApp/Meta (PERMANENTE AQUI, no mover)
|   +-- email @cescac.com      Correos corporativos
|
+-- crm.cescac.com ──────────> VPS ExtraVM 128.254.207.173
|   +-- CRM completo + panel admin + bot
|
+-- sm.cescac.com ───────────> VPS ExtraVM 128.254.207.173
|   +-- Sistema Medico (Laravel)
|
+-- vps.cescac.com ──────────> VPS ExtraVM 128.254.207.173
|   +-- Pagina de admin/core del servidor
|
+-- [futuros].cescac.com ────> VPS ExtraVM 128.254.207.173
    +-- Proyectos futuros
```

### Por que dos servidores

| | EcuaHosting (cPanel) | VPS ExtraVM (HestiaCP) |
|---|---|---|
| **Rol** | Webhook + Email + Web principal | Todos los proyectos activos |
| **Webhook WhatsApp** | QUEDA AQUI (Meta ya lo conoce) | No |
| **Email @cescac.com** | QUEDA AQUI | Puede migrar eventualmente |
| **CRM / SM / proyectos** | Muy limitado | AQUI van todos |
| **Cron jobs / exec()** | Bloqueados en hosting compartido | Sin restricciones |
| **PHP timeout** | 60s maximo | Sin limite |
| **Estado** | Pagado todo el ano | Pagado — usar al maximo |

---

## SERVIDOR VPS — DATOS CRITICOS

| Campo | Valor |
|---|---|
| **Proveedor** | ExtraVM LLC — Miami, Florida |
| **IP** | `128.254.207.173` |
| **SSH** | `root` / `gxqD1yp2tiyv1QR2xHCD` / puerto 22 |
| **OS** | Ubuntu 24.04.4 LTS (Noble Numbat) |
| **Panel** | HestiaCP 1.9.4 — `https://128.254.207.173:8083` |
| **HestiaCP login** | `admin` / `Admin2026CESCAC` |
| **RAM** | 8 GB |
| **CPU** | 4 cores AMD Ryzen 9950X |
| **Disco** | 120 GB NVMe |
| **Trafico** | 20 TB/mes |
| **VS Code Web** | `http://128.254.207.173:8090` / pass: `Cescac2026!` |
| **Workspace code-server** | `/root/CESCAC_Projects.code-workspace` |

**Stack instalado (NO reinstalar nada sin coordinacion):**
`Nginx (proxy) + Apache 2.4 (backend PHP) + PHP 8.3 (FPM) + MariaDB 11.4 + Composer + Exim + Dovecot + Bind DNS + VSFTPD + iptables + Fail2ban + HestiaCP 1.9.4 + code-server`

### Puertos importantes

| Puerto | Servicio | Acceso |
|---|---|---|
| 22 | SSH | root + clave |
| 80 | HTTP (Nginx proxy) | Publico |
| 443 | HTTPS (Nginx proxy) | Publico |
| 8083 | HestiaCP panel | admin + clave |
| 8090 | code-server (VS Code Web) | password Cescac2026! |
| 3306 | MariaDB | Solo localhost |
| 21 | FTP VSFTPD | admin + clave HestiaCP |

---

## HOSTING COMPARTIDO — ECUAHOSTING (cPanel)

| Campo | Valor |
|---|---|
| **URL cPanel** | https://cescac.com:2083 |
| **FTP** | cescac.com puerto 21 |
| **Usuario FTP** | crm@cescac.com |
| **Pass FTP** | 29CF995b_31@ |
| **Directorio CRM** | `/home/cescacco/public_html/crm/` |
| **BD MySQL** | `cescacco_crmcescac` / user: `cescacco_crm` / pass: `29CF995b_31@` |
| **Estado** | Activo y pagado todo el ano |

**Que quedo en EcuaHosting (no se borro nada):**
- **Archivos del CRM** (la copia vieja): siguen en `/home/cescacco/public_html/crm/`. Son los mismos archivos que antes; no estan "horribles" por estar ahi, solo es la copia antigua. El CRM que usas ahora es el del VPS.
- **crm.php (webhook):** Sigue en `cescac.com/crm/crm.php`. Meta apunta ahi. Cuando quieras, puedes reconfigurar el webhook en Meta para que apunte a `https://crm.cescac.com/crm.php` (VPS) y dejarlo todo en un solo servidor.
- **Email @cescac.com** — Sigue en cPanel.
- **Sitio web principal cescac.com** — Landing page (IP 38.46.223.180).
- **BD cescacco_crmcescac** — Sigue como respaldo; la activa es admin_cescac_crm en el VPS.

---

## PROYECTOS ACTIVOS

### PROYECTO 1 — CRM CESCAC
| Campo | Valor |
|---|---|
| **Stack** | PHP 8.3 puro (sin framework) |
| **Local Cursor** | `C:\Users\CESCAC\Desktop\CRM_CESCAC\` |
| **VPS (produccion)** | `/home/admin/web/crm.cescac.com/public_html/` |
| **EcuaHosting (webhook)** | `/home/cescacco/public_html/crm/crm.php` — solo webhook |
| **URL** | `https://crm.cescac.com` (cuando DNS apunte al VPS) |
| **BD VPS** | `admin_cescac_crm` / user: `admin_cescac_crm_user` / pass: `cescac2026VPS!` |
| **BD EcuaHosting (legado)** | `cescacco_crmcescac` |
| **Estado** | MIGRADO AL VPS — 58 PHP files + 18 tablas |
| **Agente** | CRM_CESCAC |

**Funciones listas:**
- Bot WhatsApp+Messenger+Instagram multi-empresa
- Scraper Branovi.com (3 fases: categorias, productos, precios)
- Calculadora precios (IVA, Nuvei, SRI, banco, 15% renta)
- Catalogos Vaca + Techmark
- Generador publicidad automatica
- Sugerencias con IA
- Panel admin completo
- Navbar global multi-unidad
- Sistema de vendedores con comisiones
- Cron jobs configurados (Branovi 02:00, followup horario, backup 04:00)

**Pendientes:**
- DNS crm.cescac.com y sm.cescac.com ya apuntan a 128.254.207.173 (propagando). Verificar en celular: https://crm.cescac.com y https://crm.cescac.com/login.php
- Cron Branovi diario activo (ya configurado, espera DNS)
- Vaca PDF/OCR Google Drive
- Catalogos bot fase 2

**Deploy desde Cursor:**
- SFTP auto-upload configurado en `.vscode/sftp.json` (perfil VPS-CRM)
- Para deploy completo: `powershell -File deploy.ps1 -Full`
- Para solo archivos: guardar cualquier .php (auto-upload al VPS)
- Para subir .env: `powershell -File deploy.ps1 -EnvOnly`

---

### PROYECTO 2 — SISTEMA MEDICO (SM)
| Campo | Valor |
|---|---|
| **Stack** | Laravel 10+ / PHP 8.3 |
| **Local** | `C:\IMPORTANTE\` (preguntar al agente SM) |
| **VPS** | `/home/admin/web/sm.cescac.com/public_html/` |
| **URL** | `https://sm.cescac.com` |
| **BD VPS** | `admin_cescac_sm` / user: `admin_sm_user` / pass: `sm2026VPS!` |
| **Estado** | Dominio y BD creados en HestiaCP — pendiente subir codigo |
| **Agente** | SM_CESCAC |

**Que hace:** Gestion clinica — anamnesis, dosis, diagnosticos, descargo, historiales. Preparado para IA.

---

## ESTRUCTURA DE DIRECTORIOS EN VPS

```
/home/admin/
+-- web/
|   +-- crm.cescac.com/
|   |   +-- public_html/     <- CRM (PHP files, .env, .htaccess)
|   |   +-- logs/            <- crm.cescac.com.error.log, .log
|   |   +-- private/
|   |   +-- public_shtml/
|   +-- sm.cescac.com/
|   |   +-- public_html/     <- Laravel (pendiente)
|   |   +-- logs/
|   +-- vps.cescac.com/
|       +-- public_html/     <- core.php y admin tools
+-- backups/                 <- Backups diarios de BD (*.sql.gz)
+-- CORE_MULTIPROYECTO.md    <- Este archivo (copia en VPS)
+-- .config/
    +-- code-server/config.yaml

/root/
+-- CESCAC_Projects.code-workspace   <- Workspace para code-server
+-- crm_schema.sql                   <- Schema BD importado

/var/log/cescac/
+-- branovi.log      <- Logs scraper Branovi
+-- followup.log     <- Logs cron follow-up
+-- inactivos.log    <- Logs cron inactivos
+-- limpieza.log     <- Logs cron limpieza
```

---

## BASES DE DATOS EN VPS

| BD | Usuario | Password | Proyecto |
|---|---|---|---|
| `admin_cescac_crm` | `admin_cescac_crm_user` | `cescac2026VPS!` | CRM |
| `admin_cescac_sm` | `admin_sm_user` | `sm2026VPS!` | Sistema Medico |

**Tablas CRM (37) — importadas desde backup real EcuaHosting 23/02/2026:**

| Tabla | Registros | Descripcion |
|---|---|---|
| `catalogo_branovi` | 2,352 | Productos scrapeados de Branovi.com |
| `branovi_pendientes` | 500 | Cola de scraping pendiente |
| `conversation_logs` | 266 | Historial conversaciones bot |
| `leads` | 187 | Clientes captados por el bot |
| `configuracion_comisiones` | 68 | Config de comisiones por nivel |
| `branovi_categorias` | 26 | Categorias Branovi |
| `catalogo_vaca` | 9 | Catalogo Vaca (PDF procesado) |
| `margenes_categoria` | 7 | Margenes por categoria producto |
| `ventas` | 4 | Ventas registradas |
| `vendedores` | 3 | Vendedores activos |
| `proveedores` | 3 | Proveedores registrados |
| `obsequios_reglas` | 4 | Reglas de obsequios por venta |
| `leads`, `conversation_counter`, `comisiones_log` | varios | Bot y comisiones |
| `agenda_salud` | 0 | Agenda medica (Dr. Cevallos) |
| `seguimientos`, `sugerencias`, `productos` | 0 | Listos para usar |
| `analisis_diferenciales`, `anamnesis_respuestas` | 0 | Modulo medico (pendiente SM) |
| `comparacion_precios`, `estrategias_compra` | 0 | Modulo precios avanzado |
| `catalogo_publicado`, `promociones` | 0 | Catalogo publico y promos |
| `vaca_archivos`, `historial_scraping` | 0 | Archivos y logs scraper |

**Acceso phpMyAdmin:** `https://128.254.207.173:8083` -> Databases (desde HestiaCP)

---

## CRON JOBS ACTIVOS EN VPS

| Horario | Script | Log |
|---|---|---|
| 02:00 diario | `cron/cron_branovi.php` | `/var/log/cescac/branovi.log` |
| Cada hora | `cron/cron_followup.php` | `/var/log/cescac/followup.log` |
| Dom 03:00 | `cron/cron_desactivar_inactivos.php` | `/var/log/cescac/inactivos.log` |
| 1ro mes 01:00 | `cron/cron_limpieza.php` | `/var/log/cescac/limpieza.log` |
| 04:00 diario | mysqldump backup | `/home/admin/backups/crm_YYYYMMDD.sql.gz` |

---

## DEPLOY Y SINCRONIZACION DESDE CURSOR

### Auto-upload al guardar
El archivo `.vscode/sftp.json` tiene configurados 2 perfiles:
- **VPS-CRM** (activo por defecto): auto-sube al guardar cualquier .php/.js/.css a `/home/admin/web/crm.cescac.com/public_html/`
- **VPS-SM**: para Sistema Medico (desactivado por defecto)

Extension requerida en Cursor: **SFTP** (liximomo o Natizyskunk)

### Deploy manual completo
```powershell
# Desde C:\Users\CESCAC\Desktop\CRM_CESCAC\
powershell -File deploy.ps1              # Solo archivos
powershell -File deploy.ps1 -EnvOnly     # Solo .env
powershell -File deploy.ps1 -DbOnly      # Solo SQL migrations
powershell -File deploy.ps1 -CronOnly    # Solo crons
powershell -File deploy.ps1 -Full        # Todo
powershell -File deploy.ps1 -Status      # Estado del servidor
```

### Upload via ZIP (para cambios masivos)
```powershell
powershell -File make_zip.ps1   # Crea ZIP en %TEMP%\crm_deploy.zip
powershell -File upload_zip.ps1 # Sube ZIP y extrae en VPS
```

---

## ACCESO DESDE MOVIL O CUALQUIER DISPOSITIVO

| Herramienta | URL/App | Credencial | Para que |
|---|---|---|---|
| **HestiaCP** | `https://128.254.207.173:8083` | `admin` / `Admin2026CESCAC` | Gestionar servidor visualmente |
| **VS Code Web** | `http://128.254.207.173:8090` | `Cescac2026!` | Editar codigo desde celular/tablet |
| **Termius** app | iOS/Android gratis | SSH: `root` / `gxqD1yp2tiyv1QR2xHCD` | Terminal SSH desde celular |
| **CRM Admin** | `https://crm.cescac.com/login.php` | ver .env | CRM desde cualquier lugar |
| **CORE doc** | `http://128.254.207.173/core.php` | publico | Ver este documento en la web |

**Workspace code-server:** Abre `http://128.254.207.173:8090` -> File -> Open Workspace -> `/root/CESCAC_Projects.code-workspace`
Tendras todos los proyectos, logs y backups en el explorador de archivos del navegador.

---

## CREDENCIALES GLOBALES

| Servicio | Usuario | Password |
|---|---|---|
| HestiaCP panel | `admin` | `Admin2026CESCAC` |
| SSH VPS root | `root` | `gxqD1yp2tiyv1QR2xHCD` |
| VS Code Web | — | `Cescac2026!` |
| BD CRM VPS | `admin_cescac_crm_user` | `cescac2026VPS!` |
| BD SM VPS | `admin_sm_user` | `sm2026VPS!` |
| EcuaHosting FTP | `crm@cescac.com` | `29CF995b_31@` |
| Gemini AI API | — | `AIzaSyC9JDyt4mYNHMm1UCCT7Ynop4qqBAYR6Oo` |
| Admin CRM | `admin` | `cescac2026Admin!` (ver .env) |

---

## REGLAS DE ORO — TODO AGENTE NUEVO LAS APLICA

### Al comenzar
1. Lee este archivo COMPLETO — sin excepcion
2. Verifica que tu proyecto no exista ya en "Proyectos Activos"
3. Tu directorio: `/home/admin/web/TU_DOMINIO/public_html/`
4. Tu BD: crearla en HestiaCP panel -> Databases -> Add Database
5. BD prefix SIEMPRE: `admin_NOMBRE_bd` (HestiaCP lo hace automatico)
6. Registra tu proyecto en la seccion "Proyectos Activos" de este archivo

### Al trabajar
7. SFTP al VPS: host `128.254.207.173`, user `root`, pass `gxqD1yp2tiyv1QR2xHCD`, puerto 22
8. Solo tocas TU directorio — nunca el de otros proyectos
9. PHP 8.3 por defecto, Composer en `/usr/local/bin/composer`
10. Cron jobs: crearlos via HestiaCP panel o editar crontab del root
11. Logs del dominio: `/home/admin/web/TU_DOMINIO/logs/`
12. NO uses `php_value` en .htaccess — HestiaCP usa PHP-FPM, no mod_php

### Nunca jamas
13. NO reinstales software del servidor sin coordinacion
14. NO toques `/etc/nginx/`, `/etc/apache2/`, `/etc/mysql/` (HestiaCP los gestiona)
15. NO instales otro panel de control
16. NO toques `cescac.com/crm/crm.php` en EcuaHosting — es el webhook de WhatsApp
17. NO subas .env directamente por SFTP — usar `deploy.ps1 -EnvOnly` o base64

### Al terminar cambios
18. Actualiza la BITACORA al final de este archivo
19. Si instalaste algo nuevo en el servidor, actualiza la seccion del stack
20. Sube este CORE al VPS: subir archivo a `/home/admin/CORE_MULTIPROYECTO.md`

---

## PENDIENTES GLOBALES

| # | Tarea | Quien | Estado |
|---|---|---|---|
| 1 | Apuntar DNS `crm.cescac.com` -> `128.254.207.173` en cPanel EcuaHosting | Cliente | Pendiente |
| 2 | Apuntar DNS `sm.cescac.com` -> `128.254.207.173` | Cliente | Pendiente |
| 3 | SSL automatico ambos dominios (Let's Encrypt via HestiaCP) | Auto tras DNS | Pendiente |
| 4 | Subir codigo Laravel del Sistema Medico al VPS | SM_CESCAC | Pendiente |
| 5 | Verificar funcionamiento CRM tras apuntar DNS | CRM_CESCAC | Pendiente |
| 6 | Vaca PDF/OCR Google Drive | CRM_CESCAC | Pendiente |
| 7 | Conectar webhook EcuaHosting a redirigir al VPS | CRM_CESCAC | Pendiente |

---

## BITACORA DE CAMBIOS

| Fecha | Agente | Proyecto | Cambio |
|---|---|---|---|
| 23 Feb 2026 | CRM_CESCAC | INFRA | Setup VPS Ubuntu 24.04 + HestiaCP 1.9.4 instalado |
| 23 Feb 2026 | CRM_CESCAC | INFRA | code-server instalado en puerto 8090 (pass: Cescac2026!) |
| 23 Feb 2026 | CRM_CESCAC | INFRA | iptables: puertos 8090 y 8083 abiertos y persistidos |
| 23 Feb 2026 | CRM_CESCAC | INFRA | CORE_MULTIPROYECTO.md publicado en http://128.254.207.173/core.php |
| 23 Feb 2026 | CRM_CESCAC | CRM | Dominio crm.cescac.com creado en HestiaCP |
| 23 Feb 2026 | CRM_CESCAC | SM | Dominio sm.cescac.com creado en HestiaCP |
| 23 Feb 2026 | CRM_CESCAC | CRM | BD admin_cescac_crm creada (schema inicial 18 tablas) |
| 23 Feb 2026 | CRM_CESCAC | CRM | Backup real EcuaHosting importado: 37 tablas, 187 leads reales, 2352 productos Branovi, 266 conversaciones |
| 23 Feb 2026 | CRM_CESCAC | CRM | Tabla conversation_counter creada en VPS; db_connect.php con ruta VPS; CRM 100% activo en VPS |
| 23 Feb 2026 | CRM_CESCAC | SM | BD admin_cescac_sm creada (vacia, lista para Laravel) |
| 23 Feb 2026 | CRM_CESCAC | CRM | 58 archivos PHP subidos a /home/admin/web/crm.cescac.com/public_html/ |
| 23 Feb 2026 | CRM_CESCAC | CRM | .env de produccion subido con credenciales VPS |
| 23 Feb 2026 | CRM_CESCAC | CRM | Cron jobs configurados (branovi, followup, backups diarios) |
| 23 Feb 2026 | CRM_CESCAC | CRM | PHP-FPM configurado: 50M upload, 256M memory, 300s timeout |
| 23 Feb 2026 | CRM_CESCAC | CRM | .htaccess creado (Options -Indexes, sin php_value - usar PHP-FPM) |
| 23 Feb 2026 | CRM_CESCAC | INFRA | SFTP auto-upload desde Cursor configurado (.vscode/sftp.json) |
| 23 Feb 2026 | CRM_CESCAC | INFRA | deploy.ps1 creado para deploy manual por opciones |
| 23 Feb 2026 | CRM_CESCAC | INFRA | code-server workspace multi-proyecto creado (/root/CESCAC_Projects.code-workspace) |
| 23 Feb 2026 | SM_CESCAC | SM | Proyecto registrado en CORE |

---
*Fuente de verdad de todos los proyectos CESCAC. Siempre actualizar al hacer cambios.*
*Acceso web: `http://128.254.207.173/core.php`*
*Archivo local: `C:\Users\CESCAC\Desktop\CORE_MULTIPROYECTO.md`*