Commit inicial: Sales Bot - Sistema de Automatización de Ventas

- Stack completo con Mattermost, NocoDB y Sales Bot
- Procesamiento OCR de tickets con Tesseract
- Sistema de comisiones por tubos de tinte
- Comandos slash /metas y /ranking
- Documentación completa del proyecto

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-18 02:41:53 +00:00
commit 5d9cbd4812
21 changed files with 4625 additions and 0 deletions

130
nocodb/README.md Normal file
View File

@@ -0,0 +1,130 @@
# NocoDB - Base de Datos Visual
Stack de NocoDB para gestión de datos de ventas.
## Componentes
- **NocoDB** - Interfaz visual de base de datos
- **PostgreSQL** - Base de datos
## Puertos
| Servicio | Puerto |
|----------|--------|
| NocoDB | 8080 |
| PostgreSQL | 5432 (interno) |
## Despliegue
```bash
docker compose up -d
```
## Acceso
- **URL:** http://192.168.10.204:8080
- **Autenticación:** JWT Token
## Tablas
### Vendedores
Información de los vendedores del equipo.
| Campo | Tipo | Descripción |
|-------|------|-------------|
| Id | Auto | ID único |
| username | Text | Usuario de Mattermost |
| nombre_completo | Text | Nombre completo |
| email | Email | Correo electrónico |
| meta_diaria_tubos | Number | Meta diaria (default: 3) |
| activo | Checkbox | Estado activo |
| fecha_registro | DateTime | Fecha de registro |
### Ventas
Registro de todas las ventas.
| Campo | Tipo | Descripción |
|-------|------|-------------|
| Id | Auto | ID único |
| vendedor_username | Text | Usuario del vendedor |
| monto | Currency | Monto de la venta |
| cliente | Text | Nombre del cliente |
| fecha_venta | DateTime | Fecha y hora |
| estado | SingleSelect | pendiente/completada/cancelada |
| canal | Text | Canal de Mattermost |
| mensaje_id | Text | ID del mensaje |
| imagen_ticket | Attachment | Imagen del ticket |
| descripcion | LongText | Notas adicionales |
### Ventas Detalle
Productos de cada venta.
| Campo | Tipo | Descripción |
|-------|------|-------------|
| Id | Auto | ID único |
| venta_id | Number | ID de la venta |
| producto | Text | Nombre del producto |
| marca | Text | Marca del producto |
| cantidad | Number | Cantidad |
| precio_unitario | Currency | Precio por unidad |
| importe | Currency | Total del producto |
### Metas
Seguimiento de metas por vendedor.
| Campo | Tipo | Descripción |
|-------|------|-------------|
| Id | Auto | ID único |
| vendedor_username | Text | Usuario del vendedor |
| mes | Text | Mes (YYYY-MM) |
| tubos_vendidos | Number | Total de tubos vendidos |
| comision | Currency | Comisión acumulada |
| meta_diaria | Number | Meta diaria de tubos |
| porcentaje_completado | Percent | % de meta cumplida |
| total_vendido | Currency | Total vendido en el mes |
## API
### Autenticación
```bash
curl -H "xc-token: <TOKEN>" http://192.168.10.204:8080/api/v2/...
```
### Listar registros
```bash
curl -H "xc-token: <TOKEN>" \
"http://192.168.10.204:8080/api/v2/tables/<TABLE_ID>/records"
```
### Crear registro
```bash
curl -X POST -H "xc-token: <TOKEN>" \
-H "Content-Type: application/json" \
-d '{"campo": "valor"}' \
"http://192.168.10.204:8080/api/v2/tables/<TABLE_ID>/records"
```
## Volúmenes
```yaml
volumes:
- nocodb_data:/usr/app/data
- postgres_data:/var/lib/postgresql/data
```
## Mantenimiento
### Ver logs
```bash
docker compose logs -f nocodb
```
### Backup de datos
```bash
docker compose exec postgres pg_dump -U consultoria-as nocodb > backup.sql
```
### Health Check
```bash
curl http://192.168.10.204:8080/api/v2/health
```