Files
ap_pos/ap-pos/README.md
Marco Gallegos bb0ca83820 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.
2025-08-13 07:06:35 -06:00

2.7 KiB

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 (si aplica):

    git clone <url-del-repositorio>
    cd ap-webapp/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.