Son birkaç ay içerisinde, kurumsal Laravel projeleri üzerinde çalışırken sürekli karşılaştığım bir sorun vardı: “Bildirim Kâbusu”.
Her şirketin onay süreçlerine (talep, fatura, izin talepleri) ihtiyacı vardır, ancak çoğu sistem yöneticilere her bir öğe için ayrı bildirimler gönderiyor.
Bu soruna bir çözüm geliştirmeye karar verdim: Laravel Approval Engine.
🔥 “Akıllı Gruplama” Konsepti
🔥 “Akıllı Gruplama” Konsepti
Kurumsal iş akışlarının temel sorunu onay mantığı değil, bildirim yorgunluğu. 50 ayrı onay için 50 ayrı e-posta göndermek yerine, motorum bunları 1 akıllı grup içerisinde biriktiriyor. Yönetici, her şeyi bir anda onaylamak için güvenli, token tabanlı bağlantılara sahip tek bir temiz özet e-postası alıyor.
🏗️ Nasıl Çalışır
🏗️ Nasıl Çalışır
Mimari, modüler ve tak-çalıştır olarak tasarlandı.
- Bir Modül Tanımlayın:
php artisan make:workflow-modulekullanarak bir mantık sınıfı oluşturun. - Kuyruk Kayıtları: İş modeliniz “beklemede” durumuna geçer.
- İşleyici: Planlı bir artisan komutu, bekleyen kayıtları bir
Batchiçinde paketler. - İşlem: Onaylayan kişi tek bir e-posta alır. Onlar Tümünü Onayla, Reddet veya güvenli Next.js paneli aracılığıyla Ayrıntıları Görüntüle seçeneğini kullanabilir.
🧠 Teknik Özellikler
🧠 Teknik Özellikler
- Çok Aşamalı İş Akışları: Kolayca
Yönetici -> Mali -> CEOyönlendirebilirsiniz. - Token-tabanlı Güvenlik: Onaylayanların işlem gerçekleştirmek için giriş yapması gerekmez.
- Olay Tabanlı: Her aşama için halkalar (Oluşturuldu, Onaylandı, Yükseltildi).
- Next.js Paneli: İş akışı durumunu yönetmek için şık bir ön yüz.
- Laravel 12 Uyumlu: En son PHP 8.2+ özellikleri ile çalışmak üzere tasarlandı.
📊 İş Akışı Akışı
📊 İş Akışı Akışı
graph TD
A[Pending Records] --> B[Smart Batch Created]
B --> C[Email Digest Sent]
C --> D[Approver Clicks Link]
D --> E[Stage Resolver]
E --> F{Next Stage?}
F -- Yes --> G[Create Next Batch]
F -- No --> H[Workflow Completed]
🚀 Demo’yu Deneyin
🚀 Demo’yu Deneyin
Repo içerisinde 2 dakika içinde uygulamanın nasıl çalıştığını görebileceğiniz bir demo ekledim:
git clone https://github.com/apurba-labs/laravel-approval-engine
cd laravel-approval-engine/example/laravel-demo
composer install
php artisan approval:demo
🔗 GitHub
🔗 GitHub
Topluluğun bunu incelemesini, yıldız vermesini veya yeni özellikler önermesini isterim!
Geri bildiriminizi duymak isterim! Kendi Laravel uygulamalarınızdaki karmaşık onay yönlendirmelerini nasıl ele alıyorsunuz?
Kaynak: Orijinal Makale


