Notify
Notify, Yıldız Holding bünyesindeki ve anlaşmalı firmaların e-posta gönderim süreçlerini merkezi bir noktadan yönetmek için geliştirilmiş backend odaklı bir web uygulamasıdır. E-posta akışına dahil olmak isteyen firmalar, internal veya external servis endpoint'lerine Ocean Middleware üzerinden erişerek sistemi kullanabilir.
- Kurum / bağlam
- Yıldız Holding
- Kategori
- Web
- Dönem
- 1 Nis 2024 - 1 Mar 2025
Teknolojiler
C# .NET Framework 4.8 MongoDB NLog CsvHelper Keycloak CentOS IIS Git GitLab
Notify, Yıldız Holding bünyesindeki ve anlaşmalı firmaların e-posta gönderim süreçlerini merkezi bir noktadan yönetmek için geliştirilmiş backend odaklı bir web uygulamasıdır. E-posta akışına dahil olmak isteyen firmalar, internal veya external servis endpoint’lerine Ocean Middleware üzerinden erişerek sistemi kullanabilir.
Proje Bilgisi
- Kurum / bağlam: Yıldız Holding
- Platform: Web
- Dönem: Nisan 2024 - Mart 2025
Proje Türü
- Proje bir backend web uygulamasıdır.
- .NET Framework 4.8 sürümü kullanılarak geliştirilmiştir.
Mimari Yapı / Sistem Tasarımı
- Proje mimari olarak üç ana katmandan oluşur: internal backend, external backend ve veritabanı.
- Internal backend ve external backend katmanları birbirine benzer yapıdadır.
- Her iki uygulama da temel olarak veritabanı katmanına erişir.
- Veritabanı katmanı için MongoDB kullanılır.
- Internal uygulama IIS sunucularda yayınlanır.
- External uygulama ise CentOS işletim sistemli Linux sunucularda yayınlanır.
Kullanılan Teknolojiler
- Backend: C#, .NET Framework 4.8
- Veritabanı: MongoDB
- Loglama ve dosya işleme: NLog, CsvHelper
- Authentication: Keycloak
- Yayınlama ve altyapı: CentOS, IIS
- Versiyon kontrolü: Git, GitLab
Öne Çıkan Teknik Detaylar ve Modüller
- NLog ve CsvHelper ile e-posta gönderim işlemleri loglandı.
- Keycloak ile authentication desteği sağlandı.
- E-posta gönderim içerikleri MongoDB üzerinde saklandı.
- Runtime’da oluşturulan queue ile e-posta gönderme işlemleri yönetildi.
Katılım Durumu ve Süre
- Proje, ID3 tarafından destek verilen Yıldız Holding bünyesindeki şirketlerin e-posta gönderimi yapmak için kullandığı bir sistemdir.
- Bu projede yaklaşık bir yıl, Nisan 2024 ile Mart 2025 tarihleri arasında görev aldım.
Proje Yönetimi / Takım Yapısı
- Proje için ID3 bünyesinde Yıldız Holding projelerinden sorumlu Sharks uygulama geliştirme ekibi yer alıyordu.
- Ben Sharks ekibinde Yazılım Geliştirme Uzmanı olarak görev aldım.
- Projeye sıfırdan dahil olmadım; yıllardır kullanılan mevcut bir kurumsal sistem üzerinde çalıştım.
- Sharks ekibinden ben ve bir geliştirici arkadaşım bu projeye destek veriyorduk.
- Proje yönetiminde Agile metodolojisi kullanılıyordu.
- Müşteriden gelen talepler doğrultusunda Jira üzerinde task’lar oluşturuluyordu.
- Günlük iş bölümü Microsoft Teams üzerinden yapılan daily toplantılarıyla yönetiliyordu.
- Deployment süreci için iki haftalık veya aylık sprintler oluşturuluyordu.
- Sprintlerin tamamlanması sonrasında task’lar Git kullanılarak main branch üzerine merge ediliyordu.
- Branch çakışmaları olduğunda ekibe destek olarak conflict çözümünde aktif rol aldım.
- Deployment akışında önce UAT ortamına yayın yapılıyor, başarılı sonuç ve onay sonrasında prod ortamına geçiliyordu.
- Deployment aşamasını ben yönetiyordum.
- Sharks ekibi dışında müşteri tarafında dört kişilik bir Product Owner ekibi bulunuyordu.
Kişisel Katkılar ve Sorumluluklar
- Keycloak tarafından sunulan authentication bilgileri ile authentication işlemlerinin yapılmasını sağladım.
- CsvHelper kullanılarak başarılı ve başarısız e-posta gönderim işlemlerinin loglanmasına katkı sağladım.
- Uygulamaların Windows / IIS ve Linux / CentOS sunucularında yayına alınması süreçlerinde görev aldım.
Yayın / Deployment Bilgisi
- Proje, Yıldız Holding bünyesindeki şirketlerin kullandığı internal ve external bir sistem olduğu için dış dünyaya açık değildir.
- Platforma erişim yalnızca şirketin sunduğu authentication bilgileri ile sağlanmaktadır.
- Yayınlama işlemleri şirketin on-premise CentOS sunucularında ve Windows tabanlı IIS sunucularında gerçekleştiriliyordu.