Bu proje Engin Demiroğ ve ekibi tarafından, Yazılım Geliştirici Yetiştirme Kampı (C#) çerçevesinde geliştirilmiş bir ödev olarak hazırlanmıştır.
Bu proje, pandemi sebebiyle ortaya çıkan maske ihtiyacını gidermek amacıyla vatandaşlara maske dağıtmayı sağlayan basit ve kullanıcı dostu bir web projesidir. Sistem, kullanıcıların maske talep etmelerine olanak sağlar.
İki tip kullanıcı bulunmaktadır:
➡️ 1- Vatandaş
- Hasta maske talebinde bulunabilir.
➡️ 2- Dağıtıcı
- Dağıtıcı, hastanın bilgilerini MERNİS doğrulaması ile kontrol ederek maske dağıtımını sağlar.
Projemiz, .Net teknolojisiyle oluşturulmuş basit bir web uygulamasıdır.
Proje geliştirilirken, yazılımın sürdürülebilirliğini ve genişletilebilirliğini sağlamak amacıyla SOLID prensiplerine uygun bir yaklaşım benimsenmiştir. Bu sayede, sistemin bakım ve geliştirme süreçleri daha kolay ve verimli bir şekilde yürütülebilmektedir.
Ek olarak kullanıcıların kimlik doğrulama süreçlerini daha güvenli ve verimli hale getirmek için Mernis doğrulama hizmetini mikroservis mimarisi ile entegre ettik. Bu mikroservis, kimlik doğrulama işlemlerini merkezi bir noktada toplayarak, sistemin genel performansını ve güvenliğini artırmaktadır.
🎯 Projede MERNIS doğrulama işlemleri, PersonManager sınıfının IApplicantService arayüzünü implement ettiği bir yapıda gerçekleştirilmiştir. Bu sayede, doğrulama işlemleri merkezi bir noktada, PersonManager sınıfında yönetilerek, uygulama içinde doğrudan bağlantı kodları yazma ihtiyacı ortadan kaldırılmıştır.
public bool CheckPerson(Person person)
{
KPSPublicSoapClient client = new KPSPublicSoapClient(KPSPublicSoapClient.EndpointConfiguration.KPSPublicSoap);
var response = client.TCKimlikNoDogrulaAsync(
person.NationalIdentity,
person.FirstName,
person.LastName,
person.DateOfBirthYear
).Result;
return response.Body.TCKimlikNoDogrulaResult;
}
🛠️ Proje, mevcut haliyle temel maske dağıtım ihtiyaçlarını karşılayan basit bir şekilde çalışmaktadır. Ancak, sistemin fonksiyonelliğini artırmak ve kullanıcı deneyimini geliştirmek amacıyla üzerinde sürekli olarak iyileştirme ve ek geliştirmeler yapılacaktır. Bu kapsamda, kullanıcı geri bildirimlerine ve değişen ihtiyaçlara göre proje ilerleyen dönemlerde güncellenmeye devam edecektir.
Görüşürüz 🎉