Laravel Notification Kullanım Örneği

Merhabalar.
Notification sistemini öğrenmeye çalışırken yaptığım çalışmayı paylaşmak istiyorum.
Buradaki senaryom şu şekilde: Herhangi bir kullanıcı bir kayıt eklediğinde, sistemdeki diğer tüm kullanıcılara bildirim gönderilmesini sağlamaktı.

Yararlandığım kaynaklar:
https://tallpad.com/series/inertiajs-laravel-misc/lessons/notifications-with-laravel-echo-and-pusher-in-inertiajs-applications-part-one
https://laravel.com/docs/8.x/notifications

// Database yöntemiyle notification kullanılacak ise, gerekli olan tablo için migration oluşturur
php artisan notification:table

// Notification table migrate edilir
php artisan migrate

// Notificaion sınıfı üretiyoruz
php artisan make:notifiation StoredProjectNotification

app\Notifications\StoredProjectNotification.php

protected $project;
protected $user; 

public function __construct(User $user, Project $project)
{
    $this->project = $project;
    $this->user = $user;
}

public function via($notifiable)
{
    return ['database'];
}

public function toArray($notifiable)
{
    return [
        'user'=>$this->user->id,
        'project'=>$this->project->id,
    ];
}    

app\Http\Middleware\HandleInertiaRequests.php


public function share(Request $request)
{

    $user = Auth::user();

    return array_merge(parent::share($request), [
        ...
        'unreadNotificationsCount' => $user ? $user->unreadNotifications()->count() : []
    ]);	    
}    

app\Http\Controllers\ProjectController.php


use Illuminate\Support\Facades\Notification;

public function store(StoreProjectRequest $request)
{
    
    $result = Auth::user()->projects()->create(
        $request->validated()
    );

    // Sistemdeki tüm user'lara bildirim göndermek için
    if($result){
        Notification::send( User::all(), new StoredProjectNotification(Auth::user(), $result)); 
    }

    return Redirect::route('project_index')->with('success', 'Proje Oluşturuldu.');
}