PHPackages                             sfolador/support - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. sfolador/support

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

sfolador/support
================

This package helps you to create a support page and manage the support requests on Laravel.

v1.1.0(1mo ago)1761[1 PRs](https://github.com/sfolador/support/pulls)MITPHPPHP ^8.3|^8.4CI passing

Since Dec 30Pushed 1mo agoCompare

[ Source](https://github.com/sfolador/support)[ Packagist](https://packagist.org/packages/sfolador/support)[ Docs](https://github.com/sfolador/support)[ GitHub Sponsors]()[ RSS](/packages/sfolador-support/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (24)Versions (5)Used By (0)

Laravel Support Page
====================

[](#laravel-support-page)

[![Latest Version on Packagist](https://camo.githubusercontent.com/80d74305ca4b9b6887568ebd326f638865c83e85250ee531befa36a9ae4b2e37/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73666f6c61646f722f737570706f72742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sfolador/support)[![GitHub Tests Action Status](https://camo.githubusercontent.com/fe654000645c8c7ff7e0db7a18dcdb6bf24bb5f0951a9152043d4c38c83397b7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73666f6c61646f722f737570706f72742f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/sfolador/support/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/23689c5fe11dc57117530a644d94d469b110d97cb3c17a85015f23a57248cc59/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73666f6c61646f722f737570706f72742f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/sfolador/support/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/63391c434eaf3579a1ec3c6d41b0c8db771cb4266c624bd666441d66309dfa49/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73666f6c61646f722f737570706f72742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sfolador/support)

A Laravel package that provides a ready-to-use support page with a contact form, email notifications, and optional Filament admin panel integration.

Features
--------

[](#features)

- Beautiful, responsive support form with Tailwind CSS styling
- Email notifications for new support requests
- Optional Google reCAPTCHA v2 protection
- Customizable support request types
- Translatable (i18n support)
- Optional Filament admin panel integration
- Fully configurable routes, middleware, and layout

Requirements
------------

[](#requirements)

- PHP 8.3 or higher
- Laravel 11.x, 12.x, or 13.x

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

[](#installation)

Install the package via Composer:

```
composer require sfolador/support
```

Publish and run the migrations:

```
php artisan vendor:publish --tag="support-migrations"
php artisan migrate
```

Publish the config file:

```
php artisan vendor:publish --tag="support-config"
```

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

[](#configuration)

After publishing, the configuration file will be located at `config/support.php`:

```
return [
    /*
    |--------------------------------------------------------------------------
    | Support Email
    |--------------------------------------------------------------------------
    |
    | The email address where support requests will be sent.
    |
    */
    'support_email' => env('SUPPORT_EMAIL'),

    /*
    |--------------------------------------------------------------------------
    | Support Types
    |--------------------------------------------------------------------------
    |
    | The types of support requests that users can submit.
    | The key is stored in the database, the value is displayed to the user.
    |
    */
    'support_types' => [
        'issue' => 'Technical Issue',
        'email' => 'Email Support',
        'data_removal' => 'Data Removal Request',
        'inquiry' => 'General Inquiry',
    ],

    /*
    |--------------------------------------------------------------------------
    | reCAPTCHA Configuration
    |--------------------------------------------------------------------------
    |
    | Enable or disable reCAPTCHA for the support form.
    | If enabled, you must provide your site key and secret key.
    |
    */
    'recaptcha' => [
        'enabled' => env('SUPPORT_RECAPTCHA_ENABLED', false),
        'site_key' => env('SUPPORT_RECAPTCHA_SITE_KEY'),
        'secret_key' => env('SUPPORT_RECAPTCHA_SECRET_KEY'),
    ],

    /*
    |--------------------------------------------------------------------------
    | Routes Configuration
    |--------------------------------------------------------------------------
    |
    | Configure the middleware and route prefix for the support page.
    |
    */
    'middleware' => ['web'],
    'route_prefix' => 'support',

    /*
    |--------------------------------------------------------------------------
    | Layout Configuration
    |--------------------------------------------------------------------------
    |
    | The layout that the support page should extend.
    | Use 'support::layouts.app' for the default layout,
    | or specify your own (e.g., 'layouts.app').
    |
    */
    'layout' => 'support::layouts.app',

    /*
    |--------------------------------------------------------------------------
    | Page Title
    |--------------------------------------------------------------------------
    |
    | The title displayed on the support page.
    |
    */
    'page_title' => 'Contact Support',
];
```

### Environment Variables

[](#environment-variables)

Add these variables to your `.env` file:

```
# Required: Email address to receive support requests
SUPPORT_EMAIL=support@yourdomain.com

# Optional: Enable reCAPTCHA protection
SUPPORT_RECAPTCHA_ENABLED=true
SUPPORT_RECAPTCHA_SITE_KEY=your-site-key
SUPPORT_RECAPTCHA_SECRET_KEY=your-secret-key
```

Usage
-----

[](#usage)

Once installed, the support page is available at `/support` (or your configured `route_prefix`).

### Routes

[](#routes)

The package registers two routes:

MethodURINameDescriptionGET/supportsupportDisplay the support formPOST/supportsupport.storeSubmit a support request### Using Your Own Layout

[](#using-your-own-layout)

By default, the package uses a minimal standalone layout. To use your application's layout:

1. Update `config/support.php`:

```
'layout' => 'layouts.app', // Your layout file
```

2. Make sure your layout has the following sections:
    - `@yield('title')` - Page title
    - `@yield('scripts')` - For reCAPTCHA script (if enabled)
    - `@yield('content')` - Main content

### Customizing Views

[](#customizing-views)

Publish the views to customize them:

```
php artisan vendor:publish --tag="support-views"
```

The views will be published to `resources/views/vendor/support/`.

### Customizing Translations

[](#customizing-translations)

Publish the translation files:

```
php artisan vendor:publish --tag="support-translations"
```

The translations will be published to `lang/vendor/support/`.

### Custom Support Types

[](#custom-support-types)

Modify the `support_types` array in the config to add or change support request types:

```
'support_types' => [
    'bug' => 'Bug Report',
    'feature' => 'Feature Request',
    'billing' => 'Billing Question',
    'other' => 'Other',
],
```

Filament Integration
--------------------

[](#filament-integration)

If you're using [Filament](https://filamentphp.com/), this package provides a ready-to-use admin panel for managing support requests.

### Setup

[](#setup)

Register the plugin in your `AdminPanelProvider`:

```
use Sfolador\Support\Filament\SupportPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            SupportPlugin::make(),
        ]);
}
```

This adds a "Support Requests" resource to your admin panel where you can:

- View all support requests
- Filter by support type
- View individual request details
- Delete requests

Database
--------

[](#database)

The package creates a `support_requests` table with the following structure:

ColumnTypeDescriptionidbigintPrimary keynamestringRequester's nameemailstringRequester's emailsupport\_typestringType of support requestcontenttextRequest detailscreated\_attimestampCreation timestampupdated\_attimestampUpdate timestamp### Accessing Support Requests

[](#accessing-support-requests)

You can query support requests using the `SupportRequest` model:

```
use Sfolador\Support\Models\SupportRequest;

// Get all requests
$requests = SupportRequest::all();

// Get requests by type
$issues = SupportRequest::where('support_type', 'issue')->get();

// Get recent requests
$recent = SupportRequest::latest()->take(10)->get();
```

Email Notifications
-------------------

[](#email-notifications)

When a support request is submitted, an email notification is sent to the configured `support_email` address. The email includes:

- Requester's name
- Requester's email
- Support type
- Request content

Make sure your Laravel mail configuration is properly set up.

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

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

[](#contributing)

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

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Simone Folador](https://github.com/sfolador)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance89

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 82.4% 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 ~85 days

Total

2

Last Release

54d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/54c6b8884e3bd4e86d26de024ca07094728adc7db2a8a483538222121b00f9f1?d=identicon)[sfolador](/maintainers/sfolador)

---

Top Contributors

[![sfolador](https://avatars.githubusercontent.com/u/36632?v=4)](https://github.com/sfolador "sfolador (14 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

laravelsupportSimone Folador

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/sfolador-support/health.svg)

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

###  Alternatives

[spatie/laravel-data

Create unified resources and data transfer objects

1.8k28.9M627](/packages/spatie-laravel-data)[spatie/laravel-livewire-wizard

Build wizards using Livewire

4061.0M4](/packages/spatie-laravel-livewire-wizard)[hirethunk/verbs

An event sourcing package that feels nice.

513162.9k6](/packages/hirethunk-verbs)[worksome/exchange

Check Exchange Rates for any currency in Laravel.

123544.7k](/packages/worksome-exchange)[ralphjsmit/livewire-urls

Get the previous and current url in Livewire.

82270.3k4](/packages/ralphjsmit-livewire-urls)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

6292.3k1](/packages/hydrat-filament-table-layout-toggle)

PHPackages © 2026

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