Alur Berbasis Skema dengan Config as Code
Platform UI berbasis konfigurasi dengan config-as-code berbasis Git, sehingga perubahan aturan dirilis dalam hitungan jam tanpa deploy frontend.
- Stack
- TypeScript · jsonform · Git · CI/CD · Schema validation
Masalahnya
Alur untuk banyak pasar berarti kode duplikat dan tiket engineering setiap kali tim produk atau kepatuhan ingin mengubah aturan regional.
Pendekatannya
- Render form dari skema. UI membaca konfigurasi JSON atau YAML lewat jsonform: skema menghasilkan field dan aturan validasinya. Aksi kustom, seperti memulai bridge native, tetap berada di kode.
- Satu langkah, hasil berbeda. Konfigurasi menentukan apa yang dilakukan sebuah langkah untuk tiap pasar dan platform. Jika kemampuan native didukung, langkah menampilkan panduan dan tombol pindai; jika tidak, langkah menampilkan field form biasa dan tombol Lanjutkan. Tim produk mengubahnya di konfigurasi, bukan di kode.
- Config as code. Perubahan diajukan lewat Git. Setiap perubahan membuka pull request otomatis dan menjalankan CI dengan validasi skema ketat yang didukung tipe TypeScript, sehingga konfigurasi yang salah gagal sebelum sampai produksi.
Dua keputusan yang layak dijelaskan
jsonform untuk render, kode untuk aksi. UI yang sepenuhnya digerakkan server dan menjalankan logika sembarang yang dikirim dari server mengundang risiko remote code execution dan masalah performa. Render berbasis data dengan aksi yang terikat ke handler yang sudah dikompilasi menjaga fleksibilitas tanpa paparan itu.
Git, bukan form admin. Edit yang mudah tanpa tata kelola merusak alur produksi. Pull request, pengecekan tipe, dan CI membuat setiap perubahan bisa ditelusuri, ditinjau, dan mudah dibatalkan.
Hasilnya
Rilis konfigurasi tidak lagi bergantung pada deploy frontend, sehingga pembaruan multi-pasar berpindah dari hitungan minggu ke jam, dan duplikasi kode regional berhenti bertambah.