> For the complete documentation index, see [llms.txt](https://emilio-organization.gitbook.io/emilio-organization-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emilio-organization.gitbook.io/emilio-organization-docs/gestion-comercial.md).

# Gestión Comercial

La aplicación de gestión comercial está diseñada para administrar diversos aspectos de una pequeña o mediana empresa, enfocándose en la gestión de usuarios, empleados, cajeros, clientes, productos, compras y facturación. La arquitectura de la aplicación sigue el patrón **MVC** (Modelo-Vista-Controlador) y está construida con **Spring Boot**, **Thymeleaf** para las vistas y **PostgreSQL** como base de dato.

### *Módulos Principales:*

1. &#x20;  <mark style="color:blue;">**Gestión de Usuarios:**</mark>

Permite la administración completa de usuarios en el sistema.

* ***Funcionalidades principales:***
  * Registro de nuevos usuarios con validación de correo electrónico.
  * Asignación de roles (Administrador, Cajero, Empleado).
  * Gestión de contraseñas con seguridad mediante autenticación JWT.
  * Desactivación y eliminación de cuentas de usuario.
* ***Formularios:***

  * Formulario de **crear cuenta** para nuevos usuarios.
  * Formulario de **inicio de sesión** para la autenticación de usuarios existentes.

2. <mark style="color:blue;">**Gestión de Empleados:**</mark>

Este módulo permite registrar y administrar la información de los empleados de la empresa.

* ***Funcionalidades principales:***

  * Registro de nuevos empleados.
  * Edición y eliminación de empleados.
  * Asignación de roles y cargos específicos dentro de la empresa.
  * Visualización de la lista de empleados activos.

#### 3. <mark style="color:blue;">Gestión de Cajeros:</mark>

Permite la asignación de roles específicos de cajero a empleados con la capacidad de gestionar las ventas.

* ***Funcionalidades principales:***

  * Asignación de roles de cajero a empleados.
  * Gestión de transacciones de compras realizadas por los cajeros.

4. <mark style="color:blue;">**Gestión de Clientes:**</mark>

Administra la base de datos de clientes y su información relacionada con compras.

* ***Funcionalidades principales:***

  * Registro y edición de clientes (nombre, contacto, dirección, etc.).
  * Visualización de historial de compras de los clientes.
  * Activación y desactivación de cuentas de clientes.

5. <mark style="color:blue;">**Gestión de Productos:**</mark>

Permite la administración de productos disponibles para la venta.

* ***Funcionalidades principales:***

  * Registro de nuevos productos con detalles como nombre, precio, cantidad en inventario, etc.
  * Edición y eliminación de productos.
  * Visualización de la lista de productos disponibles.

6. <mark style="color:blue;">**Gestión de Compras:**</mark>

Administra las compras realizadas por los clientes.

* ***Funcionalidades principales:***

  * Registro de nuevas compras con productos seleccionados.
  * Actualización de stock de productos tras cada compra.
  * Visualización del historial de compras.

7. <mark style="color:blue;">**Gestión de Facturación:**</mark>

Genera facturas para las compras realizadas, con detalles de los productos adquiridos.

* ***Funcionalidades principales:***
  * Creación de facturas con productos y cantidades.
  * Cálculo automático de totales, impuestos y descuentos.
  * Visualización de las facturas generadas y posibilidad de descargarlas en formato PDF.
