- 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>
131 lines
3.0 KiB
Markdown
131 lines
3.0 KiB
Markdown
# 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
|
|
```
|