# 📋 RESUMEN EJECUTIVO - PLAN TÉCNICO SISTEMA DE CONTENIDO **Fecha:** 2025-01-06 **Versión:** 1.0 **Documento Completo:** `docs/PLAN_TECNICO_SISTEMA_CONTENIDO.md` --- ## 🎯 OBJETIVO Convertir la auditoría completa en un **sistema técnico ejecutable** que permita: - Gestionar contenido externo (protocolos, guías, recursos) sin tocar código - Asociar imágenes/vídeos a contenido específico - Validar contenido con TES reales - Versionar cambios sin romper producción - Mantener offline-first y compatibilidad total --- ## 📐 ARQUITECTURA PROPUESTA ### Base de Datos: **Supabase** (Principal) / **PocketBase** (Alternativa) **Supabase elegido por:** - ✅ PostgreSQL completo con relaciones - ✅ Storage integrado (imágenes/vídeos) - ✅ API REST automática - ✅ Panel admin web incluido - ✅ Offline-first compatible (Content Pack JSON) - ✅ Gratis hasta 500MB **Flujo:** ``` Supabase (Cloud) → Content Pack JSON → App PWA (Cache local) → Funciona 100% offline ``` --- ## 🏗️ FASES DE IMPLEMENTACIÓN ### FASE 4: Base de Contenido (PRIMERO) **Modelo de Datos Canónico:** - `BaseContentItem` (protocolo, guía, manual, fármaco, checklist) - `MediaResource` (imágenes y vídeos con metadatos) - `ContentResourceAssociation` (asociación contenido ⇄ recursos) - `ContentPack` (distribución como JSON) **Características:** - ✅ Desacoplado de `procedures.ts` y `drugs.ts` - ✅ Versionado integrado - ✅ Prioridades (crítica/alta/media/baja) - ✅ Estados (draft/in_review/approved/published/archived) - ✅ Fuentes clínicas (ERC, SEMES, etc.) **Esquema BD:** - `content_items` (contenido principal) - `media_resources` (imágenes/vídeos) - `content_resource_associations` (relaciones) - `content_versions` (historial) - `audit_logs` (auditoría) --- ### FASE 2: Integración Estructural (DESPUÉS) **Capa de Lectura:** - `ContentAdapter` interface (contrato) - `LocalContentAdapter` (fallback a código actual) - `PackContentAdapter` (lee desde Content Pack) - `ContentAdapterFactory` (selección automática) **Estrategia de Fallback:** 1. Intentar Content Pack (si existe) 2. Si falla → contenido local (`procedures.ts`, `drugs.ts`) 3. Si falla → error controlado **Enlaces Bidireccionales:** - Protocolo → Guía → Manual - Guía → Protocolo → Recursos - Manual → Guía → Protocolo - Sin cambiar rutas existentes --- ### FASE 3: Validación y Escalado (DESPUÉS) **Sistema de Validación:** - Flujo: `draft` → `in_review` → `approved` → `published` - Validadores TES con roles (tes/medico/formador) - Comentarios y sugerencias - Expiración de validación **Feedback desde App:** - Botón de feedback en cada contenido - Tipos: error/suggestion/question/praise - Screenshot opcional - Contexto (sección, paso, recurso) **Versionado:** - Versión semántica (1.2.3) - Breaking changes marcados - Rollback a versiones anteriores - Changelog automático --- ## 🎛️ PANEL DE ADMINISTRACIÓN ### Funcionalidades: **Editor de Protocolo:** - ✅ Editar pasos, warnings, checklist - ✅ Asociar imágenes/vídeos (drag-and-drop) - ✅ Cambiar prioridades - ✅ Preview "Modo TES" - ✅ Versionar cambios **Gestor de Recursos:** - ✅ Upload imágenes/vídeos - ✅ Editar metadatos (alt, caption, tags) - ✅ Asociar a contenido específico - ✅ Ver recursos sin asociar **Dashboard:** - ✅ Estado de contenido (completos/incompletos) - ✅ Protocolos sin recursos críticos - ✅ Contenido pendiente de validación - ✅ Actividad reciente **Restricciones:** - ❌ NO modificar rutas - ❌ NO cambiar componentes - ❌ NO afectar Service Worker - ✅ SÍ editar contenido y recursos --- ## 📅 ROADMAP (16 Semanas) | Semana | Fase | Tareas | |--------|------|--------| | 1-2 | Fase 4.1 | Modelo de datos, tipos TypeScript | | 3-4 | Fase 4.2 | Supabase, esquema BD, migración | | 5-6 | Fase 2.1 | ContentAdapter, fallback | | 7 | Fase 2.2 | Enlaces bidireccionales | | 8-9 | Fase 3.1 | Sistema de validación | | 10 | Fase 3.2 | Versionado | | 11-12 | Panel 1 | Editor protocolo, gestor recursos | | 13-14 | Panel 2 | Editor guías, biblioteca, auditoría | | 15-16 | Testing | Validación con TES, optimización | --- ## ✅ MÉTRICAS DE ÉXITO ### Fase 4 (Base): - Modelo completo y documentado - BD configurada y funcionando - Contenido migrado sin pérdida ### Fase 2 (Integración): - App consume contenido externo - Fallback 100% funcional - Enlaces bidireccionales operativos ### Fase 3 (Validación): - Validación funcional - Feedback operativo - Versionado completo ### Panel Admin: - Edición sin tocar código - Upload de recursos funcional - Asociación operativa --- ## 🔑 DECISIONES CLAVE 1. **Supabase como opción principal** - PostgreSQL robusto - Storage integrado - API automática - Panel admin incluido 2. **Content Pack como distribución** - JSON descargable - Cache local en app - Offline-first garantizado - Sin dependencia de BD en producción 3. **Fallback a local siempre** - Compatibilidad 100% - Sin romper producción - Migración gradual 4. **Versionado semántico** - Control de cambios - Rollback seguro - Changelog automático --- ## 🚫 LO QUE NO SE TOCA - ❌ `src/data/procedures.ts` - ❌ `src/data/drugs.ts` - ❌ Sistema de búsqueda - ❌ Service Worker - ❌ Rutas de navegación - ❌ Componentes existentes **Todo se hace vía Content Pack y adaptadores.** --- ## 📚 DOCUMENTACIÓN COMPLETA - **Plan Técnico Completo:** `docs/PLAN_TECNICO_SISTEMA_CONTENIDO.md` - **Auditoría:** `docs/AUDITORIA_COMPLETA_ESTADO_APP.md` - **Modelo de Datos:** Ver sección 4.1 del plan técnico - **Esquema BD:** Ver sección 4.2 del plan técnico --- **Estado:** ✅ Diseño Completo - Listo para Implementación