-
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
959 changed files
with
92,823 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
--- | ||
slug: a-brand-new-organization-system | ||
title: Ein brandneues Organisationssystem | ||
description: >- | ||
Eine Hintergrundgeschichte darüber, wie das Capgo-Team ein Organisationssystem | ||
hinzugefügt hat | ||
author: WcaleNieWolny | ||
author_url: 'https://github.com/WcaleNieWolny/WcaleNieWolny' | ||
created_at: 2024-04-15T00:00:00.000Z | ||
updated_at: 2024-04-15T00:00:00.000Z | ||
head_image: /organization_system_blog.webp | ||
head_image_alt: Capgo-Organisationssystem-Illustration | ||
tag: Story | ||
published: true | ||
locale: de | ||
next_blog: '' | ||
--- | ||
|
||
## Einführung | ||
|
||
Hallo, ich bin [WcaleNieWolny](https://githubcom/WcaleNieWolny/WcaleNieWolny) - Capgos leitender Softwareingenieur | ||
|
||
In den letzten 8 Monaten habe ich das [Organisationssystem](/docs/webapp/organization-system/) entwickelt, und ich freue mich, am 14. April bekannt geben zu können, dass das System fertiggestellt wurde 🎉 🎊 | ||
|
||
Endlich, nach 8 Monaten, ist jeder einzelne Teil von Capgo für Organisationsmitglieder zugänglich. Dazu gehören: | ||
- Apps | ||
- Statistiken | ||
- Abrechnung | ||
- vollständige CLI-Unterstützung | ||
- und noch so viel mehr! | ||
|
||
Es war nicht einfach, bis hierher zu kommen; es gab 3 größere Überarbeitungen der Systeme | ||
|
||
## Organisationen v1 | ||
|
||
Die Anfänge waren schwierig. Ursprünglich begann ich 2 Wochen nach meinem Einstieg in das Projekt daran zu arbeiten. | ||
Zu diesem Zeitpunkt hatte ich wenig bis gar keine Kenntnisse über die Codebasis oder eine größere Vorstellung davon, wie man dies implementieren sollte. | ||
|
||
Dies führte zur Implementierung der notdürftigsten Lösung, die nur den Zugriff auf Apps, Kanäle und Versionen unterstützte. | ||
Sie erlaubte dem eingeladenen Benutzer nicht einmal den Zugriff auf Statistiken. | ||
|
||
Und dann wartete ich darauf, dass Martin dies überprüft. Ich wartete und wartete, aber es passierte nichts wirklich. 3 Monate später beschloss ich, darauf zurückzukommen und alle Merge-Konflikte zu beheben. Ich beschloss auch zu testen, was sich als großartige Idee herausstellte. | ||
Wenig überraschend scheiterte die Notlösung völlig. In diesem Moment beschloss ich, alle Fehler zu beheben und einen umfangreichen E2E-Test zu schreiben. | ||
Ich musste mit sehr fehlerhaftem Code und vielen schlechten Entscheidungen arbeiten, die ich in der Vergangenheit getroffen hatte, aber nach 2 harten Wochen bekam ich es endlich zum Funktionieren. | ||
|
||
Das bedeutet jedoch nicht, dass es perfekt war. Der Besitzer der Organisation hatte immer noch viel mehr Zugriff als selbst der höchstrangige eingeladene Benutzer. Auch die Benutzererfahrung ließ zu wünschen übrig. Der eingeladene Benutzer konnte nicht einmal die Anwendungsstatistiken einsehen, die Abrechnung verwalten, und die CLI war auf den reinen Upload beschränkt. | ||
|
||
Trotz all dieser Herausforderungen hatte Martin den PR überprüft, und eine Woche später wurde er in die Produktion übernommen. | ||
|
||
## Organisationen v2 | ||
|
||
Das Organisationssystem funktionierte trotz aller Herausforderungen recht gut. Benutzer verwendeten es, und es brachte das gesamte Projekt wirklich voran. Allerdings musste ich noch: | ||
- das Durcheinander in der [zeilenbasierten Sicherheit](https://supabasecom/docs/guides/auth/row-level-security) beheben | ||
- Unterstützung für die gesamte CLI hinzufügen | ||
- sicherstellen, dass Admin-Benutzer den gleichen Zugriff haben wie der Besitzer | ||
|
||
Nach [vielen Diskussionen](https://githubcom/Cap-go/capgo/issues/564) mit Martin beschlossen wir, dass der beste Weg nach vorn darin bestand, die gesamten Sicherheitsregeln neu zu schreiben und den gesamten Ressourcenbesitz auf Organisationen und nicht auf Benutzer zu verlagern. | ||
Dies würde eine einfachere Integration mit dem neuen Organisationssystem ermöglichen und auch viel Legacy-Code entfernen. | ||
|
||
Das Schreiben des neuen RLS-Codes war sehr mühsam, aber nach eineinhalb Wochen war die gesamte Migration bereit. | ||
|
||
Diesmal entschieden wir uns jedoch gegen das Schreiben des E2E-Tests, was bedeutete, dass wir es manuell testen mussten. Nach 3 sehr ausführlichen Gesprächen beschlossen Martin und ich schließlich, in die Produktion zu gehen und zu hoffen, dass es gut laufen würde 🙏 | ||
|
||
Es lief nicht gut. Es stellte sich heraus, dass ich die Benutzerregistrierung kaputt gemacht hatte, und neue Benutzer konnten kein Konto erstellen 😅 | ||
|
||
Nach einem schnellen Panikanruf pushte ich schnell einige Änderungen in die Produktion und ging ins Bett. Leider verursachten meine Änderungen nur noch mehr Probleme 😰 | ||
|
||
Als ich aufwachte, entdeckte ich, dass Benutzer viele leere Organisationen hatten. Das sollte nicht passieren, da pro Benutzer nur 1 Organisation erlaubt sein sollte. Es brauchte einige Zeit des Brainstormings, um alle duplizierten, leeren Organisationen zu entfernen, aber abgesehen davon verliefen die Änderungen ziemlich reibungslos. | ||
|
||
## Organisationen v3 | ||
|
||
Selbst das war nicht genug. Es fehlte noch eine große Komponente - die Abrechnung. | ||
|
||
Bisher konnte nur der Besitzer die Abrechnung verwalten. Dies hat zu einigen interessanten Problemen geführt, bei denen ein Benutzer einen Plan kaufte in der Annahme, er würde ihn für die Organisation kaufen. | ||
Wir haben das Problem schnell manuell behoben, und an diesem Punkt beschlossen wir, dass dieses Problem inakzeptabel war. | ||
|
||
Die Migration verlief ziemlich reibungslos.Es hat eine Woche Arbeit gekostet, aber im Vergleich zu V1 und V2 war es wirklich nicht so schwer 🚀 | ||
|
||
## Organisationen v4 - die Zukunft | ||
|
||
Nach all dieser harten Arbeit denke ich, es ist Zeit, sich vorerst auf etwas anderes zu konzentrieren 😎 | ||
|
||
Es war nicht einfach, aber ich habe viel gelernt und capgo hat eine sehr schöne und wichtige Funktion erhalten | ||
Ich muss noch die veralteten Funktionen entfernen, das Benutzererlebnis der Webapp verbessern, auf Fehler überwachen, | ||
aber es sollte keine größeren Änderungen an diesem System mehr geben | ||
|
||
<br> | ||
|
||
Danke fürs Lesen 🚀 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
--- | ||
slug: alternative-to-appflow | ||
title: Alternative zu Ionic Appflow | ||
description: >- | ||
Ionic Appflow ist eine große Maschinerie für Ihre App, leider ist der Preis | ||
nicht für alle geeignet. Capgo ist hier, um Ihnen OTA-Updates einfach und zu | ||
einem fairen Preis zu ermöglichen. | ||
author: Martin Donadieu | ||
author_url: 'https://x.com/martindonadieu' | ||
created_at: 2022-03-02T00:00:00.000Z | ||
updated_at: 2023-06-29T00:00:00.000Z | ||
head_image: /appflow_alt.webp | ||
head_image_alt: Alternative Illustration für Appflow | ||
tag: Alternatives | ||
published: true | ||
locale: de | ||
next_blog: '' | ||
--- | ||
|
||
Ionic Appflow ist eine cloudbasierte Plattform für die Entwicklung mobiler Apps, die Entwicklern eine Reihe von Tools und Diensten für den schnellen Aufbau, Test und die Bereitstellung mobiler Apps bietet. Sie bietet Funktionen wie kontinuierliche Integration und Bereitstellung, Absturzberichte und ermöglicht es Entwicklern, die Leistung ihrer App zu verfolgen und sicherzustellen, dass sie für ihre Nutzer reibungslos läuft. | ||
|
||
Eine der herausragenden Funktionen von Ionic Appflow ist die Unterstützung für Live-Updates. Dies ermöglicht es Entwicklern, den Inhalt und die Funktionalität ihrer App in Echtzeit zu aktualisieren, ohne dass Benutzer eine neue Version der App herunterladen müssen. Das bedeutet, dass Benutzer auf die neuesten Funktionen und Verbesserungen zugreifen können, sobald sie verfügbar sind, ohne den Prozess des Herunterladens und Installierens eines Updates durchlaufen zu müssen. | ||
|
||
Wenn Sie bereits Ihre eigene Lösung für kontinuierliche Integration implementiert haben, aber an der Live-Update-Funktion von Ionic Appflow interessiert sind, kann es sein, dass Sie die Kosten für die Nutzung von Ionic Appflow als prohibitiv empfinden. In diesem Fall möchten Sie vielleicht eine andere Plattform in Betracht ziehen, die Live-Updates zu einem günstigeren Preis anbietet. | ||
|
||
Eine Option ist Capgo, ein Open-Source-Capacitor-Plugin, entwickelt von der Digital shift OU Firma. Capgo bietet Live-Updates wie Ionic Appflow und kann mit verschiedenen Tools für kontinuierliche Integration integriert werden. Dies ermöglicht es Ihnen, Ihr bestehendes Setup für kontinuierliche Integration weiterhin zu nutzen und gleichzeitig die Bequemlichkeit und Flexibilität von Live-Updates zu nutzen. | ||
|
||
Natürlich ist es wichtig, dass Sie die Funktionen und Kosten jeder Plattform, die Sie in Betracht ziehen, sorgfältig evaluieren und die Lösung wählen, die Ihren Bedürfnissen und Budget am besten entspricht. | ||
|
||
Deshalb haben wir Ihnen eine klare und einfache Tabelle erstellt, um Ihnen beim Vergleich zu helfen. | ||
|
||
## Funktionsvergleiche | ||
|
||
| Funktionen | Capgo | Appflow | | ||
| --- | --- | --- | | ||
| Live-Updates | ✅ | ✅ | | ||
| Aktualisierungszeit | < 1 Min. | < 10 Min. | | ||
| Update-Kanäle | ✅ | ✅ | | ||
| Kostenlose Testversion | ✅ | ❌ | | ||
| Rückgängig machen/Kanalversion ändern | ✅ | ❌ | | ||
| Installationsstatistiken | ✅ | ❌ | | ||
| Sandbox-App zum Testen | ✅ | ❌ | | ||
| Capacitor-Plugin | ✅ | ❌ Cordova-kompatibel | | ||
| Cordova-Plugin | ❌ Könnte zurückportiert werden | ✅ | | ||
| Erschwingliche Preisgestaltung | ✅ Ab $14/Monat | ❌ Ab $499/Monat | | ||
| Native Builds | ❌ | ✅ | | ||
| Ende-zu-Ende-Verschlüsselung | ✅ | ❌ nur für Portal | | ||
| 100% Open Source | ✅ | ❌ | | ||
| Portal | ❌ demnächst verfügbar | ✅ | | ||
| CI/CD | ❌ Tutorial für beliebte Systeme | ✅ | | ||
|
||
## Alternativen für kontinuierliche Integration | ||
|
||
Wenn Sie daran interessiert sind, Capgo zu nutzen, um von Live-Updates zu profitieren, aber keine Lösung für kontinuierliche Integration implementiert haben, können Sie einfach einen kostengünstigen Workflow für kontinuierliche Integration mit GitHub Actions einrichten. GitHub Actions ist ein kostenloser, integrierter Dienst für kontinuierliche Integration und Bereitstellung für GitHub-Repositories, der es Entwicklern ermöglicht, ihre Software-Entwicklungsabläufe zu automatisieren. | ||
|
||
Um kontinuierliche Integration mit GitHub Actions und Capgo einzurichten, müssen Sie zunächst ein GitHub-Repository für den Code Ihrer App erstellen. Dann können Sie eine Workflow-Datei in Ihrem Repository erstellen, die die Schritte definiert, die ausgeführt werden sollen, wenn Code in das Repository gepusht wird. Beispielsweise könnte eine einfache Workflow-Datei Schritte zum Erstellen und Testen der App sowie zur Verwendung von Capgo umfassen, um ein Live-Update zu erstellen und es an die Benutzer der App bereitzustellen. | ||
|
||
Mit dieser Einrichtung wird jedes Mal, wenn Sie Änderungen am Code Ihrer App vornehmen und in das GitHub-Repository pushen, die Workflow-Datei ausgelöst und die angegebenen Schritte werden ausgeführt. Dies ermöglicht es Ihnen, Ihre JS-App mit minimalem Aufwand automatisch zu erstellen, zu testen und bereitzustellen und gleichzeitig die Bequemlichkeit und Flexibilität von Live-Updates zu nutzen. | ||
|
||
Insgesamt kann die Verwendung von GitHub Actions und Capgo eine kosteneffektive Lösung für diejenigen sein, die Live-Updates nutzen möchten, aber keine eigene Einrichtung für kontinuierliche Integration haben. Durch den Einsatz dieser Tools können Kunden ihren App-Entwicklungsprozess automatisieren und schnell und einfach Updates an ihre Benutzer bereitstellen.Wenn Sie bereit sind, Ihre CI/CD mit Capgo einzurichten, können Sie dieser [Anleitung für iOS](https://capgoapp/blog/automatic-capacitor-ios-build-github-action/) und dieser [Anleitung für Android](https://capgoapp/blog/automatic-capacitor-android-build-github-action/) folgen. | ||
|
||
## Gehen wir weiter | ||
|
||
Ehrlich gesagt habe ich Appflow lange Zeit für große Teams empfohlen, die einen dedizierten Support-Mitarbeiter benötigen. Aber jetzt denke ich, es ist Zeit für eine Änderung. | ||
|
||
Capgo ist reif genug, um von Teams aller Größen genutzt zu werden, und es ist weitaus erschwinglicher. | ||
|
||
Wenn Sie ein großes Team sind, das einen dedizierten Support-Mitarbeiter benötigt, kontaktieren Sie mich, und wir können gemeinsam eine Lösung finden. | ||
|
||
Auch wenn Capgo als Self-Service gedacht ist, bin ich wirklich präsent für die Benutzer. | ||
|
||
Ich kann Ihnen auch bei der Konfiguration Ihres Builds für nativen Code helfen. Sie müssen dafür nicht für Appflow bezahlen. | ||
|
||
Wenn Sie Open-Source-Self-Service-Tools mögen, die von der Community getrieben werden, | ||
|
||
Schließen Sie sich uns hier an 👇 | ||
|
||
## Registrieren Sie sich hier, um Ihr Konto zu erhalten | ||
|
||
[Capgo](/register/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
--- | ||
slug: alternative-to-capawesome | ||
title: Alternative zu Capawesome | ||
description: >- | ||
Capawesome wurde vom Capgo-System inspiriert. Das System ist weniger | ||
umfangreich als Capgo, stellt aber trotzdem eine gute Alternative dar. | ||
author: Martin Donadieu | ||
author_url: 'https://x.com/martindonadieu' | ||
created_at: 2024-07-11T00:00:00.000Z | ||
updated_at: 2024-07-11T00:00:00.000Z | ||
head_image: /appflow_alt.webp | ||
head_image_alt: Capawesome Cloud Alternative-Illustration | ||
tag: Alternatives | ||
published: false | ||
locale: de | ||
next_blog: '' | ||
--- | ||
|
||
Capawesome Cloud ist eine alternative Lösung zu Capgo, sozusagen sein kleiner Bruder, gemacht von | ||
|
||
Ionic Appflow ist eine cloudbasierte Plattform für die Entwicklung mobiler Apps, die Entwicklern eine Reihe von Tools und Diensten für den schnellen Aufbau, Test und die Bereitstellung mobiler Apps bietet. Sie bietet Funktionen wie kontinuierliche Integration und Bereitstellung, Absturzberichterstattung und ermöglicht es Entwicklern, die Leistung ihrer App zu verfolgen und sicherzustellen, dass sie für ihre Benutzer reibungslos funktioniert. | ||
|
||
Eine der herausragenden Funktionen von Ionic Appflow ist die Unterstützung für Live-Updates. Dies ermöglicht es Entwicklern, den Inhalt und die Funktionalität ihrer App in Echtzeit zu aktualisieren, ohne dass Benutzer eine neue Version der App herunterladen müssen. Das bedeutet, dass Benutzer auf die neuesten Funktionen und Verbesserungen zugreifen können, sobald diese verfügbar sind, ohne den Prozess des Herunterladens und Installierens eines Updates durchlaufen zu müssen. | ||
|
||
Wenn Sie bereits über Ihre eigene Continuous-Integration-Lösung verfügen, aber an der Nutzung der Live-Update-Funktion von Ionic Appflow interessiert sind, können Sie die Kosten für die Nutzung von Ionic Appflow als prohibitiv empfinden. In diesem Fall möchten Sie vielleicht eine andere Plattform in Betracht ziehen, die Live-Updates zu einem erschwinglicheren Preis anbietet. | ||
|
||
Eine Option ist Capgo, ein Open-Source-Capacitor-Plugin, das von Digital shift OU entwickelt wurde. [Capgo](/register/) bietet Live-Updates wie Ionic Appflow und kann in verschiedene Continuous-Integration-Tools integriert werden. Dies ermöglicht es Ihnen, Ihr bestehendes Continuous-Integration-Setup weiterhin zu nutzen und gleichzeitig die Bequemlichkeit und Flexibilität von Live-Updates zu nutzen. | ||
|
||
Natürlich ist es wichtig, dass Sie die Funktionen und Kosten jeder Plattform, die Sie in Betracht ziehen, sorgfältig evaluieren und die Lösung wählen, die Ihren Bedürfnissen und Ihrem Budget am besten entspricht. | ||
|
||
Deshalb haben wir Ihnen eine klare und einfache Tabelle erstellt, um Ihnen beim Vergleich zu helfen. | ||
|
||
## Funktionsvergleich | ||
|
||
| Funktionen | Capgo | Capawesome | | ||
| --- | --- | --- | | ||
| Live-Updates | ✅ | ✅ | | ||
| Aktualisierungszeit | < 1 Min | < 10 Min | | ||
| Update-Kanäle | ✅ | ✅ | | ||
| Kostenlose Testversion | ✅ | ❌ | | ||
| Rückgängig machen/Kanalversion ändern | ✅ | ❌ | | ||
| Installationsstatistiken | ✅ | ❌ | | ||
| Sandbox-App zum Testen | ✅ | ❌ | | ||
| Capacitor-Plugin | ✅ | ❌ Cordova-kompatibel | | ||
| Cordova-Plugin | ❌ Könnte zurückportiert werden | ✅ | | ||
| Erschwingliche Preisgestaltung | ✅ Ab $14/Monat | ❌ Ab $499/Monat | | ||
| Native Builds | ❌ | ✅ | | ||
| Ende-zu-Ende-Verschlüsselung | ✅ | ❌ nur für Portal | | ||
| 100% Open Source | ✅ | ❌ | | ||
| Portal | ❌ demnächst | ✅ | | ||
| CI/CD | ❌ Anleitungen für gängige Lösungen | ✅ | | ||
|
||
## Alternativen für kontinuierliche Integration | ||
|
||
Wenn Sie daran interessiert sind, [Capgo](https://capgoapp/pricing/) für Live-Updates zu nutzen, aber keine Continuous-Integration-Lösung implementiert haben, können Sie einfach einen kostengünstigen Continuous-Integration-Workflow mit GitHub Actions einrichten. GitHub Actions ist ein kostenloser, integrierter Dienst für kontinuierliche Integration und Bereitstellung für GitHub-Repositories, der es Entwicklern ermöglicht, ihre Softwareentwicklungs-Workflows zu automatisieren. | ||
|
||
Um eine kontinuierliche Integration mit GitHub Actions und Capgo einzurichten, müssen Sie zunächst ein GitHub-Repository für den Code Ihrer App erstellen. Dann können Sie eine Workflow-Datei in Ihrem Repository erstellen, die die Schritte definiert, die bei jedem Push von Code in das Repository ausgeführt werden sollen. Beispielsweise könnte eine einfache Workflow-Datei Schritte zum Erstellen und Testen der App sowie zur Verwendung von [Capgo](/register/) enthalten, um ein Live-Update zu erstellen und es an die Benutzer der App bereitzustellen. | ||
|
||
Mit dieser Einrichtung wird jedes Mal, wenn Sie Änderungen am Code Ihrer App vornehmen und in das GitHub-Repository pushen, die Workflow-Datei ausgelöst und die angegebenen Schritte ausgeführt. Dies ermöglicht es Ihnen, Ihre JS-App mit minimalem Aufwand automatisch zu erstellen, zu testen und bereitzustellen und gleichzeitig die Bequemlichkeit und Flexibilität von Live-Updates zu nutzen. | ||
|
||
Insgesamt kann die Verwendung von GitHub Actions und [Capgo](/register/) eine kostengünstige Lösung für diejenigen sein, die Live-Updates nutzen möchten, aber keine eigene Continuous-Integration-Einrichtung haben.Durch den Einsatz dieser Tools können Kunden ihren App-Entwicklungsprozess automatisieren und Updates schnell und einfach an ihre Nutzer bereitstellen | ||
|
||
Wenn Sie bereit sind, Ihre CI/CD mit Capgo einzurichten, können Sie diesem [Tutorial für iOS](https://capgoapp/blog/automatic-capacitor-ios-build-github-action/) und [Tutorial für Android](https://capgoapp/blog/automatic-capacitor-android-build-github-action/) folgen | ||
|
||
## Gehen wir noch weiter | ||
|
||
Um ehrlich zu sein, habe ich Appflow lange Zeit für große Teams empfohlen, die eine dedizierte Ansprechperson für den Support benötigen | ||
Aber jetzt denke ich, es ist Zeit für eine Änderung | ||
|
||
Capgo ist reif genug, um von Teams aller Größen genutzt zu werden, und es ist deutlich kostengünstiger | ||
|
||
Wenn Sie ein großes Team sind, das eine dedizierte Ansprechperson für den Support benötigt, kontaktieren Sie mich, und wir können gemeinsam eine Lösung finden | ||
|
||
Auch wenn Capgo als Self-Service gedacht ist, bin ich für die Nutzer wirklich präsent | ||
|
||
Ich kann Ihnen auch bei der Konfiguration Ihres Builds für nativen Code helfen, Sie müssen dafür nicht für Appflow bezahlen | ||
|
||
Wenn Sie Open-Source-Self-Service-Tools mögen, die von der Community entwickelt werden, | ||
|
||
Schließen Sie sich uns hier an 👇 | ||
|
||
## Registrieren Sie sich hier, um Ihr Konto zu erhalten | ||
|
||
[Capgo](/register/) |
Oops, something went wrong.