Bizi Takip Edin!

Tam Entegre Dev Sistemleri Yönetmek: Django Harikalar Diyarı

Tam Entegre Dev Sistemleri Yönetmek: Django Harikalar Diyarı

Bazı uygulamalar yazılır ve tek bir iş/tek bir konum için kullanılır. Her zaman tek bir sürüm, tek bir test ortamı ve tek bir canlı ortam bulunur. Çoğunlukla bu durumda işler inanılmaz kolaydır. İşin içine birbirinden bağımsız ofisler, şubeler, bayiler hatta ülkeler girdiğinde o uygulamanın sayısız sürümü oluşturulur. Temelde aynı işi yapan ekranlar konuma göre farklı taleplerle şekillenmesi gerekebilir. Para birimleri, değişik vize türleri, e-posta/sms sağlayıcılar, uygulama içi/dışı metinler, yetkilendirme kuralları ve işlem akışları yasal gerekçeler veya operasyonel farklılıklara göre değişiklik gösterebilir. Hem geliştirici hem kullanıcı hem müşteri hem de uygulamanın sürdürülebilirliği için özellik sürümlendirmek, olayları karmaşık ve içinden çıkılamaz hale getirebilir. Bu gibi durumları farklı sürümler yaratmadan kod bağımsız oluşturduğumuz ve arayüzden yönetilebilen akış şemalarıyla çözüyoruz.

 

Çoklu sistemleri Django ile birleştirmek

Dünya’nın farklı ülkelerinde ve Türkiye’de vize randevu ve başvuru yönetim sistemlerini geliştirdiğimiz iDATA firması için farklı ülke ve konumlarda kullanılmak üzere geliştirilmiş özellikleri ve akış kurallarını tek sürümde yönetiyoruz. Diğer pek çok uygulamamızda olduğu gibi Django framework, uygulamamızın temelini oluşturuyor. Hem kullanıcı deneyimini iyileştirmek hem de “do their own thing” felsefesini uygulamak için backend ile frontend’i ayırıyor, uygulamamıza Facebook önderliğinde bir geliştirici grubu tarafından geliştirilmekte olan, kullanıcı arayüzü oluşturmaya yarayan açık kaynak kodlu web uygulama çatısı olan React.js’i dahil ediyoruz.

 

Başvurunun ilk aşaması: Vize başvuru formu ve randevu sistemi

İlk olarak çeşitli nedenlerle vize başvurusu yapmak isteyen müşteriler için bulundukları ülke ve vize almak istedikleri ülkelere göre istedikleri dilde ve tek uygulamadan randevu alınacak ülkenin başvuru ofisindeki uygun gün ve saati için randevu oluşturup ilgili randevuyu başvuru ofisinin yönetim ekranına düşürüyoruz. Böylece müşteriler karmaşık başvuru formlarıyla, uzun süren yönlendirme ekranlarıyla uğraşmıyor, başvurusunu kısa sürede tamamlayabiliyorlar. Kullanıcı deneyimini iyileştirmek için hem dinamik formlar kullanıyoruz hem de ülkeye göre başvuru form alanlarını belirleyip form validasyonlarını ülke/bölge ve vize türüne göre dinamik değiştiriyoruz. Anlık kullanıcı sayısının çok yüksek olduğu bu ekranlarda randevu tarih/saatlerinin tutarlı olması ve üstüste binmemesi için http soket teknolojisini kullanıyoruz. Asıl operasyon bu aşamadan sonra başlıyor.

İtalya ve Almanya vizesi iDATA'dan alınır!

Photo by Kelly Sikkema on Unsplash

 

Başvurunun ikinci aşaması: Randevu almış müşteriyi hızlı karşılamak

Operasyonun ikinci aşaması, randevu almış müşteriyi karşılamak ve işlem süresini hem müşteri hem de ofis çalışanları için minimum sürede tutarak tamamlamak. Bu aşamada ise geliştirdiğimiz yönetim ekranlarıyla randevu kontrolünü yapıyor, müşterinin zaten vermiş olduğu bilgileri yönetim sistemine aktarıyoruz. Böylece hem operasyonel yükü azaltıyor hem de bekleme sürelerini minimuma indiriyoruz.

iDATA vize operasyonu

 

Başvurunun üçüncü aşaması: Ofis içi operasyonları ofise göre yönetmek

Operasyonun üçüncü aşamasında işlemin yapıldığı ülkeye, ofise hatta mevsime veya haftanın gününe göre ilgili konumdaki yönetim ekibi tarafından belirlenen farklı yetkilendirme ve farklı işlem akışlarıyla vize başvurusunda bulunan müşteriyi ilgili bankoya yönlendiriyor ve iç operasyonun konuma göre özelleştirilmesini sağlıyoruz. Bu sayede operasyon uygulamaya göre değil, uygulama operasyona göre düzenlenebilir hale geliyor.

Vize başvuru sistemleri

Photo by Sean Stratton on Unsplash

 

Başvurunun dördüncü aşaması: Vize başvuru bilgilerini diğer sistemlere aktarmak ve güvenlik

Operasyonun dördüncü aşamasında müşteriye ait bilgiler ilgili konsolosluğun sistemine aktarılıyor ve müşterinin başvuru işlemi tamamlanmış oluyor. Vize başvurusu yapan müşterinin işi bitmiş olabilir fakat henüz operasyon devam ediyor! Barkod yazıcıdan alınan çıktılar, raporlar, e-postalar, bilgilendirme SMS’leri hatta ülkelere göre değişen KVKK süreçleri… Tamamı tek sistemde ayrı operasyonlar ve ayrı kullanıcılar için kolayca tanımlanıyor. Her kullanıcı bulunduğu konumda gereksinim duyduğu ve izin verilen yetkiler ölçeğinde erişime sahip oluyor. Üstelik e-fatura sistemleri, CRM’ler, ERP’ler, Gelir İdare Başkanlığı, konsolosluklar, acenteler gibi sistem dışı kurumlara ve bu kurumlardan kolay veri aktarımını kolayca sağlıyoruz. Konu kişiler olunca en önemli iş kişisel verilerin depolanması oluyor. Burada hem sistemlerin güvenlik duvarını koruyor hem de tüm verilerimizi 256 bit şifrelemeyle depoluyoruz. Yabancı isteklere kapalı olan sistemlerimizde kişisel veriler KVKK kapsamında saklanıp, belirlenen sürelerde geri döndürülemez şekilde siliniyor.

Viize başvuru sistemleri

Photo by John Barkiple on Unsplash

 

Talebe özel geliştirilen özelliklerin tek noktadan yönetimi, projenin en başında düşünülüp karar verilmesi gereken bir iş. Sürüm yönetimi ile özellik yönetimini aynı kefeye koymak büyük bir hata. Yazılım geliştirme süreçlerini kolaylaştırmak için uygulama bağımsız değişkenleri, özellikleri sabit tutup geriye kalan özellikler ve yetkilendirmeleri ayrı değerlendirilmeli. Bunu hem kullanıcı deneyimini iyileştirmek hem de uygulamanın sürdürülebilirliğini sağlamak için yapmalı. Aksi durumda geçirilecek sinir krizleri, sıfırdan tekrar yazılacak projeler, yetişmeyen sürümler hiç de uzak değil.

 

Açılış görseli: Jeff Hunter | Getty Images

Burak İbiş

Burak ile 2020 yılında çalıştık.

Yorum Yok

Yorum Yaz

Yorum
İsim
E-Posta
Website