PHPackages                             kaveh/notification-service - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. kaveh/notification-service

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

kaveh/notification-service
==========================

1.0.0(1y ago)014PHPPHP ^8.3

Since Feb 17Pushed 1y ago1 watchersCompare

[ Source](https://github.com/kaveh1999nazari/laravel-notification-service)[ Packagist](https://packagist.org/packages/kaveh/notification-service)[ RSS](/packages/kaveh-notification-service/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Laravel Notification Service
============================

[](#laravel-notification-service)

A customizable notification package for Laravel.

Installation
------------

[](#installation)

Run the following command to install the package:

```
composer require kaveh/notification-service
```

Configuration
-------------

[](#configuration)

1. **Register the Service Provider**
    Add the following line to `bootstrap/providers.php`:

    ```
    Kaveh\NotificationService\NotificationServiceProvider::class,
    ```
2. **Update `composer.json`**
    Add the following to the `autoload` section:

    ```
    "autoload": {
        "psr-4": {
            "Kaveh\\NotificationService\\": "vendor/kaveh/notification-service/src/"
        }
    }
    ```

    Then, run:

    ```
    composer dump-autoload
    ```
3. **Migrate Notification Tables**
    Run the following command to create necessary database tables:

    ```
    php artisan notification:migrate
    ```
4. **Extend the User Model**
    Replace the default Laravel `Authenticatable` import in your `User` model:

    **Before:**

    ```
    use Illuminate\Foundation\Auth\User as Authenticatable;
    ```

    **After:**

    ```
    use Kaveh\NotificationService\Abstracts\Authenticatable;
    ```

    And add this method in your model:

    ```
    public function getId()
     {
         return $this->id;
     }
    ```
5. **Notification Configuration**

    - **Notification Type:** Define the notification type, e.g., `user_login`, `order_created`, etc.
    - **Notification Channel:** Specify the notification delivery method: `email`, `sms`, `in-app`, etc.
    - **Notification Preferences:**
        We recommend using an event-listener to automatically set user notification preferences upon registration. This determines whether a user has granted permission for notifications.

Usage
-----

[](#usage)

### Create a New Notification

[](#create-a-new-notification)

Run the following command to generate a notification class:

```
php artisan make:notification-service {name}
```

### Send a Notification

[](#send-a-notification)

To send a notification, use:

```
NotificationService::sendNotification(notificationClass, UserModel, NotificationType, ?array data = []);
```

Enjoy using `Laravel Notification Service`! 🚀

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance40

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

502d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/43339699?v=4)[kaveh1999](/maintainers/kaveh1999)[@kaveh1999](https://github.com/kaveh1999)

---

Top Contributors

[![kaveh1999nazari](https://avatars.githubusercontent.com/u/149464995?v=4)](https://github.com/kaveh1999nazari "kaveh1999nazari (16 commits)")

### Embed Badge

![Health badge](/badges/kaveh-notification-service/health.svg)

```
[![Health](https://phpackages.com/badges/kaveh-notification-service/health.svg)](https://phpackages.com/packages/kaveh-notification-service)
```

###  Alternatives

[spatie/laravel-failed-job-monitor

Get notified when a queued job fails

1.1k2.8M4](/packages/spatie-laravel-failed-job-monitor)[laravel-notification-channels/apn

Apple APN Push Notification Channel

2022.2M8](/packages/laravel-notification-channels-apn)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k7](/packages/statamic-rad-pack-runway)[api-platform/laravel

API Platform support for Laravel

58171.5k14](/packages/api-platform-laravel)[ecotone/laravel

Ecotone for Laravel — CQRS, Event Sourcing, Sagas, Durable Workflows, and Outbox on top of Laravel Queue, via PHP attributes.

21318.6k3](/packages/ecotone-laravel)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3416.9k](/packages/duncanmcclean-statamic-cargo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
