feat: Implementar roles de usuario y gestión de administradores

Se introduce un sistema completo de roles de usuario (admin, user) para controlar el acceso a las diferentes funcionalidades de la aplicación.

Funcionalidades y Cambios:
- Se añade la columna 'role' a la tabla de usuarios en la base de datos.
- El login ahora devuelve el rol del usuario y la sesión lo almacena.
- El Dashboard y la pestaña de Configuración ahora solo son visibles para los administradores.
- Los administradores tienen una nueva sección en "Configuración" para añadir y eliminar otros usuarios.
- Se implementan endpoints de API seguros ('/api/users') para la gestión de usuarios, accesibles solo por administradores.
- Se corrige un error que impedía la navegación entre pestañas y la interactividad general.
- Se soluciona un error de renderizado del gráfico del dashboard que causaba una sensación de "bucle".
- Se actualiza el README con instrucciones detalladas de instalación, uso y despliegue con Docker.
- Se añaden archivos Dockerfile y .dockerignore para la contenerización.
This commit is contained in:
Marco Gallegos
2025-08-13 07:06:35 -06:00
parent 16fd0f93e8
commit bb0ca83820
8 changed files with 440 additions and 58 deletions

View File

@@ -29,6 +29,9 @@ document.addEventListener('DOMContentLoaded', () => {
});
if (response.ok) {
const data = await response.json();
// Guardar el rol del usuario para usarlo en la app principal
sessionStorage.setItem('userRole', data.role);
window.location.href = '/'; // Redirigir a la página principal
} else {
const errorData = await response.json();