codigo0/docs/RESUMEN_EJECUTIVO_PLAN_TECNICO.md

232 lines
5.7 KiB
Markdown

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