Araç, açılamayan bir e-Defter belgesini müfettişe göstermek isteyen müşterinin operasyonel ihtiyacına hızlı çözüm üretmek için başladı. İlk çalışan sürüm bir gün içinde hazırlandı; ürünleştirilen sürüm bugün iki gerçek müşteri ortamında kullanılan yaklaşımı güvenli ayrıştırma, test ve tek dosyalık dağıtım süreciyle yeniden ele alıyor.
[ PRODUCT / INTERFACE ]
Ürün görünümü
Yerel dosya seçimi, belge özeti ve taraf bilgileriHesap toplamları, imza bilgileri ve doğrulama kapsamı
[ 02 / CHALLENGE ]
Problem
Berat XML dosyalarının görüntülenmesi harici defter.xslt dosyasına bağlıydı. Dosya eksildiğinde veya bozulduğunda belge tarayıcıda anlamlı biçimde açılamıyor; mali verinin çevrim içi bir servise yüklenmesi ise gizlilik açısından uygun bir seçenek oluşturmuyordu.
[ 03 / SOLUTION ]
Çözüm
XML içeriği tamamen tarayıcı içinde ayrıştırılıyor, gerekli e-Defter alanları güvenli bir veri modeline çıkarılıyor ve sade bir rapor görünümünde sunuluyor. Build süreci uygulamayı bağımsız tek HTML dosyasına paketlediği için kurulum veya sunucu gerektirmiyor.
[ 04 / ENGINEERING ]
Öne çıkan mühendislik kararları
01
Dosyaları sunucuya göndermeyen tamamen yerel çalışma modeli
02
Harici defter.xslt bağımlılığını kaldıran bağımsız görüntüleme
03
Geçersiz ve riskli XML girdilerine karşı kontrollü ayrıştırma
04
Yevmiye ve büyük defter beratları için ortak veri çıkarımı
05
Mükellef, meslek mensubu, dönem, hesap ve imza bilgileri görünümü
06
Vitest, coverage ve CI ile doğrulanan tek dosyalık build pipeline
[ 05 / ARCHITECTURE ]
Katmanlar ve sorumluluklar
Local File Input
Kullanıcının cihazından seçilen XML dosyası; ağ isteği oluşturulmaz
Secure Parser
Belgeyi doğrulayan ve güvenli XML ayrıştırma sınırlarını uygulayan katman
Data Extraction
Namespace farklılıklarından bağımsız e-Defter alan modeli
Report Renderer
Okunabilir, yazdırılabilir ve kurumsal belge görünümü
Single-file Build
HTML, CSS ve JavaScript kaynaklarını tek taşınabilir dosyada birleştiren süreç