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.
Ale Ponce | AlMa - Sistema de Punto de Venta
Este es un sistema de punto de venta (POS) simple y moderno basado en la web, diseñado para gestionar clientes, ventas y recibos de forma eficiente.
Características Principales
- Gestión de Ventas: Crea nuevos movimientos (ventas, pagos) y genera recibos imprimibles.
- Base de Datos de Clientes: Administra una lista de clientes con su información de contacto.
- Sistema de Roles:
- Administrador: Tiene acceso a todas las funciones, incluyendo un dashboard de estadísticas, la configuración del negocio y la gestión de usuarios.
- Usuario: Rol de vendedor con acceso limitado a la creación de ventas y gestión de clientes.
- Dashboard (Solo Admin): Visualiza estadísticas clave como ingresos totales, número de servicios y un gráfico de ingresos por tipo de servicio.
- Exportación de Datos: Exporta todos los movimientos a un archivo CSV.
- Persistencia de Datos: Toda la información se guarda en una base de datos SQLite (
ap-pos.db). - Listo para Docker: Incluye un
Dockerfilepara una fácil contenerización y despliegue.
Cómo Ejecutar la Aplicación
Prerrequisitos
Pasos para la Ejecución
-
Clonar el Repositorio (si aplica):
git clone <url-del-repositorio> cd ap-webapp/ap-pos -
Instalar Dependencias: Navega a la carpeta
ap-posy ejecuta el siguiente comando para instalar los paquetes necesarios:npm install -
Iniciar el Servidor: Una vez instaladas las dependencias, inicia el servidor con:
npm startEl servidor se ejecutará en
http://localhost:3000. -
Acceder a la Aplicación: Abre tu navegador web y ve a
http://localhost:3000. -
Credenciales por Defecto:
- Usuario:
admin - Contraseña:
password
¡Importante! Se recomienda cambiar la contraseña del administrador en la pestaña de "Configuración" después del primer inicio de sesión.
- Usuario:
Cómo Usar con Docker
-
Construir la Imagen de Docker: Desde la carpeta
ap-pos, ejecuta:docker build -t ap-pos-app . -
Ejecutar el Contenedor: Para ejecutar la aplicación en un contenedor, usa el siguiente comando. Esto mapeará el puerto 3000 y montará un volumen para que la base de datos persista fuera del contenedor.
docker run -p 3000:3000 -v $(pwd)/data:/usr/src/app ap-pos-appNota: El comando anterior crea un directorio
dataen tu carpeta actual para almacenarap-pos.db.
Autores
- Gemini
- Marco G.