Veritabanınızdaki değişiklikleri kimin, ne zaman yaptığını takip etme ihtiyacı herkesin başına gelmiştir. Bir audit paketi kurarsınız ve çalışır, ama her defasında geçmişi kontrol ederken veritabanı yöneticisinde ya da sıkışık bir tabloda ham JSON verisiyle karşılaşırsınız.
Filament projelerim için daha iyi bir çözüme ihtiyacım vardı. “Zaman Yolculuğu” yapmak istedim.
Bu nedenle Chronos’u geliştirdim.
⏳ Chronos Nedir?
Chronos, Filament V4 / V5 için tasarlanmış, temel olarak bir audit trail eklentisidir ve tek bir şeye odaklanmaktadır: Görsellik.
Değişiklikleri kaydetmekle kalmaz; verilerinizi yan yana karşılaştırabileceğiniz güzel bir arayüz sunar. Ne zaman, neyin ve kimin değiştiğini görebilirsiniz, hepsi şık bir kaydırma arayüzü içinde.
🚀 “Sıfır İnşa” Meydan Okuması
Chronos’u “tak ve çalıştır” bir deneyim haline getirmek istedim.
Genellikle, Filament için özel bir UI oluşturduğunuzda, Tailwind JIT, özel yapılandırmalar ve npm run build komutlarıyla uğraşmanız gerekir. Chronos için farklı bir yol seçtim. Yerel Filament sınıfları ve CSS değişkenlerini kullandım.
Sonuç? Kurduğunuzda hemen panelinizin ana renklerini ve koyu mod ayarlarını benimser, tek bir JS dosyasına dokunmadan.
✨ Ana Özellikler
Görsel Farklar: Oluşturulan (Yeşil), Güncellenen (Mavi) ve Silinen (Kırmızı) olaylar için renk kodlu vurgulama.
Bağlam Bilgisi: Kullanıcı verilerini, IP adreslerini ve zaman damgalarını otomatik olarak yakalar.
Polimorfik: Modelinizin ne olduğu önemli değil; eğer Eloquent ise, Chronos onu takip edebilir.
Koyu Mod Desteği: 2 AM’de de 10 AM’de de aynı derecede iyi görünür.
🛠️ Koda Entegrasyonu
Chronos’u entegre etmek son derece basittir.
- Modelinize trait ekleyin:
use Ianstudios\Chronos\Concerns\HasChronos;
class Product extends Model {
use HasChronos;
}
- Filament Kaynağınıza Aksiyon ekleyin:
use Ianstudios\Chronos\Actions\ChronosHistoryAction;
// Başlık veya Tablo Eylemlerinizde
ChronosHistoryAction::make()
Hepsi bu. Karmaşık bir kurulum yok, ek yük yok.
📦 Deneyin!
Şu anda, v1.7.0 yayınlandı ve bu sürüm, yerel stil iyileştirmeleri ve büyük audit günlükleri için daha iyi performans getiriyor.
CRMs, ERPs ya da veriyle ilgili herhangi bir uygulama geliştiriyorsanız, Chronos aradığınız “Zaman Yolculuğu” aracı olabilir.
Canlı demo ve dökümantasyona buradan ulaşabilirsiniz:
👉 https://creator.ianstudios.id
Son Düşünceler
Filament ekosistemi için araçlar geliştirmek harika bir yolculuktu. Geliştirici deneyimine (DX) olan topluluk odaklılık, Chronos’u sürekli geliştirmem için beni motive ediyor.
Laravel uygulamalarınızdaki audit kayıtlarını şu anda nasıl yönetiyorsunuz? Yorumlarda tartışalım! 👇
Kaynak: Orijinal Makale


