Pendahuluan
Halo, saya WcaleNieWolny - Capgoโs lead software engineer.
Selama 8 bulan terakhir, saya telah mengembangkan sistem organisasi ini, dan mulai tanggal 14 April, saya senang mengumumkan bahwa sistem ini telah selesai ๐ ๐ Akhirnya, setelah 8 bulan, semua bagian __CAPGO_KEEP_0__ sudah dapat diakses oleh 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
- full CLI support
- 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 pengetahuan yang sangat sedikit tentang basis kode atau ide yang lebih besar tentang bagaimana melaksanakan ini.
Hal ini menyebabkan saya mengimplementasikan solusi yang sangat sederhana yang hanya mendukung akses ke aplikasi, saluran, dan versi. Tidak ada yang 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 yang buruk yang dibuat oleh saya sendiri 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 ada semua tantangan itu, Martin telah memeriksa PR, dan 1 minggu kemudian, itu dipush ke prod.
Organisasi v2
Sistem organisasi bekerja dengan baik meskipun menghadapi banyak tantangan. Pengguna menggunakan sistem tersebut, dan itu benar-benar mendorong proyek seluruhnya maju. Namun, saya masih harus:
- mengatasi kekacauan yang terjadi di tingkat baris keamanan
- 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 lama.
Menulis RLS baru __CAPGO_KEEP_0__ sangat melelahkan, tetapi setelah seminggu dan setengah, migrasi seluruhnya siap.
Kali ini, namun, kami memutuskan untuk tidak menulis E2E test, 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. Membutuhkan waktu beberapa jam untuk memikirkan cara menghapus semua organisasi kosong yang duplikat, tapi selain itu, perubahan berjalan cukup lancar.
Organisasi v3
Namun, itu tidak cukup. Ada komponen besar yang masih hilang - pembayaran.
Hingga saat ini, hanya pemilik yang dapat mengelola pembayaran. Hal ini telah menciptakan beberapa masalah menarik di mana pengguna membeli paket berpikir dia membelinya untuk organisasi.
Kami segera memperbaiki masalah secara manual dan pada saat itu kami memutuskan bahwa masalah ini tidak dapat diterima.
Pemigrasian berjalan cukup lancar. Membutuhkan waktu satu minggu untuk menyelesaikannya tapi dibandingkan dengan V1 dan V2, memang 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, tapi saya belajar banyak dan __CAPGO_KEEP_0__ telah menerima fitur yang sangat penting dan berguna.
Saya masih harus menghentikan fungsi lama, meningkatkan pengalaman pengguna web, memantau bug, tapi tidak ada perubahan besar yang akan dilakukan pada sistem ini.
Saya berterima kasih atas bacaan Anda. Teruskan dari A sistem organisasi baru yang sangat menarik dan berguna untuk pengguna kami, "A brand new organization system". Jika Anda menggunakan sistem ini, Anda akan menemukan bahwa sistem ini sangat mudah digunakan dan sangat berguna untuk Anda. Jika Anda menggunakan sistem ini, Anda akan menemukan bahwa sistem ini sangat mudah digunakan dan sangat berguna untuk Anda. 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.