BakiB Projesi: Teknik Tanıtım
Bu sayfa, BakiB projesinin teknik altyapısını, kullanılan teknolojileri ve mimari yapılarını genel hatlarıyla anlatmaktadır. Proje, modern yazılım prensipleri ile inşa edilmiş, performansı ve ölçeklenebilirliği ön planda tutan bir içerik yönetim sistemidir.
Genel Mimari
BakiB projesi, katmanlı mimari prensipleri doğrultusunda altı temel bölümden oluşur:
- Domain: İş kurallarını, temel veri modellerini ve entity tanımlarını içerir.
- Infrastructure: Veritabanı işlemleri için Entity Framework Core’un kullanıldığı, repository deseninin uygulandığı katmandır.
- Services: İş mantığının merkezi olarak, farklı modüller için servislerin tanımlandığı ve uygulandığı bölümdür.
- Shared: Projenin farklı alanları arasında ortak kullanılan yardımcı sınıflar, extension metotlar ve sabitleri barındırır.
- Admin: Yönetim paneli ile içerik güncellemeleri, RabbitMQ üzerinden gönderilen mesajlar ve ilgili işlemlerin gerçekleştirildiği arka ofis bileşenidir.
- Web: Son kullanıcıya yönelik arayüz ve dinamik içerik sunumunun yapıldığı bölümdür.
Veritabanı ve EF Core
Proje, DB-First yaklaşımını benimseyerek mevcut veritabanı üzerinden modellemelerini gerçekleştirir. Entity Framework Core kullanılarak veritabanı işlemleri standartlaştırılırken, repository deseni ile veri erişim katmanı düzenli ve sürdürülebilir hale getirilmiştir.
RabbitMQ Entegrasyonu ve Önbellekleme
- Mesajlaşma: Admin panelinden yapılan içerik güncellemeleri, RabbitMQ üzerinden yayınlanan mesajlarla diğer katmanlara iletilir. Bu yapı, sistem içindeki veri güncelliğini ve senkronizasyonunu sağlar.
- Cache Yönetimi: Güncellenen verilerle ilgili, RabbitMQ tarafından tetiklenen mesajlaşma süreci sayesinde ilgili önbellek temizlenir. Böylece, kullanıcıya sunulan sayfalar her zaman güncel verilerle hızlı bir şekilde yüklenir.
- Performans: Sık erişilen veya hesaplama maliyeti yüksek veriler, önbelleğe alınarak sayfa açılış hızının artırılması sağlanır.
Yetkilendirme ve Güvenlik
Proje, cookie tabanlı kimlik doğrulama mekanizması kullanarak kullanıcı oturumlarını yönetir. Rol tabanlı erişim kontrolü sayesinde, sadece yetkili kullanıcıların belirli işlemleri gerçekleştirmesi sağlanır. Bu yöntem, hem güvenlik hem de kullanıcı deneyimi açısından optimize edilmiştir.
Orta Katman (Middleware) Kullanımı
BakiB projesi, gelen HTTP isteklerini yakalayan özel bir middleware ile dinamik sayfa oluşturma sürecini yönetir. Bu mekanizma, kataloğa ait verilerin çekilmesi ve kullanıcıya en güncel içeriğin sunulması açısından kritik rol oynar.
Ön Yüz Teknolojileri
Öncelikle front-end tarafında çok fazla tecrübem olmadığını belirtmek isterim. Elimden gelenin en iyisini yapmaya çalıştığım bu projede; kullanıcı arayüzü, modern web teknolojileriyle desteklenmektedir:
- JQuery: Etkileşimli öğelerin ve dinamik içeriklerin yönetiminde kullanılır.
- Bootstrap: Hızlı ve duyarlı tasarım için tercih edilen CSS framework’üdür.
Sonuç
BakiB projesi, .NET 8 tabanlı modern teknolojileri kullanarak, dinamik içerik yönetimi ve yüksek performanslı sayfa açılışı sağlayan, ölçeklenebilir ve güvenli bir sistem sunar. DB-First yaklaşımı, katmanlı mimari, RabbitMQ destekli mesajlaşma ve etkili önbellekleme stratejisi ile hem yönetim panelinde yapılan değişiklikler anında yansıtılır hem de son kullanıcıya her zaman güncel veriler sunulur.