Initial commit

This commit is contained in:
2026-03-03 11:50:59 -05:00
commit 1592434192
56 changed files with 8579 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
# Continuación proyecto Clima Laboral SaaS (Resumen actualizado)
Proyecto en `/var/www/react/clima_laboral` con backend Node/Express y frontend React/Vite (sin TS). MariaDB multi-tenant: DB central `clima_platform` + DB por empresa (ej. `P123456`). Usuario DB correcto: `user_ia` (host `%`), pass `UserIA2026`, host DB `192.168.222.20:3306`.
## Backend (estado)
- Rutas admin:
- `/admin/questions`, `/admin/questions/export`, `/admin/questions/import`
- `/admin/questions/template` (descarga template Excel)
- `/admin/question-sets`, `/admin/question-sets` POST (`empty` flag)
- `/admin/question-sets/:id` DELETE (solo si inactivo y sin survey_periods)
- `/admin/question-sets/:id/questions` GET + POST (agregar pregunta a set)
- `/admin/dimensions` GET + POST
- Servicios:
- `questionSetService.js` agrega `createEmptyQuestionSet`
- `questionService.js` agrega `listDimensions`, `createDimension`, `addQuestionToSet`, `exportQuestionsTemplate`
- `importQuestionsExcel` ahora acepta `setId` para cargar preguntas dentro del set
- Error logging en `error_logs` para no superadmin.
## Frontend (UI/UX)
- Estilos globales ya cargados: `frontend/src/main.jsx` importa `./styles/app.css`.
- Menú superior usa `NavLink`; botón activo se resalta (`.topbar nav a.active`).
- Iconos Font Awesome (tamaño 16px en botones). Sin sesión no se ven iconos.
- Login: al iniciar sesión desaparece el formulario y muestra imagen.
- Popups globales de error.
- Anti‑spam de mensajes en `frontend/src/utils/api.js`.
- `/admin/dimensions` 404 ya no genera popup (silenciado).
- `QuestionBank.jsx`:
- Subnav: Versiones + botón Excel template + botón “+”.
- “+” abre vista Nuevo Set con nombre sugerido `QSET-YYYYMMDD-XX` basado en máximo existente.
- Vista Nuevo Set: crear set, importar Excel, crear ámbitos y agregar preguntas.
- Lista de preguntas se muestra en vivo en nuevo/editar.
- Vista Editar Set (botón en cada set) permite importar Excel, crear ámbitos y agregar preguntas manuales.
- Vista Abrir set muestra solo preguntas.
- Si no hay `company_code`, muestra mensaje “Selecciona una empresa...”.
- `QuestionBank` no rompe si `/admin/dimensions` falla.
## Estándares UI (acordados)
- Todos los botones son **solo iconos** (Font Awesome), sin texto visible.
- Tooltips visibles al hover (título del icono).
- Tamaño de icono estándar: **16px** en todos los botones.
- Iconos activos resaltados con color de acento.
- Menús ocultos cuando no hay sesión (sin token).
- Submenús con botones redondos iguales a los de Empresas.
- Formularios y listados separados por vista (no mezclar en la misma pantalla).
- Fechas visibles en formato `YYYY-MM-DD`.
## Datos actuales
- Empresa: `EMPRESA DE PRUEBA`, code `123456`, DB `P123456`, status active.
- Superadmin: `superadmin@demo.com` / `SuperAdmin2026`
- Admin: `admin.prueba@demo.com` / `Admin2026!`
- User: `usuario.prueba@demo.com` / `Usuario2026!`
- Question sets en DB `P123456`: `QSET-DEFAULT`, `QSET-20260303-03`, `QSET-20260303-04`, `QSET-20260303-05` (algunos activos/inactivos).
## Problemas frecuentes
- Si “Versiones de Encuesta” sale vacío, es porque no se entró con `company_code` (usar Superadmin > Empresas > Acceder).
- Si `/admin/dimensions` da 404, reiniciar backend para cargar rutas nuevas.
## Últimos cambios recientes
- Botón Excel Template movido arriba junto a “+”.
- Sugerencia de nombre de set corregida para usar máximo existente + 1.
- Vista Editar Set agregada con lista de preguntas y edición.
- Popup 404 silenciado para `/admin/dimensions`.
## Pendientes
- A gusto del usuario, agregar etiqueta “Escala 1–5” visible en encuestas/preguntas.
- Si necesita renombrar set o eliminar preguntas, implementar.