PHPackages                             usamaasif0/notificano - 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. usamaasif0/notificano

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

usamaasif0/notificano
=====================

Realtime notification package for Laravel using Reverb

v1.0.3(9mo ago)17MITPHPPHP ^8.1

Since Jul 13Pushed 9mo agoCompare

[ Source](https://github.com/usamaasif0/notificano)[ Packagist](https://packagist.org/packages/usamaasif0/notificano)[ RSS](/packages/usamaasif0-notificano/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (0)

Notificano
==========

[](#notificano)

**Notificano** is a modern, open source, developer-friendly real-time notification system for Laravel. Built to leverage Laravel Reverb, Notificano is among the first (and most complete) open source packages to offer plug-and-play real-time notifications for Laravel applications. It provides a seamless, flexible, and robust solution for adding notification bells, unread counts, and notification lists to your app—without the hassle of building everything from scratch.

- **First-class real-time notifications:** Instantly notify users of new events, messages, or updates using Laravel Reverb.
- **Easy integration:** Add a notification bell and list to your layout with a single Blade directive.
- **Flexible and customizable:** Publish and override views, config, and assets as needed.
- **Production-ready:** Built for Laravel 11 and above, with best practices and extensibility in mind.
- **Open source &amp; community-driven:** Licensed under MIT, Notificano welcomes issues, suggestions, and contributions from the Laravel community.

> **Notificano is one of the first comprehensive, open source real-time notification packages for Laravel using Reverb.**

---

Features
--------

[](#features)

- Real-time notifications (Laravel Reverb)
- Notification bell with unread count
- Notification list and mark-as-read functionality
- Publishable migrations, config, and assets
- Customizable via config
- Simple Blade directive: `@notificanoBell`

---

View Examples
-------------

[](#view-examples)

**Notification Bell Example:**

 [![Notification Bell Example](.github/images/bell_notification.png)](.github/images/bell_notification.png)

**Notification List Page Example:**

[![Notification List Page Example](.github/images/notifications_page.png)](.github/images/notifications_page.png)

Prerequisites
-------------

[](#prerequisites)

Before installing Notificano, make sure your Laravel app has:

- **Laravel Reverb** installed and configured for real-time broadcasting.
- Broadcasting set up and working.

If you have not set up broadcasting and Reverb, run:

```
php artisan install:broadcasting
```

Follow the prompts to complete the setup. For more details, see the [Laravel Reverb documentation](https://laravel.com/docs/11.x/reverb).

---

Running Reverb and Frontend Assets
----------------------------------

[](#running-reverb-and-frontend-assets)

To enable real-time notifications, you must run the Reverb server:

```
php artisan reverb:start
```

If your project uses a frontend build system (like Vite or Laravel Mix), make sure to install dependencies and run the dev server:

```
npm install
npm run dev
```

Keep both the Reverb server and your frontend dev server running during development for real-time updates.

---

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

[](#installation)

### 1. Install the Package

[](#1-install-the-package)

Run the command:

```
composer require usamaasif0/notificano

```

### 2. Publish All Resources

[](#2-publish-all-resources)

Run:

```
php artisan vendor:publish --tag=notificano-all

```

### 3. Publish and Run Migrations

[](#3-publish-and-run-migrations)

Run:

```
php artisan notificano:publish-migrations

```

---

User Model Setup
----------------

[](#user-model-setup)

Add the following method to your `User` model (`app/Models/User.php`) to enable notification relationships:

```
public function notifications()
{
    return $this->hasMany(\Notificano\Models\Notification::class, 'to_user');
}
```

---

Usage
-----

[](#usage)

### 1. Add the Notification Bell to Your Layout

[](#1-add-the-notification-bell-to-your-layout)

**Blade Directive (recommended):**

```
@notificanoBell
```

### 2. Configuration

[](#2-configuration)

Publish and edit `config/notificano.php` to adjust settings (e.g., max notifications shown):

```
return [
    'max_notifications' => 5,
];
```

### 3. Sending Notifications Programmatically

[](#3-sending-notifications-programmatically)

You can send a notification from anywhere in your app using the `setNotification` helper:

- **First parameter:** An array of notification data (must include at least a 'title', can optionally include a 'url').
- **Second parameter:** The user ID to send the notification to (optional, defaults to 1 if not provided).

```
setNotification(
    ['title' => 'string (required)', 'url' => 'route name (optional)'],
    $toUserId // optional, defaults to user ID 1
);
```

- `title`: The notification title (required)
- `url`: The route name or URL (optional)
- `toUserId`: The user ID to send the notification to (optional, defaults to 1)

### 4. Use Case Example

[](#4-use-case-example)

Here is an example of how you might use `setNotification` in a controller when a new post is created:

```
use Illuminate\Http\Request;

public function store(Request $request)
{
    // ... your logic to create a resource, e.g., a new post
    $post = Post::create($request->all());

    // Send a notification to user with ID 5
    setNotification([
        'title' => 'A new post was created!',
        'url' => route('posts.show', $post->id) // optional
    ], 5);

    // ... rest of your controller logic
}
```

**Explanation:**

- The first parameter is an array with at least a `'title'` key. You can also include `'url'` or any other data your notification system uses.
- The second parameter is the user ID you want to notify (in this example, user ID 5). If you omit it, the notification will be sent to user ID 1 by default.

---

Customization
-------------

[](#customization)

- You can override the published views in your app's `resources/views/vendor/notificano/` directory.
- Change the default avatar image by replacing `public/images/no_avatar.webp`.

---

Troubleshooting
---------------

[](#troubleshooting)

- **Notifications table missing?** Run migrations after publishing.
- **Not seeing the bell?** Make sure you are logged in and have included `@notificanoBell` in your layout.
- **Auth issues?** Ensure your routes use both `web` and `auth` middleware.
- **Custom user model?** The package auto-detects your user model via Laravel config.

---

License
-------

[](#license)

MIT

---

Contributing
------------

[](#contributing)

Notificano is open source and welcomes contributions! If you have ideas, bug reports, or want to help improve the package, please open an issue or submit a pull request on GitHub.

### Coding Standards &amp; Contribution Guidelines

[](#coding-standards--contribution-guidelines)

- **Code Style:** Please follow [PSR-12](https://www.php-fig.org/psr/psr-12/) for all PHP code. Use camelCase for variables and methods, StudlyCase for classes, and UPPER\_SNAKE\_CASE for constants.
- **Autoloading:** All classes and files should follow [PSR-4](https://www.php-fig.org/psr/psr-4/) autoloading standards. Place classes in the correct namespace and directory structure.
- **Testing:** If possible, add or update tests for your changes.
- **Code Quality:** Run code style checks and tests before submitting a pull request.
- **Pull Requests:** Clearly describe your changes and reference any related issues.

Thank you for helping make Notificano better!

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance58

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

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

Every ~1 days

Total

4

Last Release

296d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/35875a84374730f2558fab4a94507917d850bb1e0abc0f44989ad2f2d417ad49?d=identicon)[usamaasif0](/maintainers/usamaasif0)

---

Top Contributors

[![usamaasif0](https://avatars.githubusercontent.com/u/74151422?v=4)](https://github.com/usamaasif0 "usamaasif0 (11 commits)")

### Embed Badge

![Health badge](/badges/usamaasif0-notificano/health.svg)

```
[![Health](https://phpackages.com/badges/usamaasif0-notificano/health.svg)](https://phpackages.com/packages/usamaasif0-notificano)
```

###  Alternatives

[mckenziearts/laravel-notify

Flexible flash notifications for Laravel

1.7k1.1M5](/packages/mckenziearts-laravel-notify)[s-ichikawa/laravel-sendgrid-driver

This library adds a 'sendgrid' mail driver to Laravel.

4139.3M1](/packages/s-ichikawa-laravel-sendgrid-driver)[laravel-notification-channels/apn

Apple APN Push Notification Channel

2021.9M4](/packages/laravel-notification-channels-apn)[laravel-notification-channels/microsoft-teams

A Laravel Notification Channel for Microsoft Teams

1603.0M7](/packages/laravel-notification-channels-microsoft-teams)[laravel-notification-channels/discord

Laravel notification driver for Discord.

2371.3M11](/packages/laravel-notification-channels-discord)[illuminate/mail

The Illuminate Mail package.

5910.1M390](/packages/illuminate-mail)

PHPackages © 2026

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