Saltar a contenido

Stack tecnológico

Versiones y librerías clave de Gestión Civis, tomadas de requirements.txt (backend) y gestion-civis-frontend/package.json (frontend).

Backend (Python / Flask)

Componente Paquete Versión
Framework web Flask 3.1.2
Servidor WSGI dev Werkzeug 3.1.3
ORM SQLAlchemy 2.0.43
Integración ORM Flask-SQLAlchemy 3.1.1
Migraciones Flask-Migrate / alembic 4.1.0 / 1.16.5
Hash de contraseñas Flask-Bcrypt / bcrypt 1.0.1 / 4.3.0
CORS flask-cors 6.0.1
Rate limiting Flask-Limiter / limits 4.1.1 / 5.8.0
JWT PyJWT 2.10.1
MFA / TOTP pyotp / qrcode 2.9.0 / 8.2
Driver PostgreSQL psycopg2-binary 2.9.10
Cron (expresiones) croniter 6.0.0
Variables de entorno python-dotenv 1.1.1

Documentos, firma y PDF

Función Paquete Versión
Generación de PDF (HTML→PDF) weasyprint 66.0
Generación de PDF (canvas) reportlab 4.4.6
Manipulación de PDF pikepdf / PyPDF2 10.7.2 / 3.0.1
Firma electrónica PDF pyhanko 0.27.0
Firma XML (XAdES) signxml 4.0.4
Sellado de tiempo (RFC 3161) rfc3161ng 2.1.3
Criptografía cryptography 46.0.7
Cliente SOAP (SIR) zeep 4.3.2
XML lxml 6.0.2
Documentos Office python-docx / openpyxl 1.2.0 / 3.1.5

IA / búsqueda

Función Paquete Versión
Índice vectorial faiss-cpu 1.12.0
Embeddings sentence-transformers 5.1.0
Modelos / tokenizers transformers / torch 4.56.2 / 2.8.0
Google GenAI google-genai / google-generativeai 1.56.0 / 0.8.5
Almacenamiento GCS google-cloud-storage 3.3.1

Datos sintéticos

Faker (37.6.0) se usa para generar datos de prueba en el sembrado.

Frontend (React / Vite)

Componente Paquete Versión
Librería UI react / react-dom ^18.2.0
Bundler / dev server vite ^7.1.2
Plugin React @vitejs/plugin-react ^5.0.0
Componentes UI @mui/material ^5.15.20
Iconos @mui/icons-material ^5.15.20
Tablas de datos @mui/x-data-grid ^8.21.0
Selectores de fecha @mui/x-date-pickers ^8.27.0
Vista de árbol @mui/x-tree-view ^8.14.0
Estado servidor @tanstack/react-query ^5.90.3
Cliente HTTP axios ^1.7.2
Routing react-router-dom ^6.23.1
Editor rich text @tiptap/react + extensiones ^2.26.x
Calendario @fullcalendar/react ^6.1.19
Gráficas recharts ^3.2.1
Drag & drop @dnd-kit/*, @hello-pangea/dnd ^6.3 / ^18.0
Formularios react-hook-form ^7.64.0
Decodificar JWT jwt-decode ^4.0.0
Notificaciones notistack, react-hot-toast, react-toastify
Números/decimales decimal.js, mathjs, react-number-format

Scripts del frontend

npm run dev      # servidor de desarrollo (Vite, puerto 5173)
npm run build    # build de producción → dist/
npm run lint     # ESLint
npm run preview  # previsualizar el build

Linting

El frontend usa ESLint 9 (flat config) con eslint-plugin-react-hooks y eslint-plugin-react-refresh.