PHPackages                             johannesschobel/laravel-inviteme - 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. johannesschobel/laravel-inviteme

ActiveLibrary

johannesschobel/laravel-inviteme
================================

Invite Package for Laravel

45062PHP

Since Feb 11Pushed 5y ago1 watchersCompare

[ Source](https://github.com/johannesschobel/laravel-InviteMe)[ Packagist](https://packagist.org/packages/johannesschobel/laravel-inviteme)[ RSS](/packages/johannesschobel-laravel-inviteme/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

laravel-InviteMe
================

[](#laravel-inviteme)

Provides an invitation mechanism for Laravel applications. Note that this package **does not** handle, how the invitation is sent to the user (e.g., via email).

Installation
============

[](#installation)

First, add the respective line to your composer file

```
"require" : {
   ... ,
   "johannesschobel/laravel-inviteme": "dev-master" ,
}
```

and run `composer install` to install the new component.

Then add respective `ServiceProvider` from the package to your `config/app.php` configuration file, like this:

```
'providers' => [
   ... ,
   JohannesSchobel\InviteMe\InviteMeServiceProvider::class,
],
```

Then, you simply add the provided `migration` file using the following command:

```
php artisan vendor:publish --provider="JohannesSchobel\InviteMe\InviteMeServiceProvider" --tag="migrations"
```

and then you migrate your database using

```
php artisan db:migrate
```

If you want, you can overwrite the basic configuration of this package using the following command:

```
php artisan vendor:publish --provider="JohannesSchobel\InviteMe\InviteMeServiceProvider" --tag="config"
```

This will copy the `inviteme` configuration file to your `config` folder. Using this file, you can customize the various parameters of the package. Currently, not many are available, however, I will be adding more and more ;)

Usage
=====

[](#usage)

In order to create an `Invitation` you simply create an `new InvitationManager()`. This class manages all the provided functionality.

Available Methods
-----------------

[](#available-methods)

### createInvitation

[](#createinvitation)

If you want to create an `Invitation` for a user, call this method. Respective parameters are:

```
    @param String $email the email this invitation shall be sent (not handled by this package!)
    @param integer $days amount of days this invitation will be available
    @param object $model bind this invitation to a specific model
    @param String $custom custom data for this invitation

    @return Invitation | null the created invitation
```

The main purpose, I have created this package, was that already existing Invitation packages only provides functionality to invite (new) users to the application / platform. **However**, they to not allow for inviting users to participate at a specific resource.

##### Example:

[](#example)

As an editor, working on a `Dcoument`, I would like to invite other `User`s to participate working on my document. Therefore, I would create an `Invitation` using the following code:

```
// the document I would like to invite other users to.
$document = Document::find(1);

// get the user that shall be invited
$user = User::find(1);

$im = new InvitationManager();
$invitation = $im->createInvitation(
    $user->email,   // the email this invitation shall be sent to
    10,             // the invitation shall be available for 10 days (optional)
    $document,      // the document this user shall be invited to (optional)
    null            // additional information (optional)
);

// now do whatever you like with this invitation
// this invitation is now bound to this specific resource $document
```

All other methods are quite self-explaining, but I will add docs for them later on, as I continue working on this package.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

 Bus Factor1

Top contributor holds 75% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/554f30f3c24b34c1961da6f12c0e2cfec6436e1c6dd6b8092669a7138086d770?d=identicon)[johannesschobel@googlemail.com](/maintainers/johannesschobel@googlemail.com)

---

Top Contributors

[![johannesschobel](https://avatars.githubusercontent.com/u/9431350?v=4)](https://github.com/johannesschobel "johannesschobel (3 commits)")[![rob-k](https://avatars.githubusercontent.com/u/3353474?v=4)](https://github.com/rob-k "rob-k (1 commits)")

### Embed Badge

![Health badge](/badges/johannesschobel-laravel-inviteme/health.svg)

```
[![Health](https://phpackages.com/badges/johannesschobel-laravel-inviteme/health.svg)](https://phpackages.com/packages/johannesschobel-laravel-inviteme)
```

PHPackages © 2026

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