codigo0/docs/CHECKLIST_IMPLEMENTACION_COMPLETA.md

3.1 KiB

CHECKLIST IMPLEMENTACIÓN - Sistema de Contenido Externo

Fecha: 2025-01-06
Estado: Base Implementada


COMPONENTES BASE IMPLEMENTADOS

Frontend (App)

  • ContentAdapter Interface (src/services/content-adapter.ts)
    • Interface definida
    • LocalContentAdapter (fallback)
    • ExternalContentAdapter (pack)
    • ContentAdapterFactory
    • Hook React useContentAdapter()
    • Conversión ContentItem → Procedure/Drug
    • Cache en localStorage

Backend

  • Generador Content Pack (backend/src/services/pack-generator.js)

    • Lee desde PostgreSQL
    • Incluye recursos multimedia
    • Calcula hash SHA-256
    • Genera JSON optimizado
  • API Content Pack (backend/src/routes/content-pack.js)

    • GET /api/content-pack/latest.json
    • GET /api/content-pack/:version.json
    • Cache headers (ETag, Cache-Control)
    • Generación on-the-fly
  • Base de Datos

    • Schema tes_content creado
    • Tablas principales creadas
    • 23 items migrados
  • API Estadísticas (backend/src/routes/stats.js)

    • GET /api/stats/content
    • Dashboard actualizado

PENDIENTE (Siguiente Fase)

Panel Admin

  • Editor de Protocolos Completo

    • Tabs: Básico, Pasos, Checklist, Recursos
    • Preview "Modo Escena"
    • Asociación de imágenes/vídeos
  • Editor de Guías

    • 8 secciones por guía
    • Markdown editor
    • Asociación con protocolos
  • Editor de Manual

    • Markdown estructurado
    • Asociación de infografías
    • Versionado
  • Gestor de Recursos

    • Upload de imágenes/vídeos
    • Metadatos
    • Asociación a contenido
    • Detección de recursos huérfanos
  • Generador de Pack desde UI

    • Botón "Generar Pack"
    • Selección de versión
    • Descarga de JSON
  • Sistema de Validación

    • Roles (admin, tes_validador, formador, medico)
    • Flujo: draft → in_review → approved → published
    • Registro de auditoría
  • Exportación SCORM

    • Generación desde guías
    • Packaging ZIP
    • Descarga

🧪 TESTING

Verificar Content Pack

# 1. Obtener pack
curl http://localhost:3000/api/content-pack/latest.json

# 2. Verificar metadata
curl -s http://localhost:3000/api/content-pack/latest.json | \
  python3 -c "import sys, json; d=json.load(sys.stdin); \
  print(f\"Items: {d['metadata']['total_items']}\")"

Verificar Adapter en App

import { getProtocol, getAllProtocols } from '@/services/content-adapter';

const protocol = getProtocol('rcp-adulto-svb');
const protocols = getAllProtocols();

RESTRICCIONES VERIFICADAS

  • NO modifica src/data/procedures.ts
  • NO modifica src/data/drugs.ts
  • NO modifica Service Worker
  • NO modifica rutas existentes
  • NO modifica componentes actuales
  • TODO es aditivo y desacoplado
  • Fallback total garantizado
  • App funciona igual si falla

Base del sistema implementada correctamente!