codigo0/docs/CHECKLIST_VERIFICACION_ADMIN_PANEL.md

184 lines
4.6 KiB
Markdown

# ✅ CHECKLIST DE VERIFICACIÓN - ADMIN PANEL
## 🔧 CONFIGURACIÓN INICIAL
### Backend
- [ ] PostgreSQL instalado y corriendo
- [ ] Usuario `planetazuzu` creado en PostgreSQL
- [ ] Base de datos `emerges_tes` creada
- [ ] Archivo `.env` configurado en `backend/`
- [ ] Dependencias instaladas (`npm install` en `backend/`)
- [ ] Tablas creadas (`npm run db:create`)
- [ ] Usuario admin creado (`npm run seed:admin`)
- [ ] Contenido de ejemplo creado (`npm run seed:content`)
- [ ] Servidor backend inicia sin errores (`npm run dev`)
### Admin Panel
- [ ] Dependencias instaladas (`npm install` en `admin-panel/`)
- [ ] Archivo `.env` configurado
- [ ] Servidor de desarrollo inicia (`npm run dev`)
---
## 🔐 AUTENTICACIÓN
- [ ] Login funciona con credenciales por defecto
- Email: `admin@emerges-tes.local`
- Password: `Admin123!`
- [ ] Token JWT se genera correctamente
- [ ] Token se guarda en localStorage/sessionStorage
- [ ] Rutas protegidas requieren autenticación
- [ ] Logout funciona correctamente
---
## 📝 GESTIÓN DE CONTENIDO
### Crear Contenido
- [ ] Se puede crear un nuevo protocolo
- [ ] Se puede crear un nuevo checklist
- [ ] Se puede crear un nuevo fármaco
- [ ] Validación previene crear contenido incompleto
- [ ] Estado inicial es `draft`
### Editar Contenido
- [ ] Se puede editar contenido existente
- [ ] Cada edición crea una nueva versión
- [ ] Historial de versiones se actualiza
- [ ] Log de auditoría registra cambios
### Validar Contenido
- [ ] Revisor puede validar contenido
- [ ] Estado cambia a `approved` tras validación
- [ ] Super admin puede publicar contenido
- [ ] Estado cambia a `published` tras publicación
### Listar Contenido
- [ ] Lista de contenido muestra todos los items
- [ ] Filtros funcionan (tipo, nivel, estado, categoría)
- [ ] Búsqueda funciona
- [ ] Paginación funciona
---
## 📦 CONTENT PACK
- [ ] Endpoint `/api/content/pack/latest` funciona
- [ ] Retorna solo contenido con estado `published`
- [ ] Content pack incluye todos los tipos de contenido
- [ ] Hash del pack se calcula correctamente
- [ ] App puede consumir content pack
- [ ] Content pack funciona offline (cache)
---
## 🔄 VERSIONADO
- [ ] Cada cambio crea nueva versión
- [ ] Historial de versiones se muestra correctamente
- [ ] Se puede ver contenido de versión anterior
- [ ] Se puede revertir a versión anterior
- [ ] Comparación de versiones funciona
---
## 📊 AUDITORÍA
- [ ] Log de auditoría registra todas las acciones
- [ ] Log muestra usuario, acción, timestamp
- [ ] Log muestra detalles de cambios
- [ ] Log es consultable y filtrable
---
## 🧪 SEED DATA
### Checklists
- [ ] `checklist-electrodos-desa` existe
- [ ] `checklist-preparacion-intubacion` existe
- [ ] `checklist-rcp-adulto-svb` existe
- [ ] Checklists tienen items correctos
- [ ] Checklists tienen metadata correcta
### Protocolos
- [ ] `rcp-adulto-svb-extended` existe
- [ ] `shock-hemorragico-extended` existe
- [ ] Protocolos tienen pasosRapidos
- [ ] Protocolos tienen checklist integrado
- [ ] Protocolos tienen dosisInline
- [ ] Protocolos tienen fuentes
---
## 🔒 PERMISOS Y ROLES
- [ ] `super_admin` tiene acceso total
- [ ] `editor_clinico` solo puede editar protocolos/fármacos/checklists
- [ ] `editor_formativo` solo puede editar guías/manuales
- [ ] `revisor` solo puede validar
- [ ] `viewer` solo puede leer
- [ ] Permisos se aplican correctamente en API
---
## 🌐 OFFLINE Y PWA
- [ ] Content pack se cachea en localStorage
- [ ] App funciona offline con cache
- [ ] Actualizaciones se detectan cuando hay conexión
- [ ] Service Worker no se rompe
---
## 🐛 ERRORES COMUNES
### Backend no inicia
- [ ] Verificar que PostgreSQL está corriendo
- [ ] Verificar credenciales en `.env`
- [ ] Verificar que las tablas existen
- [ ] Verificar logs de error
### Login falla
- [ ] Verificar que usuario admin existe
- [ ] Verificar que password es correcto
- [ ] Verificar que JWT_SECRET está configurado
### Content pack vacío
- [ ] Verificar que hay contenido con estado `published`
- [ ] Verificar que endpoint funciona
- [ ] Verificar logs del servidor
---
## ✅ VERIFICACIÓN FINAL
- [ ] Todo el checklist está marcado
- [ ] No hay errores en consola
- [ ] No hay errores en logs del servidor
- [ ] App funciona correctamente con content pack
- [ ] App funciona offline
- [ ] No se rompió funcionalidad existente
---
## 📝 NOTAS
- Si algún item falla, documentar el error
- Verificar que las restricciones se cumplen:
- ✅ NO se modifica `procedures.ts`
- ✅ NO se modifica `drugs.ts`
- ✅ NO se rompe PWA offline
- ✅ NO se cambian rutas existentes