Buscar en la documentación

Mejoras propuestas

Lo evaluado y dejado documentado para una siguiente etapa de Trazo.

4 min de lecturaVer en GitHub

Estas mejoras se evaluaron y quedan documentadas para una etapa posterior. No se incluyen en esta versión porque implican tecnologías adicionales, amplían mucho el alcance o solo se justifican con un volumen mayor.

Seguridad y acceso

PropuestaValorPor qué no ahora
Passkeys (huella o rostro)Acceso sin contraseña y resistente a páginas falsasAmplía mucho el alcance; la estructura de factores MFA ya lo permite
Aprobación push en el celularConfirmar el acceso con un toqueRequiere una aplicación móvil propia
Sesión con cookie httpOnlyMayor resistencia al robo de sesión por XSSLa prueba evalúa el manejo explícito de token
Medidor de fortaleza con zxcvbnEstima cuánto tardaría en adivinarse una contraseña y lo muestra mientras se escribeEs una dependencia nueva en el back y en el front; las reglas de patrones propias (ADR-0070) cubren los casos comunes
Historial inmutable a nivel de base de datosNi un acceso directo a la base podría alterar la auditoríaEs configuración de infraestructura productiva

Datos y escala

PropuestaValorPor qué no ahora
Réplica de lecturaSepara la carga de listados y dashboardEl volumen actual no lo requiere; el código ya está preparado
Tabla resumen del dashboardIndicadores instantáneos con millones de registrosIgual que la anterior
Archivado de registros antiguosMantiene ágiles las tablas principalesIgual que la anterior
Motor de búsqueda externo (Meilisearch)Búsqueda tolerante a errores y más rápida a gran escalaOtra pieza de infraestructura
Paginación por cursorRendimiento constante en páginas muy profundasLa interfaz de tabla espera páginas numeradas
Copia de respaldos fuera del servidorSobrevivir a una falla total del servidorEl respaldo local cifrado (ADR-0064) cubre el alcance actual
Recuperación al minuto con binlogs de MySQLPerder minutos de datos en vez de hasta un díaExige guardar y rotar binlogs; el respaldo diario cubre el alcance actual

Producto

PropuestaValor
Comentarios en incidentesConversación sobre cada caso, aparte de la nota de cada cambio de estado (ADR-0071)
Retirar una solicitud de reaperturaQue quien la pidió la cancele antes de que la decidan
Exportación .xlsx nativaFormato con estilos para Excel
Exportaciones grandes en segundo planoSuperar el tope de 50.000 filas: el archivo se arma en la cola y se avisa cuando está listo (ADR-0058)
Exportar la auditoríaLlevar los registros a otra herramienta; requiere decidir qué hacer con la IP y el navegador
Modo oscuroLos tokens ya lo permiten
InternacionalizaciónLos mensajes ya viven en un catálogo único
Atajos de tecladoMayor velocidad para usuarios frecuentes
PWA y modo sin conexiónUso con conectividad intermitente
WebhooksIntegración con sistemas externos
GraphQLConsultas flexibles para otros clientes

Ingeniería

PropuestaValor
Ramas hotfix/*Correcciones urgentes sin pasar por todo el flujo
Silenciar tipos de aviso por personaQue cada quien elija qué avisos de coordinación recibe, si en la operación real resultan muchos (ADR-0085)
Avisos de eventos críticosUn correo o una marca en el menú cuando aparece un evento crítico, sin tener que entrar a Sistema (ADR-0059)
Monitoreo externo (Sentry, Grafana)Trazas completas de los errores, métricas en el tiempo y alertas fuera de la app
Interfaz visual del contrato OpenAPI, autoalojadaExplorar la API desde el navegador sin cargar scripts de una CDN, compatible con la CSP (ADR-0060)
CSS de Quasar solo con los componentes usadosBajar los 38 kB comprimidos de la carga inicial, casi todos de estilos que no se usan
Escaneo de ZAP en el CIRepetir el escaneo pasivo en cada Pull Request, contra el stack del propio CI
Despliegue sin caída (blue/green)Actualizaciones sin interrupción
Despliegue continuo con imágenes en GHCRAl fusionar en main, el CI publica las imágenes y el servidor solo las descarga, sin construir allí (ADR-0088)
Proxy de TLS como proyecto propio del servidorQue el Caddy no dependa de ningún proyecto y cada sitio solo agregue su bloque (ADR-0088)
Conservar los archivos de la versión anterior tras publicarQuien tenía Trazo abierto sigue navegando sin recargar (ADR-0063)
Recarga automática ante una versión nuevaUna sola recarga, y solo si no hay cambios sin guardar, en lugar del aviso con “Recargar” (ADR-0063)
Commits firmadosGarantía de autoría de cada cambio
Pruebas de mutaciónVerifican que las pruebas detectan errores reales
Pruebas de carga (k6)Comportamiento con cientos de usuarios simultáneos
Regresión visualDetecta cambios visuales no intencionales
KubernetesOrquestación para varios servidores
Microservicios o BFFSolo si el producto crece a varios equipos