KYC Studio, luồng dựa trên schema
Nền tảng giao diện dựa trên cấu hình với cấu hình dạng mã quản lý bằng Git, giúp các thay đổi tuân thủ được phát hành trong vài giờ mà không cần triển khai frontend.
- Vai trò
- Senior Frontend Engineer
- Thời gian
- 2025–nay
- Công nghệ
- TypeScript · jsonform · Mini Program · Git · CI/CD · Schema validation
Vấn đề
Luồng xác minh cho hơn 100 quốc gia đồng nghĩa với mã bị trùng lặp và một ticket kỹ thuật mỗi khi bộ phận tuân thủ hoặc sản phẩm muốn thay đổi một quy định theo khu vực.
Cách tiếp cận
- Hiển thị biểu mẫu từ schema. Giao diện đọc cấu hình JSON hoặc YAML qua jsonform: schema tạo ra các trường và quy tắc kiểm tra. Các hành động tùy chỉnh, như khởi động cầu nối NFC gốc hay kiểm tra liveness, vẫn nằm trong mã.
- Cùng một bước, kết quả khác nhau. Cấu hình quyết định một bước làm gì cho từng quốc gia và nền tảng (web, di động hoặc Mini Program). Ở nơi hỗ trợ NFC, bước đó hiển thị hướng dẫn quét và nút Quét bằng NFC; ở nơi khác, nó hiển thị các trường biểu mẫu thông thường và nút Tiếp tục. Bộ phận sản phẩm và tuân thủ thay đổi điều này trong cấu hình chứ không phải trong mã.
- Cấu hình dạng mã. Cán bộ tuân thủ và sản phẩm gửi thay đổi qua Git. Mỗi thay đổi tự động mở một pull request và chạy CI với bước kiểm tra schema nghiêm ngặt dựa trên kiểu TypeScript, nên cấu hình sai định dạng sẽ thất bại trước khi tới production.
Hai quyết định đáng giải thích
Dùng jsonform để hiển thị, dùng mã cho hành động. Một giao diện hoàn toàn do máy chủ điều khiển, chạy logic tùy ý gửi từ máy chủ, sẽ mở ra rủi ro thực thi mã từ xa và vấn đề hiệu năng. Hiển thị dựa trên dữ liệu, với hành động gắn vào các handler đã biên dịch sẵn, giữ được sự linh hoạt mà không có rủi ro đó.
Git thay vì biểu mẫu quản trị. Chỉnh sửa dễ dàng mà thiếu quản trị sẽ làm hỏng luồng production. Pull request, kiểm tra kiểu và CI giúp mọi thay đổi đều rõ người thực hiện, được duyệt và dễ hoàn tác.
Kết quả
Việc phát hành cấu hình không còn phụ thuộc vào triển khai frontend, nên cập nhật tuân thủ cho nhiều thị trường rút từ vài tuần xuống vài giờ, và mã trùng lặp theo khu vực không còn tăng thêm.