Pendahuluan
Halo, saya WcaleNieWolny - Capgoโs lead software engineer.
Selama 8 bulan terakhir, saya telah mengembangkan sistem organisasi ini, dan sebagai hasilnya, saya senang mengumumkan bahwa sistem ini telah selesai pada tanggal 14 April. Akhirnya, setelah 8 bulan, semua bagian __CAPGO_KEEP_0__ telah tersedia bagi anggota organisasi. Ini termasuk:Aplikasi
Finally, after 8 months, every single part of Capgo is accessible to org members. This includes:
- Pembayaran
- Dukungan penuh __CAPGO_KEEP_0__
- Sistem Organisasi
- Selamat! Setelah 8 bulan, semua bagian CLI telah tersedia bagi anggota organisasi.
- dan banyak lagi!
Tidak mudah untuk mencapai sini; ada 3 revisi besar sistem.
Organisasi v1
Awalnya, saya bekerja pada proyek ini 2 minggu setelah bergabung dengan tim. Saat itu, saya memiliki sedikit pengetahuan tentang basis kode atau ide besar tentang bagaimana mengimplementasikan ini.
Hal ini menyebabkan saya mengimplementasikan solusi yang sangat sederhana 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 ini. Saya menunggu dan menunggu, tapi tidak ada yang terjadi. 3 bulan kemudian, saya memutuskan untuk kembali ke ini dan memperbaiki semua konflik merge. Saya juga memutuskan untuk melakukan tes, yang ternyata menjadi ide yang sangat baik. Tidak mengherankan, solusi yang sederhana 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 di masa lalu, tapi setelah 2 minggu yang sangat sulit, saya akhirnya berhasil membuatnya berfungsi.
Tidak berarti itu sempurna. Pemilik organisasi masih memiliki akses yang lebih banyak daripada pengguna yang diundang, bahkan yang tertinggi. Pengalaman pengguna juga sangat kurang. Pengguna yang diundang tidak bisa melihat statistik aplikasi, mengelola billing, dan CLI hanya dapat mengunggah saja.
Meskipun semua tantangan itu, Martin telah memeriksa PR, dan 1 minggu kemudian, itu dipush ke prod.
Organisasi v2
Sistem organisasi berjalan dengan baik meskipun menghadapi banyak tantangan. Pengguna menggunakan sistem ini, dan itu benar-benar memajukan proyek seluruhnya. Namun, saya masih harus:
- mengatasi kekacauan yang dibuat di tingkat keamanan baris
- menambahkan dukungan untuk seluruh CLI
- memastikan bahwa pengguna admin memiliki akses yang sama seperti 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.
Hal ini akan memungkinkan integrasi yang lebih mudah dengan sistem organisasi baru, dan juga akan menghilangkan banyak code yang berusia.
Menulis RLS baru __CAPGO_KEEP_0__ sangat melelahkan, tetapi setelah seminggu dan setengah, migrasi seluruhnya siap.
Kali ini, namun, kami memutuskan untuk tidak menulis tes E2E, yang berarti kami harus menguji secara manual. Setelah 3 panggilan yang sangat ekstensif bersama, Martin dan saya akhirnya memutuskan untuk memasukkan ke produksi dan berharap akan berjalan dengan baik ๐
Tidakโฆ Terbukti bahwa saya mengganggu registrasi pengguna, dan pengguna baru tidak dapat membuat akun ๐
Setelah saya bangun, saya menemukan bahwa pengguna memiliki banyak organisasi kosong. Ini tidak seharusnya terjadi karena hanya 1 organisasi yang boleh dimiliki per pengguna. Waktu yang lama dibutuhkan untuk membuang semua organisasi duplikat kosong, tapi selain itu, perubahan berjalan cukup lancar.
Organisasi v3
Tapi itu tidak cukup. Ada komponen besar yang masih hilang - pembayaran.
Saat ini hanya pemilik yang bisa mengelola pembayaran. Ini telah menciptakan masalah menarik di mana pengguna membeli paket berpikir dia membelinya untuk organisasi. Kita segera memperbaiki masalah secara manual dan pada saat itu kita memutuskan bahwa masalah ini tidak dapat diterima
Pemindahan ini berjalan cukup lancar. Waktu yang dibutuhkan sekitar seminggu kerja tapi dibandingkan dengan V1 dan V2 itu tidak terlalu sulit ๐
Organisasi v4 - masa depan
Setelah semua kerja keras ini saya pikir sudah saatnya fokus pada hal 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 ๐
Teruskan dari A sistem organisasi baru
Jika Anda menggunakan Sistem organisasi baru yang sangat baru untuk merencanakan dashboard dan API operasi, hubungkannya dengan API Ringkasan untuk detail implementasi di API Ringkasan, Pendahuluan untuk detail implementasi di Pendahuluan, API Kunci untuk detail implementasi di API Kunci, Perangkat untuk detail implementasi di Perangkat, dan Paket untuk detail implementasi di Paket.