feat: Introduce a new desktop application for IPSExtractor, enabling extraction workflows through a React-based UI. This commit includes the application structure, API client integration, and initial components for user interaction. Enhance documentation to guide setup and usage, and update .gitignore to accommodate new files.

This commit is contained in:
erik
2026-07-05 15:07:11 -05:00
parent b55ad74539
commit 9aca926988
31 changed files with 11870 additions and 66 deletions
+20
View File
@@ -25,6 +25,11 @@ services/
api/ Proxy HTTP hacia extraction y cleaning
requirements.txt
Dockerfile
desktop_app/ App desktop Windows/Mac
electron/ Main process, preload y dialogos nativos
src/ React UI, cliente API y export CSV
package.json
```
La base de datos Postgres es compartida como contrato de integracion, pero el
@@ -39,6 +44,7 @@ vivir por separado.
| `extraction` | `8001` | API propia de extraccion |
| `cleaning` | `8002` | API propia de limpieza |
| `database` | `5432` | Postgres |
| `desktop_app` | local | App desktop fuera de Docker |
Documentacion interactiva:
@@ -208,12 +214,26 @@ pip install -r requirements.txt
uvicorn api.main:app --host 0.0.0.0 --port 8000
```
App desktop como repo aparte:
```bash
cd services/desktop_app
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.
### Contrato De Base De Datos
Los servicios se integran por Postgres:
- `extraction_batches`
- `extraction_rows`
- `tasks`
- `cleaning_jobs`
- `cleaned_rows`