5.7 KiB
5.7 KiB
📋 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.tsydrugs.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:
ContentAdapterinterface (contrato)LocalContentAdapter(fallback a código actual)PackContentAdapter(lee desde Content Pack)ContentAdapterFactory(selección automática)
Estrategia de Fallback:
- Intentar Content Pack (si existe)
- Si falla → contenido local (
procedures.ts,drugs.ts) - 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
-
Supabase como opción principal
- PostgreSQL robusto
- Storage integrado
- API automática
- Panel admin incluido
-
Content Pack como distribución
- JSON descargable
- Cache local en app
- Offline-first garantizado
- Sin dependencia de BD en producción
-
Fallback a local siempre
- Compatibilidad 100%
- Sin romper producción
- Migración gradual
-
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