mirror of
https://github.com/marcogll/ap_pos.git
synced 2026-01-13 13:15:16 +00:00
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:
@@ -1,7 +1,71 @@
|
||||
# AP-POS WebApp
|
||||
# Ale Ponce | AlMa - Sistema de Punto de Venta
|
||||
|
||||
Este es un sistema de punto de venta simple basado en la web.
|
||||
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.
|
||||
|
||||
## Futuras Implementaciones
|
||||
## Características Principales
|
||||
|
||||
Se tiene la intención de que esta aplicación se pueda ejecutar en un contenedor de Docker. Además, se buscará que la aplicación tenga la capacidad de interactuar con una impresora de tickets conectada vía USB en un entorno de macOS.
|
||||
- **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](https://nodejs.org/) (versión 18 o superior)
|
||||
- [npm](https://www.npmjs.com/) (generalmente se instala con Node.js)
|
||||
|
||||
### Pasos para la Ejecución
|
||||
|
||||
1. **Clonar el Repositorio (si aplica):**
|
||||
```bash
|
||||
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:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. **Iniciar el Servidor:**
|
||||
Una vez instaladas las dependencias, inicia el servidor con:
|
||||
```bash
|
||||
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:
|
||||
```bash
|
||||
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.
|
||||
```bash
|
||||
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.**
|
||||
Reference in New Issue
Block a user