Langkau ke kandungan
Clinford Jordano Valencia
Semua projek
PlatformWebMudah alih

KYC Studio, Aliran Berasaskan Skema

Platform UI dipacu konfigurasi dengan config-as-code berasaskan Git, supaya perubahan pematuhan dikeluarkan dalam beberapa jam tanpa penggunaan frontend.

Peranan
Senior Frontend Engineer
Tempoh
2025–kini
Stack
TypeScript · jsonform · Mini Program · Git · CI/CD · Schema validation

Masalahnya

Aliran pengesahan untuk lebih 100 negara bermakna kod yang berulang dan tiket kejuruteraan setiap kali pasukan pematuhan atau produk mahu mengubah peraturan sesuatu wilayah.

Pendekatannya

  • Paparkan borang daripada skema. UI membaca konfigurasi JSON atau YAML melalui jsonform: skema menjana medan dan peraturan pengesahan. Tindakan tersuai, seperti memulakan jambatan NFC asli atau semakan liveness, kekal dalam kod.
  • Satu langkah, hasil berbeza. Konfigurasi menentukan apa yang dilakukan sesuatu langkah bagi setiap negara dan platform (web, mudah alih atau Mini Program). Di tempat yang menyokong NFC, langkah itu memaparkan panduan imbasan dan butang Imbas dengan NFC; di tempat lain ia memaparkan medan borang biasa dan butang Teruskan. Pasukan produk dan pematuhan mengubahnya dalam konfigurasi, bukan dalam kod.
  • Config as code. Pegawai pematuhan dan produk menghantar perubahan melalui Git. Setiap perubahan membuka pull request automatik dan menjalankan CI dengan pengesahan skema yang ketat berasaskan jenis TypeScript, jadi konfigurasi yang salah gagal sebelum sampai ke produksi.

Dua keputusan yang wajar diterangkan

jsonform untuk paparan, kod untuk tindakan. UI yang dipacu sepenuhnya oleh pelayan dan menjalankan logik sembarangan daripada pelayan membuka risiko pelaksanaan kod jauh dan masalah prestasi. Paparan berasaskan data dengan tindakan yang terikat pada pengendali yang telah dikompil mengekalkan fleksibiliti tanpa risiko itu.

Git, bukan borang pentadbir. Suntingan mudah tanpa tadbir urus merosakkan aliran produksi. Pull request, semakan jenis dan CI menjadikan setiap perubahan jelas pemiliknya, disemak dan mudah dibatalkan.

Hasilnya

Keluaran konfigurasi tidak lagi bergantung pada penggunaan frontend, jadi kemas kini pematuhan berbilang pasaran beralih daripada beberapa minggu kepada beberapa jam, dan pertindihan kod antara wilayah berhenti bertambah.