3.5 KiB
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 usuarios002_create_drugs_schema.sql- Fármacos
- Sistema de autenticación con JWT
- Sistema de permisos granular
- Modelos (Drug.js)
⏳ Pendiente de Verificación/Completar
-
Base de datos:
- Verificar conexión
- Verificar que las migraciones se ejecutaron correctamente
- Verificar que hay datos de prueba
-
Content Pack Generator:
- Verificar que
loadPublishedProtocols()funciona - Verificar que
loadPublishedDrugs()funciona - Verificar que
loadPublishedGuides()funciona (si aplica) - Probar generación completa del pack
- Verificar que
-
Integración Frontend-Backend:
- Verificar que el frontend puede consumir
/api/content-pack/latest.json - Verificar que
ExternalContentAdaptercarga correctamente - Probar fallback automático
- Verificar que el frontend puede consumir
-
Datos iniciales:
- Migrar protocolos desde
src/data/procedures.tsa BD - Migrar fármacos desde
src/data/drugs.tsa BD (ya hay seed) - Migrar guías si aplica
- Migrar protocolos desde
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
ExternalContentAdapterintenta 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.jsonresponde correctamente - Frontend puede cargar Content Pack
- Fallback a datos locales funciona
- Datos iniciales migrados a BD
- Todo funciona en conjunto
Próximos Pasos Inmediatos
- Verificar estado de BD - Comprobar conexión y estructura
- Probar Content Pack Generator - Generar pack manualmente
- Probar endpoint - Verificar que responde correctamente
- Integrar con frontend - Probar carga desde la app
- Migrar datos - Poblar BD con contenido inicial
Estado: En progreso Prioridad: Alta Dependencias: FASE 1 completada ✅