Pasar al contenido principal
Ayuda

Un nuevo sistema de organización

La historia de cómo el equipo de capgo agregó un sistema de organización

Créditos del artículo

Martin Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Un nuevo sistema de organización

Introducción

Hola, soy WcaleNieWolny - Capgo's ingeniero de software principal.

Durante los últimos 8 meses, he estado desarrollando el context: Capgo Builder / producto de construcción nube nativa página. Rol: Etiqueta de UI corta o elemento de navegación. Mensaje clave `native_build_builder_credit_over` (Crédito de construcción nativa del constructor de construcción).Sistema de organización

Finally, after 8 months, every single part of Capgo is accessible to org members. This includes:

  • Finalmente, después de 8 meses, cada parte de __CAPGO_KEEP_0__ está accesible para los miembros de la organización. Esto incluye:
  • aplicaciones
  • estadísticas
  • full CLI support
  • ¡Y mucho más!

No ha sido fácil llegar aquí; han habido 3 revisiones importantes de los sistemas.

Organizaciones v1

Los comienzos fueron difíciles… Empecé a trabajar en esto 2 semanas después de unirme al proyecto. En ese momento, tenía poco o ningún conocimiento sobre el código base o ninguna idea más grande sobre cómo implementarlo.

Esto llevó a implementar la solución más hackeada que solo apoyaba el acceso a las aplicaciones, canales y versiones. Ni siquiera permitía que el usuario invitado accediera a estadísticas.

Y luego esperé a que Martin revisara esto. Esperé y esperé, pero nada realmente sucedió. 3 meses después, decidí volver a esto y resolver todos los conflictos de fusión. También decidí probar, lo que resultó ser una gran idea. No fue ninguna sorpresa, la solución hackeada falló completamente. En ese momento, decidí resolver todos los errores y escribir una prueba E2E exhaustiva. Tuvieron que trabajar con muy malas code y muchas malas decisiones tomadas por el pasado yo, pero después de 2 semanas difíciles, finalmente lo hice funcionar.

Sin embargo, eso no significa que fuera perfecto. El propietario de la organización todavía tenía mucho más acceso que incluso el usuario invitado más alto. La experiencia del usuario también era bastante deficiente. El usuario invitado no podía ni ver las estadísticas de la aplicación, ni gestionar la facturación, y el CLI estaba limitado a subir solo.

A pesar de todas esas dificultades, Martin había revisado el PR, y una semana después, se lanzó a producción.

Organizaciones v2

El sistema de organización estaba funcionando bastante bien a pesar de todas las dificultades. Los usuarios lo estaban utilizando y realmente lo impulsó todo el proyecto. Sin embargo, todavía tenía que:

  • arreglar el desorden hecho en seguridad a nivel de fila
  • agregar soporte para toda la CLI
  • asegurarse de que los usuarios administrativos tengan el mismo acceso que el propietario

Después de muchas discusiones con Martin, decidimos que la mejor manera de seguir adelante era reescribir todas las reglas de seguridad y mover la propiedad de todos los recursos a las organizaciones y no a los usuarios. Esto permitiría una integración más fácil con el nuevo sistema de organización, y también eliminaría muchos legados code.

Escribir el nuevo RLS code fue muy tedioso, pero después de una semana y media, la migración completa estaba lista.

Esta vez, sin embargo, decidimos no escribir la prueba E2E, lo que significó que tuvimos que probarlo manualmente. Después de 3 llamadas muy extensas juntos, Martin y yo finalmente decidimos empujar a producción y esperar que saliera bien 🙏

No lo hizo… Resulta que rompí la inscripción de usuario, y los nuevos usuarios no podían crear una cuenta 😅

Después de una llamada de pánico rápida, empujé rápidamente algunas cambios a prod y me fui a la cama. Desafortunadamente, mis cambios solo crearon más problemas 😰

Después de despertar, descubrí que los usuarios tenían un gran número de organizaciones vacías. Esto no debía suceder, ya que solo se debería permitir una organización por usuario. Tomó algún tiempo de brainstorming para eliminar todas las organizaciones duplicadas y vacías, pero aparte de eso, los cambios fueron bastante suaves.

Organizaciones v3

Sin embargo, esto no era suficiente. Faltaba un componente gigantesco - la facturación.

Hasta ahora solo el propietario podía gestionar la facturación. Esto había creado algunos problemas interesantes donde un usuario compró un plan pensando que lo estaba comprando para la organización.

Rápidamente resolvimos el problema manualmente y fue en ese momento que decidimos que este problema era inaceptable

La migración fue bastante suave. Tomó una semana de trabajo pero en comparación con V1 y V2 realmente no fue tan difícil

Organizaciones v4 - el futuro

It was not easy but I learned a lot and capgo has received a very nice and important feature I still have to deprecate the legacy functions, improve the webapp user experience, monitor for bugs, but there should not be any major changes to this system.


No fue fácil pero aprendí mucho y __CAPGO_KEEP_0__ ha recibido una característica muy bonita e importante

Aún tengo que deprecate las funciones legadas, mejorar la experiencia del usuario en la aplicación web, monitorear errores, pero no debería haber cambios importantes en este sistema.

Gracias por leer Sigue adelante desde El sistema de organizaciones nuevo de marca para planificar la consola de dashboard y API operaciones, conectarlo con API Vista General para los detalles de implementación en API Vista General, Introducción para los detalles de implementación en Introducción, API Claves para los detalles de implementación en API Claves, Dispositivos para los detalles de implementación en Dispositivos, y Paquetes para los detalles de implementación en Paquetes.

Actualizaciones en vivo para Capacitor aplicaciones

Cuando haya un error en la capa web, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras que los cambios nativos siguen en el camino de revisión normal.

soporte humano de Martin

Iniciar Ahora

Últimas noticias de nuestro Blog

Capgo te da las mejores perspectivas que necesitas para crear una aplicación móvil verdaderamente profesional.