Kamu Bilişim
Kamu Bilişim, kamuda hizmet veren firmaların bilişim alanındaki yetkinliklerini belgelendirmek ve yetki belgesi başvurularını yönetmek için geliştirilen web platformudur.
- Kurum / bağlam
- T.C. Sanayi ve Teknoloji Bakanlığı / SBI Bilişim
- Kategori
- Web
- Dönem
- 1 Eki 2023 - 1 Ara 2023
Teknolojiler
C# ASP.NET Core 3.1 ASP.NET Core MVC SQL Server Entity Framework Core Kendo UI Grid iTextSharp JavaScript jQuery Bootstrap CSS HTML Azure DevOps Git IIS Generic Repository Pattern UnitOfWork Pattern Role Based Authentication Role Based Authorization Multi Language Support AutoMapper DTO ViewModel Audit Logs Code First Fluent Validation jQuery Validation Unobtrusive Toastr SweetAlert ArkSigner E-İmza
Bağlantılar
Kamu Bilişim, kamuda hizmet veren firmaların bilişim alanındaki yetkinliklerini belgelendirmek ve yetki belgesi başvurularını yönetmek için geliştirilen web platformudur. Platform üzerinden firmalar Yazılım Yetki Belgesi, Kamu Bilişim Yetki Belgesi ve Sızma Testi Yetki Belgesi gibi belgeler için başvuru sürecine dahil olabilir.
Proje Bilgisi
- Kurum / bağlam: T.C. Sanayi ve Teknoloji Bakanlığı / SBI Bilişim
- Platform: Web
- Dönem: Ekim 2023 - Aralık 2023
Proje Türü
- Proje bir full stack web uygulamasıdır.
- ASP.NET Core MVC proje şablonu kullanılarak geliştirilmiştir.
Mimari Yapı / Sistem Tasarımı
- Proje mimari olarak iki ana katmandan oluşur: web uygulaması ve veritabanı.
- Web uygulaması katmanı kendi içinde hem frontend hem de backend tarafını barındırır.
- Uygulama, MVC mimarisinin katmanlı mimari ile harmanlanmış yapısı üzerine kuruludur.
- Veritabanı katmanı SQL Server ile oluşturulmuştur.
- Uygulama kurumsal mimariye uygun, modüler ve kolay genişletilebilir olacak şekilde tasarlanmıştır.
- Çözüm içerisinde Business, Core, DataAccess ve User Interface katmanları bulunur.
- Business katmanı iş kurallarını ve servis tanımlamalarını içerir.
- Core katmanı soyutlamaları, yardımcı sınıfları ve ortak yapıları içerir.
- DataAccess katmanı repository’leri ve migration’ları içerir.
- User Interface katmanı view’ları, middleware’leri ve area yapılarını içerir.
Kullanılan Teknolojiler
- Backend ve MVC: C#, ASP.NET Core 3.1, ASP.NET Core MVC, Entity Framework Core
- Veritabanı: SQL Server, Code First
- Frontend: Bootstrap, Kendo UI Grid, HTML, CSS, JavaScript, jQuery
- Mimari ve desenler: Generic Repository Pattern, UnitOfWork Pattern, DTO, ViewModel, AutoMapper
- Validasyon, loglama ve güvenlik: Fluent Validation, jQuery Validation Unobtrusive, audit log, role based authentication, role based authorization
- Belge ve imza işlemleri: iTextSharp, ArkSigner, E-İmza
- Proje ve yayın araçları: Azure DevOps, Git, IIS
Öne Çıkan Teknik Detaylar ve Modüller
- Bootstrap ile kullanıcı arayüzleri oluşturuldu.
- Role based authentication / authorization desteği geliştirildi.
- Generic Repository ve UnitOfWork Pattern kullanıldı.
- Çoklu dil desteği eklendi.
- AutoMapper ile object mapping yapıldı.
- Veri transferinde DTO kullanıldı.
- View’larda ViewModel kullanıldı.
- Veritabanı işlemleri audit log olarak loglandı.
- Veriler için sayfalama, arama ve filtreleme desteği sağlandı.
- Kendo UI Grid ile veriler tablo şeklinde listelendi.
- Entity Framework Core ORM ile veritabanı işlemleri yürütüldü.
- Code First yaklaşımı ile veritabanı migration’ları yönetildi.
- Fluent Validation ile server-side validasyon yapıldı.
- jQuery Validation Unobtrusive ile client-side validasyon yapıldı.
- Gerekli yerlerde extension metotlar kullanıldı.
- Toastr ve SweetAlert ile bildirim yönetimi sağlandı.
- ArkSigner ile E-İmza desteği eklendi.
- iTextSharp ile PDF işlemleri yapıldı.
Katılım Durumu ve Süre
- Projede SBI Bilişim adına T.C. Sanayi ve Teknoloji Bakanlığı Bilgi İşlem Daire Başkanlığı’nda Yazılım Geliştirme Uzmanı olarak görev aldım.
- Projeye yaklaşık 2,5 ay boyunca, Ekim 2023 ile Aralık 2023 tarihleri arasında destek verdim.
Proje Yönetimi / Takım Yapısı
- Proje, bakanlıkta görev yaptığım dönemde üç kişilik bir ekibe atanmış bir çalışmaydı.
- Ekipte benim dışımda bir analist ve bir senior yazılım geliştirme uzmanı yer alıyordu.
- Proje yönetimi ve task takibi Azure DevOps üzerinden yürütülüyordu.
- Versiyon kontrolü için Git kullanılıyordu.
Kişisel Katkılar ve Sorumluluklar
- Proje kapsamında oluşturulan zafiyet raporunda belirtilen güvenlik açıklarını giderdim.
Yayın / Deployment Bilgisi
- Proje, bakanlığın kendi Windows tabanlı IIS sunucularında yayınlandı.
- Halka açık bir proje olduğu için production ortamına proje bağlantıları bölümünden erişilebilmektedir.