PHPackages                             webpacks/notigen - 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. [Templating &amp; Views](/categories/templating)
4. /
5. webpacks/notigen

ActiveLibrary[Templating &amp; Views](/categories/templating)

webpacks/notigen
================

A Laravel package that simplifies the process of creating, managing, and sending custom notifications

1.5.1(6mo ago)332MITBladePHP ^8.2CI failing

Since Nov 5Pushed 5mo agoCompare

[ Source](https://github.com/ramshi7134/notigen)[ Packagist](https://packagist.org/packages/webpacks/notigen)[ RSS](/packages/webpacks-notigen/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (6)Versions (26)Used By (0)

Notigen
=======

[](#notigen)

A Laravel package for managing notification templates with variable support and multiple channel capabilities. Create, manage, and send notifications with a beautiful web interface.

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

[](#installation)

You can install the package via composer:

```
composer require webpacks/notigen
```

Setup
-----

[](#setup)

1. Publish the assets and config (package service provider is auto-discovered, but you can publish assets):

```
php artisan vendor:publish --provider="Notigen\NotigenServiceProvider" --tag=notigen-assets
```

2. Run migrations:

```
php artisan migrate
```

3. (Optional) If your application does not auto-discover packages, add the service provider and facade to `config/app.php`:

```
'providers' => [
    // ...
    Notigen\NotigenServiceProvider::class,
],

'aliases' => [
    // ...
    'Notigen' => Notigen\Facades\Notigen::class,
]
```

Usage
-----

[](#usage)

### 1. Web Interface

[](#1-web-interface)

Access the web interface at `/notigen` to manage your notification templates:

- Create new templates with variables
- Preview templates with test data
- Manage existing templates
- Configure notification channels

### 2. Programmatic Usage

[](#2-programmatic-usage)

#### Create a Template:

[](#create-a-template)

```
use Notigen\Facades\Notigen;

$template = Notigen::createTemplate([
    'name' => 'Welcome Email',
    'template_key' => 'welcome_email', // Optional, will be auto-generated
    'content' => 'Hello {user_name}, Welcome to {app_name}!',
    'variables' => [
        ['name' => 'user_name', 'description' => "User's full name"],
        ['name' => 'app_name', 'description' => 'Application name']
    ],
    'channels' => ['mail', 'database'], // Optional, defaults to ['mail']
    'subject' => 'Welcome to {app_name}', // Optional, for email channel
    'description' => 'Template for welcome emails' // Optional
]);
```

#### Send Notifications:

[](#send-notifications)

```
// Using template key
Notigen::send('welcome_email', [
    'user_name' => 'John Doe',
    'app_name' => 'My App'
], $user); // $user is the notifiable entity

// Or using template object
$template = Notigen::getTemplate('welcome_email');
$template->send([
    'user_name' => 'John Doe',
    'app_name' => 'My App'
], $user);
```

#### Preview Content:

[](#preview-content)

```
// Preview with variables replaced
$content = Notigen::preview('welcome_email', [
    'user_name' => 'John Doe',
    'app_name' => 'My App'
]);
```

#### Template Management:

[](#template-management)

```
// Get all templates
$templates = Notigen::getAllTemplates();

// Get a specific template
$template = Notigen::getTemplate('welcome_email');

// Update a template
Notigen::updateTemplate('welcome_email', [
    'content' => 'New content with {user_name}',
    'variables' => [
        ['name' => 'user_name', 'description' => 'Updated description']
    ]
]);

// Delete a template
Notigen::deleteTemplate('welcome_email');
```

### Configuration

[](#configuration)

Configuration options in `config/notigen.php`:

```
return [
    // Default notification channels
    'default_channels' => ['mail'],

    // Route prefix for the web interface
    'route_prefix' => 'notigen',

    // Middleware for the web interface
    'middleware' => ['web', 'auth'],

    // Database table names
    'tables' => [
        'templates' => 'notification_templates',
        'variables' => 'template_variables'
    ]
];
```

Features
--------

[](#features)

- ✨ Beautiful web interface for template management
- 📝 Variable support with validation
- 📫 Multiple notification channel support
- 🔑 Automatic template key generation
- 🔒 CSRF protection and validation
- 👀 Live preview functionality
- 🚀 Easy integration with existing Laravel apps
- 🎨 Clean and intuitive UI/UX
- ♻️ Event-driven architecture

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

[](#contributing)

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security-related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Ramsheed](https://github.com/ramshi7134)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance70

Regular maintenance activity

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.1% 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 ~0 days

Total

25

Last Release

190d ago

PHP version history (3 changes)1.0.1PHP ^8.1

1.0.5PHP ^7.4|^8.0|^8.1|^8.2

v1.1.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/b21da463fb9d8f9dd62b07d3b66aedc8e1a0ea5972e2e9ea8a731e1468c386f3?d=identicon)[ramshi4785](/maintainers/ramshi4785)

---

Top Contributors

[![ramshi4785](https://avatars.githubusercontent.com/u/44085720?v=4)](https://github.com/ramshi4785 "ramshi4785 (53 commits)")[![ramshi7134](https://avatars.githubusercontent.com/u/56814173?v=4)](https://github.com/ramshi7134 "ramshi7134 (1 commits)")

---

Tags

laravelemailnotificationsslacksmstemplatewebpacks

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/webpacks-notigen/health.svg)

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

###  Alternatives

[laravel/slack-notification-channel

Slack Notification Channel for laravel.

89169.7M111](/packages/laravel-slack-notification-channel)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[brackets/admin-ui

Administration user interface template

29258.6k3](/packages/brackets-admin-ui)[yansongda/laravel-notification-wechat

Laravel Wechat Notifications Driver

831.4k](/packages/yansongda-laravel-notification-wechat)[dansmaculotte/laravel-mail-template

A mail template driver to send emails with

353.0k](/packages/dansmaculotte-laravel-mail-template)[larablocks/pigeon

A more flexible email message builder for Laravel 5 including chained methods, reusable message configurations, and message layout and template view management.

143.7k](/packages/larablocks-pigeon)

PHPackages © 2026

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