DataLab
La plataforma de recolección estadística institucional de Unitrópico. Cada dependencia reporta sus datos periódicos subiendo el template Excel oficial a través de un wizard de carga que valida estructura, columnas, formatos y calidad contra un schema definido por operación.
…
Áreas
…
Schemas completos
…
Campos definidos
…
Validaciones
…
Catálogos de valores
…
Ops multi-hoja
Cómo fluye una carga
Responsable DataLab Analista
──────────── ──────── ─────────
descarga template ─────────►
diligencia Excel
sube en /upload?op=… ──────► wizard valida:
· formato .xlsx/.xls
· hoja correcta (aliases)
· columnas requeridas (headers→keys)
· valores controlados (enums)
· campos críticos completos
· formatos y rangos (patterns/fechas)
▼
guarda submission + Excel original
en Storage, notifica ───────────► revisa en /operaciones/revisar
aprueba / rechaza
▼ ▼
procesa a RTDB reprocesa si cambia el schema
/ciclos_de_carga/… (/operaciones/procesar)
▼
dashboards por módulo
Arquitectura en una vista
- Frontend estático — HTML+JS vanilla servido en
datalab.planitone.co. Firebase v9 modular vía CDN. - Fuente de verdad de schemas — RTDB
/DataLab/config/upload_schemas/{OP_ID}. El loaderupload-schemas.jsse suscribe cononValue: los cambios de schema se propagan a los wizards sin redeploy. - App Firebase canónica —
firebase-init.jsexportaapp/db/auth/storagecomo singleton. Ninguna vista debe llamarinitializeApppor su cuenta (provocaapp/duplicate-appy la vista queda en blanco). - Autorización — roles en
usuarios/{emailKey}+ asignaciones en/DataLab/config/responsables. Ver modelo de permisos. - Datos procesados —
/DataLab/ciclos_de_carga/{área}/{cicloKey}/data/{dataArrayField}.
Catálogo de áreas y operaciones EN VIVO
Estado actual leído de producción. FULL = schema completo con validaciones · MIN = schema mínimo (acepta cualquier hoja, pendiente de endurecer).
Cargando catálogo…