Aller directement au contenu principal
Histoire

Un nouveau système d'organisation

Un aperçu de la manière dont l'équipe capgo a ajouté un système d'organisation

WcaleNieWolny

WcaleNieWolny

Spécialiste du contenu marketing

Un nouveau système d'organisation

Introduction

Salut, je suis WcaleNieWolny - Le chef de l'ingénierie logicielle de Capgo.

Au cours des 8 derniers mois, j'ai développé le système d'organisation et, le 14 avril, je suis heureux de vous annoncer que le système est désormais terminé. Enfin, après 8 mois, chaque partie de __CAPGO_KEEP_0__ est accessible aux membres de l'organisation. Cela inclut :applications

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

  • facturation
  • une prise en charge complète de __CAPGO_KEEP_0__
  • et bien plus encore !
  • full CLI support
  • Organisations v1

Organisations v1

Organisations v1

Les débuts ont été difficiles… J'ai commencé à travailler sur ce projet 2 semaines après avoir rejoint l'équipe. À l'époque, j'avais peu ou pas de connaissances sur le codebase ou aucune idée plus grande sur la façon d'implémenter cela.

Cela a conduit à l'implémentation de la solution la plus hacky qui n'a soutenu que l'accès aux applications, aux canaux et aux versions. Il ne permettait même pas à l'utilisateur invité d'accéder aux statistiques.

Et puis j'ai attendu que Martin révise cela. J'ai attendu et attendu, mais rien n'est vraiment arrivé. 3 mois plus tard, j'ai décidé de revenir sur cela et de résoudre tous les conflits de fusion. J'ai également décidé de tester, ce qui s'est avéré une excellente idée. Comme prévu, la solution hacky a complètement échoué. À ce moment-là, j'ai décidé de corriger tous les bugs et d'écrire un test E2E exhaustif. J'ai dû travailler avec des code très cassés et de nombreuses mauvaises décisions faites par le passé, mais après 2 semaines difficiles, j'ai finalement réussi à le faire fonctionner.

Cela ne signifie pas, cependant, que cela était parfait. Le propriétaire de l'organisation avait encore beaucoup plus d'accès que même l'utilisateur invité le plus élevé. L'expérience utilisateur était également très insatisfaisante. L'utilisateur invité ne pouvait même pas voir les statistiques de l'application, gérer les factures et le CLI était limité à l'upload uniquement.

Malgré tous ces défis, Martin avait révisé le PR, et une semaine plus tard, il a été poussé en prod.

Organisations v2

Le système d'organisation fonctionnait plutôt bien malgré tous les défis. Les utilisateurs l'utilisaient et cela a vraiment poussé l'ensemble du projet en avant. Cependant, j'avais encore à :

  • corriger le désordre créé dans sécurité au niveau de ligne
  • ajouter un support pour l'intégralité de CLI
  • s'assurer que les utilisateurs administrateurs ont le même accès que le propriétaire

Après après de nombreuses discussions avec Martin, nous avons décidé que la meilleure façon de poursuivre était de réécrire les règles de sécurité entières et de déplacer la propriété de tous les ressources vers les organisations et non les utilisateurs. Cela permettrait une intégration plus facile avec le nouveau système d'organisation, et cela supprimerait également un certain nombre de legacy code.

La rédaction du nouveau RLS code était très fastidieuse, mais après une semaine et demie, la migration entière était prête.

Cette fois, cependant, nous avons décidé de ne pas écrire le test E2E, ce qui signifie que nous devions le tester manuellement. Après 3 appels très étendus ensemble, Martin et moi avons finalement décidé de pousser vers la production et d'espérer qu'il irait bien 🙏

Ce n'est pas le cas… Il s'avère que j'ai cassé l'enregistrement des utilisateurs, et les nouveaux utilisateurs ne pouvaient pas créer un compte 😅

Après un appel de panique rapide, j'ai rapidement poussé quelques modifications dans prod et suis allé me coucher. Malheureusement, mes modifications n'ont créé que plus de problèmes 😰

Après que j'aie réveillé, j'ai découvert que les utilisateurs avaient beaucoup d'organisations vides. Il ne devrait pas se produire car il ne devrait y avoir qu'une organisation par utilisateur. Il a fallu du temps de réflexion pour supprimer toutes les organisations dupliquées vides, mais à part cela, les modifications sont allées plutôt bien.

Organisations v3

Même cela n'était pas suffisant. Il restait encore un composant gigantesque manquant - la facturation.

Jusqu'à présent, seul le propriétaire pouvait gérer la facturation. Cela a créé quelques problèmes intéressants où un utilisateur a acheté un plan en pensant qu'il l'achetait pour l'organisation. Nous avons rapidement résolu le problème manuellement et c'est à ce moment-là que nous avons décidé que ce problème était inacceptable

La migration a été plutôt fluide. Il a fallu une semaine de travail mais comparé à V1 et V2, cela n'était vraiment pas si dur 🚀

Organisations v4 - l'avenir

Après tout ce travail dur, je pense qu'il est temps de se concentrer sur autre chose pour l'instant 😎

Ce n'était pas facile mais j'ai appris beaucoup et capgo a reçu une très belle et importante fonctionnalité Je dois encore dépréciquer les fonctions de legacy, améliorer l'expérience utilisateur de l'application web, surveiller les bogues, mais il ne devrait pas y avoir de changements majeurs à ce système.


Merci de lire 🚀

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, expédiez la correction par Capgo au lieu d'attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans le chemin de revue normal.

Commencez dès maintenant

Dernières actualités de notre Blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.