Ir al contenido principal
Clinford Jordano Valencia
Todos los proyectos
PlataformaWebMóvil

Flujos guiados por esquema con configuración como código

Una plataforma de interfaz guiada por configuración, con config-as-code basado en Git, para que los cambios de reglas salgan en horas sin desplegar el frontend.

Stack
TypeScript · jsonform · Git · CI/CD · Schema validation

El problema

Los flujos para muchos mercados significaban código duplicado y un ticket de ingeniería cada vez que producto o cumplimiento querían cambiar una regla regional.

El enfoque

  • Renderizar formularios desde un esquema. La interfaz lee configuración JSON o YAML mediante jsonform: el esquema genera los campos y las reglas de validación. Las acciones personalizadas, como iniciar un puente nativo, se quedan en el código.
  • Un paso, resultados distintos. La configuración decide qué hace un paso en cada mercado y plataforma. Donde se admite una capacidad nativa, el paso muestra una guía y un botón de escaneo; si no, muestra los campos de formulario normales y un botón Continuar. Producto lo cambia en la configuración, no en el código.
  • Configuración como código. Los cambios se envían a través de Git. Cada cambio abre una pull request automática y ejecuta CI con validación estricta del esquema respaldada por tipos de TypeScript, de modo que una configuración mal formada falla antes de producción.

Dos decisiones que merecen una explicación

jsonform para renderizar, código para las acciones. Una interfaz totalmente dirigida por el servidor que ejecuta lógica arbitraria enviada desde él invita a riesgos de ejecución remota de código y a problemas de rendimiento. El renderizado dirigido por datos con acciones ligadas a manejadores precompilados mantiene la flexibilidad sin esa exposición.

Git en lugar de un formulario de administración. Las ediciones fáciles sin gobernanza rompen los flujos de producción. Las pull requests, las comprobaciones de tipos y la CI hacen que cada cambio sea atribuible, revisado y fácil de revertir.

El resultado

Las publicaciones de configuración ya no dependen de los despliegues del frontend, así que las actualizaciones multimercado pasaron de semanas a horas y la duplicación de código regional dejó de crecer.