Lebih Lanjut ke Konten Utama
Story

Sistem Organisasi Baru

Latar Belakang Bagaimana Tim capgo Menambahkan Sistem Organisasi Baru

WcaleNieWolny

WcaleNieWolny

Spesialis Konten

Sistem Organisasi Baru

Pengenalan

Halo, saya WcaleNieWolny - Kepala Insinyur Perangkat Lunak Capgo.

Selama 8 bulan terakhir, saya telah mengembangkan sistem organisasi, dan pada tanggal 14 April, saya senang mengumumkan bahwa sistem telah selesai πŸŽ‰ 🎊

Setelah 8 bulan, semua bagian dari Capgo sudah dapat diakses oleh anggota org. Ini termasuk:

  • aplikasi
  • statistik
  • tagihan
  • dukungan CLI penuh
  • dan banyak lagi!

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

Sistem v1

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

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

Dan kemudian saya menunggu Martin untuk memeriksa hal ini. Saya menunggu dan menunggu, tetapi tidak ada yang sebenarnya 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 yang buruk yang dibuat oleh saya di masa lalu, tetapi setelah 2 minggu yang sangat sulit, saya akhirnya berhasil membuatnya berfungsi.

Namun, hal ini tidak berarti bahwa 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 terbatas untuk mengunggah saja.

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

Organisasi v2

Sistem organisasi berjalan dengan baik meskipun semua tantangan. Pengguna menggunakan sistem 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 seperti pemilik

Setelah banyak diskusi dengan Martin, kami memutuskan bahwa cara terbaik untuk maju adalah dengan menulis kembali seluruh aturan keamanan dan memindahkan semua kepemilikan sumber daya ke organisasi dan bukan pengguna. Hal ini akan memungkinkan integrasi yang lebih mudah dengan sistem organisasi baru, dan juga akan menghilangkan banyak code yang sudah usang.

Menulis RLS baru code 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 duplikat kosong, tapi selain itu, perubahan berjalan cukup lancar.

Organisasi v3

Tapi itu tidak cukup. Ada masih komponen besar yang hilang - tagihan.

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

Pemindahan ini relatif lancar. Membutuhkan satu minggu kerja tetapi dibandingkan dengan V1 dan V2 itu sebenarnya tidak terlalu sulit 🏠.

Organisasi v4 - masa depan

Setelah semua kerja keras ini saya pikir sudah saatnya untuk 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 🏠.

Teruskan dari A sistem organisasi baru

Jika Anda menggunakan 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, API Kunci untuk detail implementasi di API Kunci, Perangkat untuk detail implementasi di Perangkat, dan Paket untuk detail implementasi di Paket.

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.