Zum Hauptinhalt springen
Story

Eine neue Organisationssystematik

Eine Geschichte darüber, wie das capgo-Team ein Organisationssystem hinzugefügt hat

WcaleNieWolny

WcaleNieWolny

Inhaltsmarketer

Ein neues Organisationssystem

Einführung

Hallo, ich bin WcaleNieWolny - Capgo's Leiter der Softwareentwicklung.

Im Laufe der letzten 8 Monate habe ich das Organisationssystementwickelt und ab dem 14. April bin ich froh, Ihnen mitteilen zu können, dass das System abgeschlossen ist 🎉 🎊

Endlich, nach 8 Monaten, ist jedes einzelne Teil von Capgo für Mitglieder der Organisation zugänglich. Dazu gehören:

  • Apps
  • Statistiken
  • Abrechnung
  • vollständige CLI-Unterstützung
  • und noch viel mehr!

Es war nicht leicht, hier zu gelangen; es gab 3 große Revisionen der Systeme.

Organisationen v1

Die Anfänge waren rau… Zunächst begann ich damit, an diesem Projekt zu arbeiten, 2 Wochen nachdem ich der Projektgruppe beigetreten war. Zu diesem Zeitpunkt hatte ich wenig bis keine Kenntnisse über die Codebasis oder irgendeine größere Idee, wie man dies umsetzen sollte.

Dies führte dazu, dass ich die hackigste Lösung implementierte, die nur die Zugriff auf Apps, Kanäle und Versionen unterstützte. Sie ließ nicht einmal zu, dass der eingeladene Benutzer Zugriff auf Statistiken hatte.

Und dann wartete ich auf Martin, um dies zu überprüfen. Ich wartete und wartete, aber nichts wirklich geschah. 3 Monate später entschied ich mich, zurückzukommen und alle Merge-Konflikte zu lösen. Ich entschied mich auch, zu testen, was sich als großartige Idee herausstellte. Zu meiner Überraschung funktionierte die hackige Lösung nicht. In diesem Moment entschied ich mich, alle Fehler zu beheben und eine umfassende E2E-Test zu schreiben. Ich musste mit sehr gebrochenen code und einer Vielzahl schlechter Entscheidungen arbeiten, die ich in der Vergangenheit getroffen hatte, aber nach 2 harten Wochen schaffte ich es endlich, dass es funktioniert.

Das bedeutet jedoch nicht, dass es perfekt war. Der Besitzer der Organisation hatte immer noch viel mehr Zugriff als selbst der höchst eingeladene Benutzer. Die Benutzererfahrung war auch sehr mangelhaft. Der eingeladene Benutzer konnte nicht einmal die Anwendungsstatistiken sehen, die Abrechnung verwalten und die CLI war auf das Hochladen beschränkt.

Trotz all dieser Herausforderungen hatte Martin das PR geprüft und eine Woche später wurde es in die Produktionsumgebung gepusht.

Organisationen v2

Das Organisationssystem funktionierte trotz aller Herausforderungen ziemlich gut. Die Benutzer nutzten es und es trieb den gesamten Projekt voran. Allerdings musste ich immer noch:

  • den Schlamassel in der Ebenen-Sicherheit
  • die Unterstützung für die gesamte CLI
  • stellen, dass Administratoren denselben Zugriff wie der Besitzer haben

Nach viele Diskussionen with Martin, we decided that the best way to move forward was to rewrite the entire security rules and to move all the resource ownership to organizations and not users. This would allow for easier integration with the new organization system, and it would also remove a lot of legacy code.

Dies würde eine leichtere Integration mit dem neuen Organisationssystem ermöglichen und auch viele legacy code entfernen.

Das Schreiben der neuen RLS __CAPGO_KEEP_0__ war sehr zeitaufwändig, aber nach einer Woche und einem halben Tag war die gesamte Migration fertig.

Diesmal entschieden wir uns jedoch dagegen, die E2E-Test zu schreiben, was bedeutete, dass wir ihn manuell testen mussten. Nach 3 sehr ausführlichen Gesprächen zusammen mit Martin und ich entschieden uns schließlich, auf die Produktion zu gehen und hoffen, dass es gut laufen würde 🙏

Nach einem kurzen Panikruf, drückte ich schnell einige Änderungen in die Produktion und ging ins Bett. Leider haben meine Änderungen nur noch mehr Probleme geschaffen 😰

Nachdem ich aufgewacht war, entdeckte ich, dass die Benutzer viele leere Organisationen hatten. Dies sollte nicht passieren, da nur 1 Organisation pro Benutzer erlaubt sein sollte. Es dauerte einige Zeit, um alle duplizierten, leeren Orgs zu entfernen, aber abgesehen davon gingen die Änderungen ziemlich glatt.

Organisationen v3

Selbst das reichte nicht aus. Es fehlte noch ein riesiger Komponente - die Abrechnung.

Bislang konnte nur der Besitzer die Abrechnung verwalten. Dies hat einige interessante Probleme geschaffen, bei denen ein Benutzer ein Abonnement gekauft hat, weil er dachte, er kaufe es für die Organisation. Wir haben das Problem schnell manuell gelöst und es war in diesem Moment, dass wir beschlossen, dass dieses Problem unannehmbar war

Die Migration war ziemlich glatt. Es dauerte eine Woche Arbeit, aber verglichen mit V1 und V2 war es wirklich nicht so schwer 🚀

Organisationen v4 - die Zukunft

Nach all diesem harten Arbeit denke ich, es ist Zeit, sich auf etwas anderes zu konzentrieren 😎

Es war nicht leicht, aber ich habe viel gelernt und capgo hat eine sehr nette und wichtige Funktion erhalten Ich muss noch die veralteten Funktionen deprecieren, die Benutzeroberfläche des Web-Apps verbessern, nach Bugs überwachen, Aber es sollten keine großen Änderungen an diesem System geben.


Vielen Dank für das Lesen 🚀

Weitermachen von A ein neues Organisationssystem

Wenn Sie diese verwenden Ein neues Organisationskonzept um das Dashboard und API-Betrieb zu planen, mit ihm zu verbinden API-Übersicht für die Implementierungsdetails in der API-Übersicht Einführung für die Implementierungsdetails in der Einführung API-Schlüssel für die Implementierungsdetails in den API-Schlüsseln Geräte für die Implementierungsdetails in Geräten und Pakete für die Implementierungsdetails in Paketen.

Live-Updates für Capacitor-Anwendungen

Wenn ein Web-Schicht-Bug live ist, schicken Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung genehmigt ist. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's jetzt

Aktuelle Beiträge aus unserem Blog

Capgo bietet Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles mobiles App zu erstellen.