The dashboard was entering an infinite rendering loop, causing the browser to hang and eventually crash. This was likely due to Chart.js's responsive feature triggering a continuous cycle of updates and resizes.
This commit addresses the issue by:
- Modifying `loadDashboardData` to be more robust.
- Calling `incomeChart.update('none')` to prevent animation-related rendering loops.
- Adding a check to ensure the dashboard is still active before updating the DOM, preventing race conditions.
- Improving the re-entrancy guard and error handling within the function.
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:
git clone https://github.com/marcogll/ap_pos.git cd ap_pos/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.