Quienes somos
Somos especialistas en desarrollo Web
Hola, somos un grupo de experimentados ingenieros informáticos chilenos que hemos visto una buena oportunidad en crear un sistema de denuncias, completo, sencillo y económico.
Identity Provider
Central a nuestra solución está la integración con los sistemas de autenticación diversos que tienen las organizaciones. En la actualidad existe la figura del IDP, Identity Provider, una pieza basado en OpenID Connect que permite por detrás conectar con cualquier mecanismo de identidad que tenga la empresa ya sea Google, Azure, Auth0 u otro.
"No podemos agregarle un problema de gestión y seguridad a las organizaciones, con otro nuevo sistema de usuarios"
Teníamos experiencia con Keycloak, el IDP de Redhat, pero investigamos más, y llegamos a Zitadel, que en el fondo ofrece algo muy similar a keycloak, pero con un increible trabajo de experiencia usuario, además Zitadel al igual que Keycloak, es software de tipo libre así que pueden bajar hasta su código fuente de internet o también se puede comprar como un servicio.
En caso de que la empresa no posea un sistema centralizado de autenticación, creamos los usuarios directamente en zitadel y la organización puede comenzar a operar.
Mobile First
Las aplicaciones Web modernas son adaptables, la misma aplicación deben funcionar con altos estándares de experiencia usuario tanto en el celular como en el computador, esto se logra con el desarrollo llamado responsivo... mobile first es el término usado para cuando colocamos este énfasis particular en la experiencia móvil primero que en la experiencia desktop.
A este respecto es que la aplicación, tanto de cara al denunciante como a la administración de denuncias es tan facil de usar como whatsapp o spotify.
En términos técnicos las aplicaciones actuales se hacen en dos partes: el front end ejecuta en el navegador del usuario, y el backend ejecuta en el Servidor. Para front end usamos React la tecnología más popular a nivel mundial, y para el backend, Express el servidor basado en nodejs más popular también. Para almacenamiento nos quedamos con una base de datos relacional clásica como PostgreSQL, que es la misma que utiliza Zitadel.
Workflow simplificado
El construir desde cero nos permitió lograr lo que queríamos: hacer un sistema que fuera específico para denuncias y delitos, como Ley Karin y otras clasificaciones, un worklflow de trabajo que cumpliera con lo necesario, pero no más.
En lo interno queríamos tener un modelo de software también sencillo de entender que no fuera demasiado corto de miras, y por lo tanto con los mecanismos de extensión precisos, por ejemplo para que cada empresa pueda tener su propia taxonomía de delitos si lo desea, todas parten con una taxonomía oficial nuestra que puede personalizar, dos niveles solamente.
Perfiles
Lo que queremos destacar acá es que el requerimiento hacia informática que normalmente gestiona el
proveedor de identidad tiene que reducirse al mínimo, solamente las credenciales para conectar con zitadel.
Así que realmente la gestión más detallada de lo que puede hacer cada usuario se hace en komplaints directamente.
Cuándo se crea el primer usuario este usuario un usuario administrador que tiene poderes para poder
configurar la empresa hacer todo y también crear más usuarios, por supuesto. Para que los usuarios
de la organización puedan conectarse a komplaints, deben declararse en Zitadel, no cualquier usuario de la
organización puede entrar, el sistema está pensado esencialmente con un modelo muy confidencial.
Cuando un usuario hace su primer login, lo creamos automáticamente en komplaints, pero queda casi sin privilegios, sólo puede gestionar las denuncias en las que sea ingresado directamente como responsable, pero el administrador le puede asignar más poderes:
- Ser administrador
- Recibir el correo de nuevas denuncias
- Gestionar usuarios
- Poder modificar cualquier denuncia
- Poder ver cualquier denuncia
Lo diseñamos así para no tener que colocar una carga en la gestión sobre el proveedor de identidad de la misma organización que podría ser un problema.
Temático
Hemos puesto un gran énfasis en la apariencia, la idea es un sistema camaleónico, que pueda si el cliente lo desea camuflarse en su intranet como una aplicación más, con sus colores, logotipo, tipografía, etc; para esto utilizamos tailwind, el kit de css más usado a nivel mundial, y su librería temática daisyui.
Despliegue
Para un despliegue de alta disponibilidad usamos docker ejecutando en la nube, libre de los efectos del robo de cables en Santiago con sus nefastas consecuancias para el flujo de energía eléctrica y de Internet, el sistema entero tiene una réplica en nuestras plataformas propias (on-prem), de manera tener un proceso de recuperación de desastres a todo evento. Esto aplica para el despliegue de zitadel como de la aplicación.
One Click Up
La puesta en marcha complete de una organización puede tardar 1 hora. En la actualidad nuestro modelo de despliegue de nuevas aplicaciones no está tan one Click como deseamos, y hay algunos pasos manuales tanto para zitadel, DNS; y certificado SSL, además de la coordinación para integrar con el sistema de autenticación de la organización.
Workflow
Y se nos olvida el tema más importante el flujo de trabajo para resolver una denuncia; siempre aquí hay bastante que hacer se puede dejar muy blando o muy rigido, por supuesto debemos busca rel punto medio. Para crear la denuncia no se requiere estar conectado, y es completamente anónimo. Al ingresar una denuncia del denunciante recibe en pantalla (y por email, si se ha identificado), el código de denuncia que le permitirá consultar el estado de la denuncia. Se envía el correo de nueva denuncia a los administradores de la organización y también a los que estén con privilegio, correo de nuevas denuncias. El flujo de la denuncia sigue con la asignación de un responsable desde la lista de usuarios, y queda en proceso. También a esta altura se puede desestimar, indicando el motivo. En ningún caso borrarla, durante la fase en proceso la denuncia:
- Puede reasignarse
- Se le pueden agregar avances, donde podemos incluir texto y archivos juntos como un sólo evento.
- Siempre está disponible una lista libre de archivos adjuntos
En cada actividad se registra el usuario y fecha/hora de realización. Finalmente la denuncia está en proceso hasta que se finaliza con una sanción o sin sanción, en el caso de sanción debe indicar cual es.