Pasar al contenido principal
Story

Un nuevo sistema de organización

Un backstory sobre cómo el equipo de capgo agregó un sistema de organización

WcaleNieWolny

WcaleNieWolny

Gerente de contenido

contexto: Página/área: sitio web de marketing de Capgo. Rol: Etiqueta de IU corta o elemento de navegación. Visto en: página blog/[slug].astro. Clave de mensaje `content_marketer` (Gerente de contenido).

Un nuevo sistema de organización

Introducción Hola, soy WcaleNieWolny - Ingeniero de software principal de Capgo.

Durante los últimos 8 meses, he estado desarrollando el sistema de organización, y a partir del 14 de abril, estoy encantado de anunciar que el sistema ha sido completado 🎉 🎊

Finalmente, después de 8 meses, cada parte de Capgo está accesible para los miembros de la organización. Esto incluye:

  • aplicaciones
  • estadísticas
  • facturación
  • soporte completo de CLI
  • y mucho más!

No ha sido fácil llegar hasta aquí; se han realizado 3 revisiones importantes del sistema.

Organizaciones v1

Los comienzos fueron difíciles… Inicialmente, empecé a trabajar en este proyecto 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 admitía el acceso a las aplicaciones, canales y versiones.

And then I waited for Martin to review this. I waited and waited, but nothing really happened. 3 months later, I decided to come back to this and fix all the merge conflicts. I also decided to test, which turned out to be a great idea. To no surprise, the hacky solution completely failed. At that moment, I decided to fix all bugs and write an extensive E2E test. I had to work with very broken code and a lot of bad decisions made by the past me, but after 2 hard weeks, I finally got it to function.

Sin embargo, no significa que fuera perfecto. El propietario de la organización todavía tenía acceso a mucho más 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 organizaciones funcionaba bastante bien a pesar de todas las dificultades. Los usuarios lo estaban utilizando, y realmente impulsó todo el proyecto hacia adelante. Sin embargo, todavía tenía que:

  • arreglar el desorden hecho en seguridad de 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 forma de avanzar era reescribir todas las reglas de seguridad y mover la propiedad de 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 organizaciones, y también eliminaría una gran cantidad de legado code.

La escritura de las nuevas RLS code fue muy tediosa, pero después de una semana y media, la migración completa estaba lista.

No escribimos las pruebas 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 todo saliera bien 🙏

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

Después de una llamada de pánico rápida, empujé rápidamente algunos 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 muchas organizaciones vacías. Esto no está supuesto a suceder, ya que solo se debe permitir una organización por usuario. Tomó algún tiempo de brainstorming para eliminar todas las organizaciones duplicadas vacías, pero aparte de eso, los cambios fueron bastante suaves.

Organizaciones v3

Ni siquiera esto fue suficiente. Todavía faltaba un componente gigante - la facturación.

Por ahora solo el propietario podía gestionar la facturación. Esto ha creado algunos problemas interesantes donde un usuario compró un plan pensando que estaba comprándolo para la organización. Rápidamente resolvimos el problema manualmente y fue en este punto que decidimos que este problema era inaceptable

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

Organizaciones v4 - el futuro

Después de todo este trabajo duro creo que es hora de enfocarse en algo más por ahora 😎

Fue difícil pero aprendí mucho y capgo ha recibido una característica muy agradable e importante Aún tengo que deprecate las funciones legadas, mejorar la experiencia del usuario en la webapp, monitorear errores, pero no debería haber cambios importantes en este sistema.


Gracias por leer 🚀

Sigue adelante desde El sistema de organizaciones nuevo

Si estás utilizando Un sistema de organizaciones nuevo para planificar el panel de control y API operaciones, conecta con API Resumen para los detalles de implementación en API Resumen, 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 aplicaciones Capacitor

Cuando un error de capa de web está en vivo, envía 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 los cambios nativos siguen en el camino de revisión normal.

soporte humano de Martin

Inicia Ahora

Últimas noticias de nuestro Blog

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