Kullanıcılara önemli mesajları ileten duyuru sistemi
Kullanıcılara önemli bilgileri duyurmak için esnek bir sistem kurduk. Bakım duyuruları, yeni özellik haberleri, kampanya bildirimleri bu modül üzerinden yapılıyor.
Banner ve pop-up duyurular
Otomatik yayın/bitiş
Belirli kullanıcı gruplarına
Kaç kişi gördü, kapatttı
Admin panelinden bir duyuru oluşturulduğunda ve kullanıcılar siteyi ziyaret ettiğinde, sistem şu işlemleri gerçekleştiriyor:
Announcement::create() ile announcements tablosuna kayıt ekleniyor. title, content, type (info, warning, danger), position (top, bottom, modal) ve style bilgileri kaydediliyor.
starts_at ve ends_at alanları ile duyurunun ne zaman görüneceği belirleniyor. Announcement::active() scope'u şu anki tarihe göre aktif duyuruları filtreliyor.
target_audience alanı ile duyurunun kime gösterileceği belirleniyor: all (herkes), premium (sadece premium üyeler), free (sadece ücretsiz üyeler), guests (sadece misafirler).
Sayfa yüklendiğinde AnnouncementMiddleware çalışıyor. announcement_views tablosunda kullanıcının bu duyuruyu kapatıp kapatmadığı kontrol ediliyor. Kapatılmışsa bir daha gösterilmiyor.
Kullanıcı "X" butonuna tıkladığında AJAX isteği gönderiliyor. announcement_views tablosuna user_id, announcement_id, dismissed_at kaydediliyor. LocalStorage ile de geçici kayıt tutuluyor.
Her görüntüleme announcements.view_count sayacını artırıyor. Kapatma oranı (dismiss_count / view_count) hesaplanıyor. Admin panelinde hangi duyurunun ne kadar etkili olduğu raporlanıyor.
Kullanıcılara gösterilen önemli mesaj.
Okul panolarındaki duyurular gibi
Sayfa üstünde/altında görünen şerit duyuru.
Mağaza vitrinindeki afiş gibi