Entender TraDoc

Arquitectura

Frontend React, API FastAPI, motor Python, SQLite y almacenamiento persistente.

Navegador
   │ HTTP + SSE
   ▼
React / Vite ─────► FastAPI / Uvicorn
                         │
             ┌───────────┼────────────┐
             ▼           ▼            ▼
        motor Python   SQLite      data/jobs/
             │        tradoc.db    documentos
             ▼
       proveedor LLM

Interfaz

El frontend se encuentra en web/. Durante el desarrollo, Vite escucha en el puerto 2499 y reenvía las llamadas /api a FastAPI en el puerto 8000. En la imagen Docker de producción, FastAPI también sirve el frontend compilado.

API

api/app.py inicializa la aplicación, las cabeceras de seguridad, la limitación de solicitudes y la ruta de estado. api/routes.py expone proveedores, proyectos, segmentos, glosarios, exportaciones y eventos.

Motor

El directorio core/ contiene los analizadores, la segmentación, el cliente LLM, la limpieza, el motor asíncrono, los glosarios, el almacén de credenciales y los puntos de control.

Persistencia

SQLite funciona en modo WAL. Cada nuevo proyecto dispone de directorios aislados de entrada y salida en data/jobs/<id>/. Los glosarios y las credenciales de proveedores también se guardan en data/.

Una copia de seguridad coherente

Copia todo el directorio data/, no solo tradoc.db. La base de datos hace referencia a los documentos y directorios de proyecto que se almacenan junto a ella.