WebSocket Tabanlı Sohbet Uygulaması: Chatify
Soket Tabanlı Sohbet Uygulaması ve Kullanıcı Oturum Yönetimi
Günümüzde, gerçek zamanlı veri akışı ve kullanıcı oturum yönetimi, web uygulamaları için hayati öneme sahiptir.
Bu blog yazısında, NestJS ve Socket.io kullanarak oluşturduğumuz sohbet uygulamasını ve oturum yönetimini nasıl ele aldığımızı gözden geçireceğiz.
Projenin Amacı:
Bu web uygulaması, kullanıcıların farklı sohbet odalarına katılarak mesajlaşmalarını sağlar. Aynı zamanda, uygulama kullanıcı oturumlarını da yönetebilir, böylece kullanıcılar daha önce katıldıkları sohbete geri dönebilirler.
Gerçek Zamanlı Veri Akışının Zorlukları ve Çözüm Yolları:
Gerçek zamanlı veri akışı sağlarken, performans ve ölçeklenebilirlik gibi birçok zorlukla karşılaşabiliriz. Ayrıca, oturum yönetimi ve kullanıcı kimlik doğrulama da ekstra karmaşıklık getirebilir.
Kullanımı:
Sohbet odalarına katılmak ve mesaj göndermek istiyorsanız, önce "Login" seçeneği ile oturum açmalısınız. Başarılı bir oturum açma işleminden sonra, farklı odalara katılabilir ve gerçek zamanlı olarak mesajlaşabilirsiniz.
Oturumu Sürdürme:
Kullanıcılar oturumlarını sürdürebilirler. Yani, uygulamadan çıksalar bile, tekrar girdiklerinde kaldıkları yerden devam edebilirler.
Kullanıcı Arayüzü:
Projede bir "popup.js" dosyası bulunmaktadır. Bu dosya, sohbet odasındaki kullanıcı sayısını gösterir ve yeni mesajlar geldiğinde kullanıcıya bildirimler gönderir. Ayrıca, oturum bilgilerini de yerel depolama alanına kaydeder.
Teknik Detaylar:
Arka tarafta, ChatGateway sınıfı bir WebSocket sunucusu olarak çalışır. Bu sınıf, kullanıcıların oturum açmalarını, odalara katılmalarını ve mesaj göndermelerini sağlar.
Sonuç:
NestJS ve Socket.io'nun sunduğu güçlü özellikler sayesinde, gerçek zamanlı bir sohbet uygulaması ve etkili bir oturum yönetimi sistemini başarıyla oluşturduk. Bu tür modern araçlar, web geliştirme süreçlerimizi hızlandırarak, karmaşık problemleri kolaylıkla çözmümemizi sağlıyor.
Bir sonraki projemizde görüşmek üzere!