Files
ap_pos/ap-pos
google-labs-jules[bot] 9ea734abe6 Fix: Prevent infinite loop on dashboard chart
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.
2025-08-13 13:42:05 +00:00
..
2025-08-13 07:09:14 -06:00
2025-08-13 07:24:45 -06:00

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 Dockerfile para una fácil contenerización y despliegue.

Cómo Ejecutar la Aplicación

Prerrequisitos

  • Node.js (versión 18 o superior)
  • npm (generalmente se instala con Node.js)

Pasos para la Ejecución

  1. Clonar el Repositorio:

    git clone https://github.com/marcogll/ap_pos.git
    cd ap_pos/ap-pos
    
  2. Instalar Dependencias: Navega a la carpeta ap-pos y ejecuta el siguiente comando para instalar los paquetes necesarios:

    npm install
    
  3. Iniciar el Servidor: Una vez instaladas las dependencias, inicia el servidor con:

    npm start
    

    El servidor se ejecutará en http://localhost:3000.

  4. Acceder a la Aplicación: Abre tu navegador web y ve a http://localhost:3000.

  5. 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.

Cómo Usar con Docker

  1. Construir la Imagen de Docker: Desde la carpeta ap-pos, ejecuta:

    docker build -t ap-pos-app .
    
  2. 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-app
    

    Nota: El comando anterior crea un directorio data en tu carpeta actual para almacenar ap-pos.db.

Autores

  • Gemini
  • Marco G.