Lompat ke Konten Utama
Kisah

Sistem Organisasi Baru

Latar Belakang tentang bagaimana tim capgo menambahkan sistem organisasi

WcaleNieWolny

WcaleNieWolny

Spesialis Konten

Sistem Organisasi Baru

Pendahuluan

Halo, saya WcaleNieWolny - Kepala insinyur perangkat lunak Capgo.

Selama 8 bulan terakhir, saya telah mengembangkan sistem "__CAPGO_KEEP_0__" dan sekarang, pada tanggal 14 April, saya senang mengumumkan bahwa sistem ini telah selesai πŸŽ‰ 🎊 Sistem OrganisasiAkhirnya, setelah 8 bulan, setiap bagian dari __CAPGO_KEEP_0__ sudah dapat diakses oleh anggota organisasi. Ini termasuk:

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

  • Statistik
  • Pembayaran
  • Dukungan __CAPGO_KEEP_0__ penuh
  • full CLI support
  • Tidak mudah untuk mencapai sini; ada 3 revisi besar dari sistem ini.

Organisasi v1

Awalnya, saya mulai bekerja pada proyek ini 2 minggu setelah bergabung dengan proyek ini. Pada saat itu, saya memiliki sedikit pengetahuan tentang basis kode atau ide besar tentang bagaimana mengimplementasikannya.

Sistem Organisasi

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

Lalu saya menunggu Martin untuk memeriksa hal ini. Saya menunggu dan menunggu, tapi tidak ada yang terjadi. 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 sepenuhnya gagal. 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 di masa lalu, tapi setelah 2 minggu yang sangat sulit, saya akhirnya berhasil membuatnya berfungsi.

Hal ini tidak berarti bahwa itu 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.

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

Organisasi v2

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

  • memperbaiki kekacauan yang dibuat di level keamanan baris
  • menambahkan dukungan untuk seluruh CLI
  • memastikan bahwa 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.

Ini akan memungkinkan integrasi yang lebih mudah dengan sistem organisasi baru, dan juga akan menghilangkan banyak code yang sudah usang.

Menulis RLS baru __CAPGO_KEEP_0__ sangat melelahkan, tapi setelah seminggu dan setengah, migrasi seluruhnya sudah siap.

Kali ini, kami memutuskan untuk tidak menulis tes E2E, yang berarti kami harus menguji secara manual. Setelah 3 panggilan yang sangat panjang bersama, Martin dan saya akhirnya memutuskan untuk memasukkan ke produksi dan berharap akan berjalan baik.

Tidak… Terbukti saya mengganggu registrasi pengguna, dan pengguna baru tidak bisa membuat akun πŸ˜…

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

Setelah saya bangun, saya menemukan bahwa pengguna memiliki banyak organisasi kosong. Ini tidak seharusnya terjadi karena hanya 1 organisasi yang boleh dimiliki per pengguna. Membutuhkan waktu untuk memikirkan cara menghilangkan semua organisasi kosong yang duplikat, tapi selain itu, perubahan berjalan dengan cukup lancar.

Organisasi v3 (Versi 3) Organisasi v3 (Versi 3) - tidak cukup. Ada masih komponen besar yang hilang - tagihan.

Sampai saat ini hanya pemilik yang dapat mengelola tagihan. Hal ini telah menciptakan beberapa masalah menarik di mana pengguna membeli paket berpikir dia membelinya untuk organisasi.

Kita segera memperbaiki masalah tersebut secara manual dan pada saat itu kita memutuskan bahwa masalah ini tidak dapat diterima.

Migrasi sebenarnya cukup lancar. Membutuhkan satu minggu kerja tapi dibandingkan dengan V1 dan V2 itu sebenarnya tidak terlalu sulit πŸš€

Organisasi v4 - masa depan.

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.


Tidak mudah tetapi saya belajar banyak dan __CAPGO_KEEP_0__ telah menerima fitur yang sangat penting dan berguna Saya masih harus menghancurkan fungsi lama, meningkatkan pengalaman pengguna web, memantau bug, Tapi tidak ada perubahan besar pada sistem ini.

Pembaruan langsung untuk aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan pembaruan di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile profesional yang sebenarnya.