codigo0/docs/FASE_2_PLAN_COMPLETAR.md

3.5 KiB

FASE 2: BACKEND Y BASE DE DATOS - PLAN DE COMPLETACIÓN

Estado Actual

Ya Implementado

  • Backend Express.js completo con estructura modular
  • Rutas API implementadas:
    • /api/auth - Autenticación
    • /api/content - Gestión de contenido
    • /api/drugs - Gestión de fármacos
    • /api/media - Gestión de recursos multimedia
    • /api/content-pack - Generación y entrega de Content Pack
    • /api/scorm - Generación de paquetes SCORM
    • /api/validation - Sistema de validación
    • /api/stats - Estadísticas
  • Content Pack Generator (pack-generator.js)
  • Migraciones de base de datos:
    • 001_create_auth_schema.sql - Autenticación y usuarios
    • 002_create_drugs_schema.sql - Fármacos
  • Sistema de autenticación con JWT
  • Sistema de permisos granular
  • Modelos (Drug.js)

Pendiente de Verificación/Completar

  1. Base de datos:

    • Verificar conexión
    • Verificar que las migraciones se ejecutaron correctamente
    • Verificar que hay datos de prueba
  2. Content Pack Generator:

    • Verificar que loadPublishedProtocols() funciona
    • Verificar que loadPublishedDrugs() funciona
    • Verificar que loadPublishedGuides() funciona (si aplica)
    • Probar generación completa del pack
  3. Integración Frontend-Backend:

    • Verificar que el frontend puede consumir /api/content-pack/latest.json
    • Verificar que ExternalContentAdapter carga correctamente
    • Probar fallback automático
  4. Datos iniciales:

    • Migrar protocolos desde src/data/procedures.ts a BD
    • Migrar fármacos desde src/data/drugs.ts a BD (ya hay seed)
    • Migrar guías si aplica

Plan de Acción

Paso 1: Verificar Base de Datos

# Verificar conexión
cd backend
node -e "import('./config/database.js').then(m => m.testConnection())"

# Verificar migraciones
psql -U emerges_tes_user -d emerges_tes_db -c "\dt tes_content.*"

Paso 2: Verificar Content Pack Generator

# Probar generación manual
cd backend
node -e "
import('./src/services/pack-generator.js').then(async (m) => {
  const gen = new m.ContentPackGenerator();
  const pack = await gen.generatePack();
  console.log('Pack generado:', pack.metadata);
});
"

Paso 3: Probar Endpoint

# Iniciar backend
cd backend
npm start

# En otra terminal, probar endpoint
curl http://localhost:3000/api/content-pack/latest.json | jq '.metadata'

Paso 4: Integrar con Frontend

  • Verificar que ExternalContentAdapter intenta cargar desde /api/content-pack/latest.json
  • Verificar que el cache funciona
  • Probar fallback cuando el backend no está disponible

Paso 5: Migrar Datos Iniciales

  • Usar scripts existentes en backend/scripts/ para migrar contenido
  • O crear nuevos scripts si es necesario

Verificaciones Necesarias

Checklist

  • Base de datos conectada y funcionando
  • Migraciones ejecutadas correctamente
  • Content Pack se genera sin errores
  • Endpoint /api/content-pack/latest.json responde correctamente
  • Frontend puede cargar Content Pack
  • Fallback a datos locales funciona
  • Datos iniciales migrados a BD
  • Todo funciona en conjunto

Próximos Pasos Inmediatos

  1. Verificar estado de BD - Comprobar conexión y estructura
  2. Probar Content Pack Generator - Generar pack manualmente
  3. Probar endpoint - Verificar que responde correctamente
  4. Integrar con frontend - Probar carga desde la app
  5. Migrar datos - Poblar BD con contenido inicial

Estado: En progreso Prioridad: Alta Dependencias: FASE 1 completada