🚀 Yuniverse: Üniversite Tabanlı Sosyal Etkileşim Platformu


Proje Özeti

Yuniverse, üniversite öğrencilerinin kendi kampüsleri ve bölümleri özelinde anonim veya açık kimlikle etkileşime girmesini sağlayan; real-time (gerçek zamanlı) veri akışına sahip bir sosyal medya uygulamasıdır.

🛠 Teknik Stack ve Uygulanan Çözümler

1) Mobil Mimari (Flutter & Provider)

  • State Management: Uygulama genelinde Provider deseni kullanılarak temiz ve sürdürülebilir bir mimari kuruldu.
  • Safe UI Lifecycle: Asenkron veri akışlarında (API ve SignalR) karşılaşılan “Disposed ViewModel” hataları, özel safeNotifyListeners ve isDisposed kontrol mekanizmaları ile çözülerek uygulama stabilitesi artırıldı.
  • Custom UI/UX: Material 3 standartlarında, kompakt “Elegant Chip” tasarımları, dinamik “Scroll-to-top” butonları ve tematik görünüm (Dark/Light mode) desteği geliştirildi.

2) Real-time Veri Yönetimi (SignalR)

  • Anlık Akış: Kullanıcıların attığı postlar, beğeniler ve silme işlemleri SignalR entegrasyonu sayesinde tüm kullanıcılarda aynı anda yansıtılacak şekilde kurgulandı.
  • Grup Yönetimi: Kullanıcılar üniversite ve bölümlerine göre dinamik SignalR gruplarına (JoinFeed) dahil edilerek sadece kendilerini ilgilendiren akışları almaları sağlandı.

3) Backend & Veritabanı (SQL Server & .NET)

  • İlişkisel Veritabanı: SQL Server üzerinde Foreign Key kısıtlamaları ve GUID (uniqueidentifier) kullanımıyla veri bütünlüğü sağlandı.
  • Security: Kullanıcı şifreleme süreçlerinde modern hashing algoritmaları entegre edildi.
  • Performans: Büyük veri setlerinde (Universities, Departments) hızlı arama ve filtreleme için veritabanı optimizasyonları yapıldı.

🌟 Öne Çıkan Fonksiyonlar

  • Dinamik Filtreleme: “En Yeniler”, “Popüler”, “Efsaneler” gibi farklı zaman dilimlerine göre optimize edilmiş Explore (Keşfet) motoru.
  • Minimalist Mesajlaşma: İstek tabanlı, bildirim destekli (kırmızı nokta gösterimi) modern mesajlaşma altyapısı.
  • Cache Mekanizması: Çevrimdışı deneyim için CacheManager ile postların yerel depolamada saklanması ve hızlı yüklenmesi.