Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Gestionar el programa anual de auditorías de aseguramiento de la calidad mediante la carga de archivos Excel
Translation pending
AI summary · website content
BusinessJavaScript · HTMLGitHub @nicolasshwkyng-makerOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Aplicación web para visualizar el estado de ejecución del Programa Anual de
Auditorías de Aseguramiento de la Calidad de la OMA. Sin backend,
sin login, sin credenciales: los datos se cargan subiendo el Excel de
control (hojas AUDITORIAS_<año> + HALLAZGOS_<año>: 2024, 2025, 2026…) y quedan guardados en
el navegador de quien la abre (IndexedDB). Para actualizarla, se vuelve a
cargar el Excel — reemplaza todo lo que había, igual que la primera versión
de la app (100% local, sin backend), pero ahora desplegada en la web.
Historial: la app pasó por una versión intermedia con Supabase (Postgres en la nube, login, edición en vivo multi-dispositivo) entre agosto y septiembre de 2026. Se retiró — ver
git log— porque requería mantener un proyecto Supabase aparte; el modelo actual vuelve a "el Excel es la fuente de verdad", adaptado para funcionar desplegado en la web.
js/dataService.js). No
hay servidor, no hay credenciales que configurar. Limitación real: los
datos NO se sincronizan entre dispositivos — si se abre la app en otro
computador o celular, hay que volver a cargar el Excel ahí también..xlsx con las hojas
AUDITORIAS_<año> y HALLAZGOS_<año> (puede traer una o varias
vigencias), lo procesa en el navegador (js/excelParser.js +
js/matching.js + js/excelImport.js) y reemplaza solo las vigencias
que trae: las demás quedan intactas.No hay ningún paso de configuración: se abre index.html (local o
desplegado) y la propia app pide el Excel la primera vez.
Desplegar a GitHub Pages: ver .github/workflows/deploy.yml — activa
Pages con "Source: GitHub Actions" en Settings → Pages, y cada push a
main publica la app automáticamente (sin secrets que configurar).
Desplegar a Vercel: en vercel.com, "Add New… → Project" → importa este repo de GitHub. Es un sitio 100% estático (sin framework, sin build command) — Vercel lo detecta solo. Se puede desplegar en paralelo a GitHub Pages sin conflicto (mismo repo, dos URLs distintas).
SATENA_QA_Dashboard/
├── index.html Estructura y layout de toda la app
├── styles.css Sistema visual (paleta corporativa, responsive, impresión)
├── data.js Configuración visual (colores por categoría, reglas de clasificación)
├── README.md Este archivo
├── .github/workflows/
│ └── deploy.yml Publica a GitHub Pages en cada push a main
├── assets/fonts/ IBM Plex Sans/Mono autoalojadas (sin depender de Google Fonts)
├── vendor/ Librerías de terceros ya descargadas (sin CDN externo en runtime)
│ Bootstrap 5 · Chart.js 4 · SheetJS (xlsx) · DataTables + jQuery · jsPDF · html2canvas · FileSaver
└── js/
├── utils.js Normalización de texto, fechas, formato — funciones puras
├── excelParser.js Lee las hojas AUDITORIAS_2026 / HALLAZGOS_2026 del Excel
├── matching.js Clasificación canónica + vínculo hallazgo->auditoría por nombre
├── excelImport.js Junta lo anterior en objetos listos para guardar
├── dataService.js Fuente de datos: IndexedDB por vigencia (fetch/save/delete)
├── statusEngine.js Cálculo del estado real de cada auditoría
├── kpiEngine.js Cálculo de KPIs y agregaciones para gráficos
├── charts.js Renderizado de todos los gráficos (Chart.js)
├── comparativo.js Comparativo de vigencias (tabla + datos de gráficos)
├── tables.js Tablas dinámicas (DataTables) + export a Excel
├── filters.js Filtros globales
├── exportPdf.js Exportación del dashboard a PDF
└── app.js Orquestación: carga, edición, render
El Excel de control tiene 2 hojas (ver js/excelParser.js para el detalle
exacto de columnas):
| Hoja | Contenido |
|---|---|
AUDITORIAS_<año> | Una fila por auditoría/inspección: Estatus, Programada/No programada, Tipo (Auditoria QA / Inspección), Clasificación, Auditado, Ciudad, Modalidad, Fecha Proyectada, Ejecución Reprogramada, Servicios y, opcional, Cierre. |
HALLAZGOS_<año> | Una fila por hallazgo (NC/OB), vinculado a su auditoría por nombre (si varias auditorías comparten nombre, desempata el ID de la columna ID AUDITORIA) — condición, estado (Abierto/Cerrado/Cierre Parcial), causa raíz, fechas de notificación/cierre, etc. |
This is the beginning of the README. Read the rest at the original. Read the full README ↗