Files
motor-de-encuestas/PROJECT_STATUS.md
2026-06-10 21:42:14 -03:00

115 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ESTADO DEL PROYECTO — Datos País sobre el Cuidado
## Documento de continuidad — junio 2026 (actualización)
> Director: Marcos · Metodología: Maria Mersan · Contacto Fundación: Valeria Arce
> Última actualización: 10 junio 2026
---
## 1. URLs operativas
| Encuesta | URL |
|---|---|
| Demo (Empresa Demo) | https://economia-cuidado.inqualityhq.com/?s=30000000-0000-0000-0000-000000000001 |
| InQuality | https://economia-cuidado.inqualityhq.com/?s=30000000-0000-0000-0000-000000000002 |
| Fundación Solidaridad | https://economia-cuidado.inqualityhq.com/?s=30000000-0000-0000-0000-000000000003 |
| Control de respuestas | https://economia-cuidado.inqualityhq.com/admin/responses |
| Dashboard | https://economia-cuidado.inqualityhq.com/dashboard |
---
## 2. Infraestructura — OPERATIVA ✅
- **App:** Next.js 15.3.3 + TypeScript + Tailwind CSS (⚠️ CVE-2025-66478 pendiente)
- **DB:** Supabase self-hosted en Dokploy v0.29.4
- **VPS:** inq-mart-2, IP VPN: 172.20.5.11
- **Repos:**
- App: `git.inquality.com.py/marcos/motor-de-encuestas` (rama main)
- Supabase stack: `git.inquality.com.py/marcos/supabase-motor-fomularios` (rama master)
- **API Supabase:** https://db.inqualityhq.com (Kong + SSL)
- **Backups:** `/var/backups/supabase-prod/`, cron 3AM, retención GFS (3 días diarios + domingos 14 días)
---
## 3. Instrumento — v2.1 ACTIVO
- **44 preguntas**, 8 secciones
- **Salto triple:** 1.1=No AND 1.6=No AND 1.13=No → salta a 6.4
- **Nueva pregunta 6.6:** "¿Estarías dispuesto/a a ser voluntario/a en iniciativas y/o redes de apoyo?"
- **2.4 eliminada** (similar a 2.1)
- **2.1 → multiple_choice** (TECH-DEBT: falta ranking de prioridad)
- "Prefiero no decir" eliminado de todas las preguntas
- Hint "Podés marcar más de una opción" en todas las multiple_choice
- "Tecnología asistiva" agregada en 1.3 y 1.10 (penúltima posición)
---
## 4. DB — estado actual
| Tabla | Filas |
|---|---|
| organizations | 3 (Empresa Demo, InQuality, Fundación Solidaridad) |
| surveys | 3 (una por organización) |
| questions | 132 (44 × 3 surveys) |
| responses | 3 (todas de prueba) |
| answers | 97 (de prueba) |
---
## 5. Vista de control /admin/responses
- Tabla plana: una fila por answer, agrupada por submission
- Excluye: `text_long`, `is_sensitive=true`, `3.4` (salary)
- Sin auth — URL no publicada (TECH-DEBT-008)
- **Pendiente:** contraer/expandir por submission + eliminar columna Tipo
---
## 6. Deuda técnica abierta
| ID | Descripción | Bloqueante |
|---|---|---|
| TECH-DEBT-006 | Backup remoto S3 | **SÍ — antes del primer dato real** |
| TECH-DEBT-007 | auth.jwt() deprecado en GoTrue v2.189+ | No (piloto) |
| TECH-DEBT-008 | /admin/responses sin auth | No (URL no publicada) |
| CVE-2025-66478 | Next.js 15.3.3 con vulnerabilidad crítica | **SÍ — antes del primer dato real** |
---
## 7. Pendientes inmediatos (en orden)
1. **CVE-2025-66478** — actualizar Next.js (bloqueante antes del primer dato real)
2. **TECH-DEBT-006** — backup remoto S3 (bloqueante antes del primer dato real)
3. **Etapa 2G** — cierre Sprint 2: C.8, AP.10, AP.11 en el método
4. **Admin/responses** — contraer/expandir + eliminar columna Tipo
5. **RE Index** — confirmar mapeo G1/G2/G4/G5 → códigos seed antes de implementar
6. **Informe descargable** — prometido en deck comercial
---
## 8. Decisiones tomadas — no reabrir
1. Supabase en Dokploy siempre via modo Git (no docker raw)
2. POSTGRES_PASSWORD siempre con `openssl rand -hex`
3. kong.yml: una sola entrada por bloque keyauth_credentials
4. SMTP_PORT=587 siempre explícito aunque SMTP esté desactivado
5. GOTRUE_EXTERNAL_ANONYMOUS_USERS_ENABLED=false siempre explícito
6. LUA_AUTH_EXPR con prefijo "Bearer " en kong-entrypoint.sh rama legacy
7. NEXT_PUBLIC_SUPABASE_URL via Build Argument en Dokploy
8. App Next.js conecta a https://db.inqualityhq.com (URL pública)
9. /admin/responses no muestra is_sensitive=true hasta tener auth (TECH-DEBT-008)
10. brand_config.org_name es el campo que alimenta el nombre de empresa en el formulario
11. Organizaciones separadas para cada encuesta (InQuality y Fundación Solidaridad)
12. conditional_rules referencian códigos de pregunta, no UUIDs
---
## 9. Contexto comercial
- 2 empresas comprometidas para piloto
- Cronograma: JUN inicio · JUL-AGO relevamiento · SEP análisis · OCT informe + evento
- Meta: 20 empresas pioneras
- Precios: Gs. 4.5M (≤50) · 7.5M (≤200) · 12M (≤400)
- GAPs deck vs producto: RE Index no implementado, informe descargable no existe
- Contacto Fundación: Valeria Arce — ddff@fundacionsolidaridad.org.py · +595 991 854333