-
Notifications
You must be signed in to change notification settings - Fork 0
02. Tech Stack
Nicolás Baier Quezada edited this page Apr 15, 2026
·
2 revisions
DIRD+ es una aplicación local-first (Single Page Application). La mayoría de la funcionalidad se ejecuta íntegramente en el navegador: almacenamiento de datos, inferencia IA, generación de archivos y reportes PDF. El servidor tiene un rol auxiliar limitado (tokens, contribuciones, administración).
| Tecnología | Versión | Propósito |
|---|---|---|
| React | 18.3 | Framework UI |
| TypeScript | 5.7 | Tipado estático (strict mode) |
| Vite | 6.0 | Build tool + dev server con HMR |
| Tailwind CSS | 3.4 | Estilos utilitarios |
| i18next + react-i18next | 24.2 / 15.2 | Internacionalización (español/inglés) |
| Tecnología | Versión | Propósito |
|---|---|---|
| Radix UI | — | Primitivas accesibles (Dialog, Tabs, Select, Switch, Slider, Label, Collapsible) |
| Framer Motion | 11 | Animaciones y transiciones |
| Lucide React | — | Iconografía SVG |
| Zustand | 5.0 | Estado global (config, canvas, tokens, pacientes) con persistencia localStorage |
| DnD Kit | 6.3 / 10.0 | Drag-and-drop para reordenar imágenes |
| React Markdown + remark-gfm | 10.1 | Renderizado de contenido educativo (Academy) |
| Sonner | 2.0 | Notificaciones toast |
| Tecnología | Versión | Propósito |
|---|---|---|
| Konva | 10 | Motor canvas 2D de alto rendimiento |
| React-Konva | 18.2 | Bindings declarativos React para Konva |
Canvas multicapa: imagen original, detecciones IA, segmentaciones, anotaciones manuales, mediciones, overlays clínicos.
| Tecnología | Versión | Propósito |
|---|---|---|
| IndexedDB | — | Base de datos local en navegador |
| Dexie.js | 4.0 | Wrapper IndexedDB con esquema tipado, 16 versiones de migración |
| Tecnología | Versión | Propósito |
|---|---|---|
| jsPDF | 2.5 | Generación de PDF en cliente |
| jspdf-autotable | 3.8 | Tablas clínicas en PDF |
| PDF.js | 5.4 | Renderizado de PDFs de referencia clínica |
| JSZip | 3.10 | Formato .dird (ZIP portable con datos de paciente/sesión) |
| browser-image-compression | 2.0 | Compresión de imágenes antes de almacenamiento |
| Tecnología | Versión | Propósito |
|---|---|---|
| ONNX Runtime Web | 1.23 | Motor de inferencia WebAssembly en navegador |
| Modelos ONNX | — | Detección (bounding boxes) + Segmentación (máscaras). Descargados desde GitHub Releases |
| OpenCV.js | — | Refinamiento del disco óptico. Cargado desde CDN |
Pipeline: preprocesamiento → inferencia ONNX (SIMD + multi-thread) → NMS → análisis por cuadrante → clasificación clínica multi-guía.
| Tecnología | Propósito |
|---|---|
| PHP | API de tokens, contribuciones, administración y mensajería |
Endpoints: get_tokens, consume_token, confirm_processing, receive_contribution, más panel admin completo.
| Tecnología | Versión | Propósito |
|---|---|---|
| Vite Plugin PWA | 0.21 | Service Worker con Workbox (cache de modelos ONNX, WASM, assets) |
| PostCSS + Autoprefixer | — | Procesamiento CSS |
| @types/* | — | Definiciones TypeScript para Node.js y React |
Comenzar
Contexto
Arquitectura
Datos
Pipelines
IA