メインコンテンツにジャンプ
ストーリー

新しい組織システム

組織システムの追加についての capgo チームのストーリー

新しい組織システム

導入

私たちは ワツェリ・ニエ・ウォルニー - Capgoのリードソフトウェアエンジニアです。

過去8ヶ月間、 組織システムそして、4月14日から、システムは完成しました 🎉 🎊

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

  • アプリ
  • 統計
  • 請求
  • full CLI support
  • その他多くの機能があります!

ここまで来るには、多大な努力が必要でした。システムの3回の大規模な改訂が行われました。

組織 v1

最初は、プロジェクトに参加してから2週間で、このプロジェクトに取り組み始めました。時点では、コードベースや大きなアイデアについての知識はほとんどありませんでした。

これが、最もハック的な解決策を実装することになりました。ただし、アプリ、チャネル、バージョンのみをサポートし、招待されたユーザーが統計にアクセスすることはできませんでした。

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.

しかし、それが完璧だったとは限りません。組織のオーナーは、招待されたユーザーよりも多くの権限を持っています。ユーザー体験も、かなり不足していました。招待されたユーザーは、管理画面やアプリケーション統計を確認することはできませんでした。また、CLI の機能も、ファイルのアップロードのみに制限されていました。

しかし、マーティンはPRをレビューし、1週間後にはプロダクションにプッシュされました。

組織 v2

組織システムは、すべての課題を乗り越えて良好に機能していました。ユーザーはそれを使用し、プロジェクト全体を前進させていました。しかし、私はまだ以下の課題を解決する必要がありました。

そして 多くの議論の後 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.

Capgoの新しいRLS code を書くことはとても面倒でしたが、1週間半で全ての移行が完了しました。

今回は、E2E テストを書くことにしましたが、3 回の長い電話を通じて、マーティンと私は、プロダクションにプッシュすることにしました。

しかし、ユーザー登録が壊れてしまい、新規ユーザーがアカウントを作成できなくなりました。

パニックの電話をしてから、急いでプロダクションに変更をプッシュし、寝てしまいました。残念ながら、変更はさらに問題を生み出しました。

起きた後、ユーザーが多くの空の組織を持っていることを発見しました。これは、ユーザーが 1 つの組織しか持つことができなければならないため、起こるはずではありませんでした。空の組織をすべて削除するのに時間がかかりましたが、その他の変更は比較的順調に進みました。

組織 v3

しかし、これでも十分ではありませんでした。まだ、ビリングの巨大なコンポーネントが欠けていました。

今までにオーナーしか請求管理を実行できませんでした。これは、ユーザーが組織に購入したと考えていたプランを購入した際に、興味深い問題を生み出していました。 手動で問題を解決した後、問題が不適切であると判断し、この問題を解決することにしました。

マイグレーションは比較的スムーズでした。1週間の作業でしたが、V1とV2と比べるとそれほど難しくはありませんでした 🚀

組織 v4 - 未来

今までのこのような努力の後、もう少し他のことに焦点を当てたいと思います 😎

これは難しかったですが、capgo に重要で素晴らしい機能が追加されました まだ、古い機能を非推奨にし、Webアプリのユーザー体験を向上させ、バグを監視する必要がありますが、このシステムに大きな変更はありません。


読んでくれてありがとう 🚀

A brand new organization system から続きます

あなたが使用している 新しい組織システム 計画ダッシュボードとAPI の運用を実行する場合、API と接続する API の概要 API の概要の実装詳細 Introduction Introductionの実装詳細について API キー API キーの実装詳細について デバイス デバイスの実装詳細について バンドル バンドルの実装詳細について

Live updates for Capacitor apps

ウェブ層のバグが生じた場合、Capgoを使用して修正を配信するのではなく、数日間待ってアプリストアの承認を待つ必要がなくなる。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で進む。

最新のブログ

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最高の洞察を提供します。