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

20
ap-pos/Dockerfile Normal file
View File

@@ -0,0 +1,20 @@
# Usar una imagen base de Node.js ligera
FROM node:18-alpine
# Establecer el directorio de trabajo dentro del contenedor
WORKDIR /usr/src/app
# Copiar los archivos de definición de paquetes y dependencias
COPY package*.json ./
# Instalar las dependencias de producción
RUN npm install --production
# Copiar el resto de los archivos de la aplicación
COPY . .
# Exponer el puerto en el que corre la aplicación
EXPOSE 3000
# Definir el comando para iniciar la aplicación
CMD [ "node", "server.js" ]