feat: Add .env.example configuration file and integrate Redis service into Docker Compose for improved task management. Update desktop application to support document indexing and extraction workflows, enhancing user experience with a new extraction wizard and stepper components. Revise README and documentation for clarity on setup and usage.

This commit is contained in:
erik
2026-07-05 22:39:07 -05:00
parent 9aca926988
commit d95f8f6ad8
70 changed files with 9807 additions and 499 deletions
+39 -4
View File
@@ -222,10 +222,45 @@ npm install
npm run dev
```
La app usa `http://localhost:8000` por defecto y traduce rutas locales dentro de
`IPS_DOCUMENT_ROOT` hacia `/data` para llamar al API. La pantalla principal solo
pide seleccionar la carpeta a procesar; los resultados se guardan en base de
datos y la exportacion CSV es opcional.
La app desktop usa `http://localhost:8000` por defecto. **No monta la carpeta
en Docker**: indexa los documentos localmente y los sube uno a uno al API
(`POST /extraction/schemas/upload` y `POST /tasks/{id}/ingest`). Solo se
persisten las filas extraidas en Postgres; los PDFs permanecen en el equipo del
usuario.
```bash
cd services/desktop_app
npm install
npm run dev
```
#### Flujo desktop (sin volumen `/data`)
1. Seleccionar carpeta local en la app.
2. Descubrir campos (sube un PDF de muestra por tipo).
3. Ejecutar extraccion (crea tarea `source=desktop` e ingesta cada archivo).
4. Consultar tareas y exportar CSV opcional.
#### Modo legacy API / curl
Si llamas al API con `root_path` y rutas bajo `/data`, monta documentos al
levantar Docker:
```bash
IPS_DOCUMENT_ROOT=C:/ruta/a/documentos docker compose up --build
```
### Error: No se encontraron documentos en /data
Ese mensaje aparece en clientes legacy que envian `root_path=/data` sin montar
documentos. La app desktop no deberia usar ese modo. Verifica:
```bash
docker exec ipsextractor-extraction ls -la /data
```
Para la app desktop, asegurate de usar Electron (`npm run dev`) y de que el
gateway responda en `http://localhost:8000`.
### Contrato De Base De Datos