Kullanıcılar hesaplarındaki tüm aktiviteleri nasıl görüyor?
Aktivite Logları: Tüm hesap aktivitelerinin kronolojik listesi
Güvenlik Olayları: Giriş, çıkış, şifre değişikliği kayıtları
Abonelik İşlemleri: Ödeme ve plan değişiklik geçmişi
Filtreleme: Tarih aralığı ve kategori bazlı filtreleme
Tarih, saat, IP adresi, cihaz bilgisi
Değişiklik tarihi ve cihaz
Tutar, tarih, ödeme yöntemi
Yükseltme, düşürme, iptal
E-posta, isim, avatar değişiklikleri
Cihaz bilgisi ve konum
Aktivite geçmişi sisteminin teknik altyapısı
Kullanıcı hesap geçmişi sayfasını açtığında, sistem arka planda kapsamlı bir aktivite takip ve loglama mekanizması çalıştırır. Her kullanıcı eylemi kayıt altına alınır ve güvenlik analizi yapılır.
Laravel için spatie/laravel-activitylog paketi kullanılır. Her model değişikliği LogsActivity trait'i ile otomatik kaydedilir. activity_log tablosuna JSON formatında detaylı bilgi yazılır.
Laravel Event sistemi ile Login, Logout, PasswordReset ve Registered eventleri dinlenir. EventServiceProvider'da tanımlı listenerlar her olayı yakalar ve loglar.
Her işlemde request()->ip() ile IP adresi, jenssegers/agent ile tarayıcı ve işletim sistemi bilgisi alınır. GeoIP veritabanı ile IP'den şehir/ülke tespiti yapılır.
Activity::causedBy($user)->latest()->paginate(20) sorgusu ile kullanıcının aktiviteleri sayfalanmış olarak çekilir. Eager loading ile ilişkili modeller tek sorguda getirilir.
whereBetween('created_at', [$start, $end]) ile tarih aralığı, where('log_name', $category) ile kategori bazlı filtreleme yapılır. Query scope'lar ile temiz kod sağlanır.
Blade component ile timeline görünümü oluşturulur. Cache::remember() ile sık erişilen aktiviteler önbelleğe alınır. Carbon ile "2 saat önce", "dün" gibi göreli zaman formatı sağlanır.
Activity Log: App\Models\Activity | Event Listeners: App\Listeners\LogUserActivity | Blade: resources/views/account/history.blade.php | Cache TTL: 5 dakika
Chrome, MacBook Pro - Istanbul
Premium - 29.90 TL
Basariyla guncellendi
iPhone 14, Safari
Free -> Premium