Kembali ke Konten Utama
Akhirnya

Sistem Organisasi Baru

Sejarah di balik bagaimana tim capgo menambahkan sistem organisasi

WcaleNieWolny

WcaleNieWolny

Pengembang Konten

context: Halaman/area: Situs web pemasaran Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman blog/[slug].astro. Kunci pesan `content_marketer` (Pengembang Konten).

Sistem Organisasi Baru

Pendahuluan Halo, saya adalah WcaleNieWolny - Capgoโ€™s lead software engineer.

Selama 8 bulan terakhir, saya telah mengembangkan sistem organisasi ini. Sistem organisasiSaya sangat senang mengumumkan bahwa sistem ini telah selesai ๐ŸŽ‰ ๐ŸŽŠ

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

  • Aplikasi
  • Statistik
  • Pembayaran
  • full CLI support
  • Dan banyak lagi!

Tidak mudah untuk mencapai sini; ada 3 revisi besar dari sistem ini.

Sistem Organisasi v1

Awalnya, saya masih belajar... Saya mulai bekerja pada proyek ini 2 minggu setelah bergabung dengan tim. Saat itu, saya masih belum memiliki pengetahuan yang cukup tentang basis kode atau ide besar untuk mengimplementasikannya.

Hal ini menyebabkan implementasi solusi yang sangat tidak elegan yang hanya mendukung akses ke aplikasi, saluran, dan versi. Tidak ada yang memungkinkan pengguna yang diundang untuk mengakses statistik.

Dan kemudian saya menunggu Martin untuk memeriksa hal ini. Saya menunggu dan menunggu, tapi tidak ada yang terjadi secara signifikan. 3 bulan kemudian, saya memutuskan untuk kembali ke hal ini dan memperbaiki semua konflik merge. Saya juga memutuskan untuk melakukan tes, yang ternyata menjadi ide yang sangat baik. Tidak mengherankan, solusi yang tidak elegan tersebut gagal sepenuhnya. Pada saat itu, saya memutuskan untuk memperbaiki semua bug dan menulis tes E2E yang sangat ekstensif. Saya harus bekerja dengan code yang sangat rusak dan banyak keputusan buruk yang dibuat oleh saya sendiri di masa lalu, tapi setelah 2 minggu yang sangat sulit, saya akhirnya berhasil membuatnya berfungsi.

Namun, hal ini tidak berarti bahwa hal tersebut sempurna. Pemilik organisasi masih memiliki akses yang lebih banyak daripada pengguna yang diundang, bahkan yang paling tinggi. Pengalaman pengguna juga sangat kurang. Pengguna yang diundang tidak bisa melihat statistik aplikasi, mengelola billing, dan CLI hanya dapat mengunggah saja.

Meskipun ada semua tantangan tersebut, Martin telah memeriksa PR, dan 1 minggu kemudian, hal tersebut dipush ke prod.

Organisasi v2

Sistem organisasi berfungsi dengan baik meskipun ada semua tantangan. Pengguna menggunakan sistem ini, dan hal ini benar-benar mendorong proyek seluruhnya maju. Namun, saya masih harus:

  • perbaiki kekacauan yang dibuat di level keamanan baris
  • menambahkan dukungan untuk seluruh CLI
  • pastikan pengguna admin memiliki akses yang sama dengan pemilik

Setelah banyak diskusi 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.

Writing the new RLS code was very tedious, but after a week and a half, the entire migration was ready.

Kali ini, kita memutuskan untuk tidak menulis tes E2E, sehingga kita harus menguji secara manual. Setelah 3 panggilan telepon yang sangat panjang, Martin dan saya akhirnya memutuskan untuk memasukkan ke produksi dan berharap semuanya akan berjalan lancar.

Tidak... Terbukti bahwa saya mengganggu registrasi pengguna, dan pengguna baru tidak bisa membuat akun.

Setelah panggilan panik cepat, saya langsung memasukkan perubahan ke prod dan tidur. Sayangnya, perubahan saya hanya membuat masalah lebih banyak.

Saya bangun dan menemukan bahwa pengguna memiliki banyak organisasi kosong. Ini tidak seharusnya terjadi karena hanya 1 organisasi yang boleh dimiliki per pengguna. Itu membutuhkan waktu untuk memikirkan cara menghapus semua organisasi kosong yang duplikat, tapi selain itu, perubahan berjalan cukup lancar.

Organisasi v3

Masih tidak cukup. Ada komponen besar yang masih hilang - tagihan.

Jadi sampai sekarang hanya pemilik yang bisa mengelola tagihan. Hal ini telah menciptakan beberapa masalah menarik di mana pengguna membeli paket berpikir dia sedang membelinya untuk organisasi. Kami segera memperbaiki masalah tersebut secara manual dan pada titik ini kami memutuskan bahwa masalah ini tidak dapat diterima

Migrasi ini relatif lancar. Ini membutuhkan satu minggu kerja tapi dibandingkan dengan V1 dan V2 ini sebenarnya tidak terlalu sulit

Organisasi v4 - masa depan

Setelah semua kerja keras ini saya pikir sudah saatnya fokus pada sesuatu lain untuk sekarang

It was not easy but I learned a lot and capgo has received a very nice and important feature I still have to deprecate the legacy functions, improve the webapp user experience, monitor for bugs, but there should not be any major changes to this system.


Terima kasih telah membaca

Lanjutkan dari A sistem organisasi baru

Jika Anda menggunakan A sistem organisasi baru to plan dashboard and API operations, connect it with API Overview for the implementation detail in API Overview, Pendahuluan untuk detail implementasi di Pendahuluan, Kunci API untuk detail implementasi di Kunci API Perangkat untuk detail implementasi di Perangkat, dan Paket untuk detail implementasi di Paket.

Update Langsung untuk Aplikasi Capacitor

Pada saat ada bug layer web yang hidup, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Bantuan Manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

Aplikasi Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi seluler profesional sejati.