Centralizada Frontend — Plataforma de Gestión de Identidades y Accesos
Portal web para que administradores gestionen usuarios, empresas, sistemas y permisos desde un único lugar, con registro completo de cada acción para auditoría.
El Problema
Construir la plataforma significaba resolver múltiples problemas de ingeniería frontend al mismo tiempo: formularios que reaccionan en cascada a decisiones del usuario, operaciones masivas que no pueden inundar la pantalla de notificaciones, sesiones que deben sobrevivir entre pestañas, tablas reutilizables que no generen fugas de memoria al navegar entre módulos, una capa de seguridad HTTP centralizada para toda la app, y una base de código que debía actualizarse sin frenar las entregas.
La mayor complejidad no estaba en la lógica de negocio, sino en garantizar que la interfaz fuera robusta, predecible y fácil de mantener a medida que crecía en funcionalidades.
Desafíos
El flujo de asignación de accesos requería un formulario dinámico donde el administrador podía asignar múltiples sistemas a un usuario en una sola operación.
Implementé el formulario con FormArray reactivo donde cada fila es un FormGroup independiente con validaciones cruzadas en tiempo real.
El formulario hace estructuralmente imposible guardar datos incorrectos: los perfiles que no pertenecen al sistema no aparecen, y los sistemas ya usados desaparecen de las opciones. El backend nunca recibe una asignación inválida.
La clave fue llamar a updateValueAndValidity() sobre el FormArray completo cada vez que cambia un sistema, forzando que todos los controles se re-evalúen con el contexto actualizado. Así cada fila puede rechazar un valor basándose en lo que eligieron las demás.