PHPackages                             tpojka/confer - 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. tpojka/confer

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

tpojka/confer
=============

Easy chat system for laravel-based sites

v0.9.4(2mo ago)037MITPHPPHP &gt;=8.2

Since Dec 17Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/Tpojka/confer)[ Packagist](https://packagist.org/packages/tpojka/confer)[ RSS](/packages/tpojka-confer/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (4)Versions (41)Used By (0)

*Prologue*

Package uses abandoned  as base point.

Confer
======

[](#confer)

Add a real-time chat system to your Laravel website/application in a few lines of code.

Demo
====

[](#demo)

The demo is currently unavailable as the project is being upgraded.

Requirements
============

[](#requirements)

The project currently requires Pusher (php-server and javascript) to allow real-time chat messaging. Service is recommended if you need to do real-time messaging - it's fast, reliable and very easy to implement in your projects.

You can create a free sandbox account at [pusher.com](https://www.pusher.com) which lets you have 1,000,000 messages a day (or 200,000 depending on your plan) and 100 concurrent connections for free. If you need higher limits they offer paid accounts at pretty decent prices.

Other requirements:

- moment.js (it makes updating the chat timestamps so much easier)
- jQuery
- Font Awesome 6

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

[](#installation)

Require the package via composer: `composer require tpojka/confer`

Publish the assets: `php artisan vendor:publish`

Add the service provider `Tpojka\Confer\ConferServiceProvider::class` to your `bootstrap/providers.php` if needed (standard for Laravel 11+) or `config/app.php` (for older versions).

Add the seed to your database seed caller (typically `database/seeds/DatabaseSeeder.php` or `database/seeders/DatabaseSeeder.php`):

```
class DatabaseSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // $this->call(ConferSeeder::class); // Laravel 7+ style
        $this->call('ConferSeeder');
    }
}
```

Migrate your database with the seeds in tow: `php artisan migrate --seed`

Add the trait to your User model:

```
use Tpojka\Confer\Traits\CanConfer;

class User extends Authenticatable {

  use CanConfer;

}
```

Link to the css file, and import the view partials in whichever pages you wish to have the chat on, or put it in your app/master file (if you are using one) to show on all pages.

**Note: The JS partial must be wrapped in an `@auth` check since it requires a logged-in user.**

```

@auth
    @include('confer::confer')
@endauth

@auth
    @include('confer::js')
@endauth
```

Configuration
=============

[](#configuration)

There are a number of options in the confer.php config file which are quite self explanatory, but in short you can:

- Provide a company avatar (this is the image that will show as your global chat icon should you...)
- Allow global chat - have a free-for-all open chat, or don't... it's up to you
- Specify a different loader to the one used (default is a sweet looking .svg by [Sam Herbert](http://samherbert.net/svg-loaders/))
- Change the directory where avatars are stored
- Enable some serious grammar enforcing (currently capitals at start of sentences, and refusal to allow the use of numbers between 0-9 without converting them to their word format)

The avatar, loader and company avatar are all relative to your app's /public dir.

Your Pusher app details are not configured in the config file provided, they are instead expected to be provided in your `config/broadcasting.php` file (standard Laravel broadcasting configuration).

Upgrade to Laravel 12.0
-----------------------

[](#upgrade-to-laravel-120)

Version 12.0 of the package supports Laravel 12.0 and above.

- Minimum PHP requirement: `>=8.2`
- Dependencies: `illuminate/support: ^12.0`, `pusher/pusher-php-server: ^7.2`

Upgrade to Laravel 11.0
-----------------------

[](#upgrade-to-laravel-110)

Version 11.0 of the package supports Laravel 11.0 and above.

- Minimum PHP requirement: `>=8.2`
- Dependencies: `illuminate/support: ^11.0`, `pusher/pusher-php-server: ^7.2`

Upgrade to Laravel 10.0
-----------------------

[](#upgrade-to-laravel-100)

Version 10.0 of the package supports Laravel 10.0 and above.

- Minimum PHP requirement: `>=8.1`
- Dependencies: `illuminate/support: ^10.0`, `pusher/pusher-php-server: ^7.2`

Upgrade to Laravel 9.0
----------------------

[](#upgrade-to-laravel-90)

Version 9.0 of the package supports Laravel 9.0 and above.

- Minimum PHP requirement: `>=8.0`
- Dependencies: `illuminate/support: ^9.0`, `pusher/pusher-php-server: ^4.0`

Upgrade to Laravel 8.0
----------------------

[](#upgrade-to-laravel-80)

Version 8.0 of the package supports Laravel 8.0 and above.

- Minimum PHP requirement: `>=7.3`
- Dependencies: `illuminate/support: ^8.0`, `pusher/pusher-php-server: ^4.0`

Assumptions of the package
==========================

[](#assumptions-of-the-package)

The package assumes you have a User model in the App namespace, and that this model has a `name` attribute (hey, if you don't have one already, why not create one with a custom getter?) and an `avatar` attribute - which is simply the filename of the avatar image file (for example `avatar-dan.jpg`) which will be appended to your avatar\_dir provided in the config file of the package to find your avatar.

Optionals
=========

[](#optionals)

There is an optional facebook messages type bar, which you can include in your project if you'd like that functionality.

Simply put the following inside a suitable containing element (like a dropdown li):

```
@auth
    @include('confer::barconversationlist')
@endauth
```

If you are using bootstrap this is what I have my bar view inside:

```

      @auth
          @include('confer::barconversationlist')
      @endauth

```

Potential updates
=================

[](#potential-updates)

Likely updates include adding mentions, sounds and changing conversation names after the initial setup.

What would you like to see?

Closing
=======

[](#closing)

If you use this package in your project it would mean the absolute world to me if you let me know! This is my first package, and my first piece of code shared so really... it's close to me. That said please feel free to contribute to the project - I think it has a solid foundation for expansion.

###  Health Score

48

—

FairBetter than 95% of packages

Maintenance84

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 58.2% 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 ~79 days

Recently: every ~0 days

Total

39

Last Release

83d ago

Major Versions

v0.8.1 → v11.1.x-dev2026-02-23

v0.7.2 → v10.1.x-dev2026-02-23

v0.6.1 → v8.1.x-dev2026-02-24

v0.4.3 → v7.1.x-dev2026-02-24

v0.9.4 → v12.2.2.x-dev2026-02-24

PHP version history (9 changes)v0.2.0PHP &gt;=7.1.2

v0.4.1PHP &gt;=7.2.5

v8.0.x-devPHP &gt;=7.3

v0.6.0PHP &gt;=8.0

v0.7.0PHP &gt;=8.1

v0.8.0PHP &gt;=8.2

v9.1.x-devPHP &gt;=8.0.2

v8.1.x-devPHP &gt;=7.3.0

v6.1.x-devPHP ^7.2.5|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/5d858d3069e8b44fe343a876fc51a966946d6938103af337a65e5d34f803dbd0?d=identicon)[Tpojka](/maintainers/Tpojka)

---

Top Contributors

[![Tpojka](https://avatars.githubusercontent.com/u/1076191?v=4)](https://github.com/Tpojka "Tpojka (53 commits)")[![dazzz1er](https://avatars.githubusercontent.com/u/6876139?v=4)](https://github.com/dazzz1er "dazzz1er (37 commits)")[![nicoqh](https://avatars.githubusercontent.com/u/3981388?v=4)](https://github.com/nicoqh "nicoqh (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tpojka-confer/health.svg)

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

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[illuminate/pipeline

The Illuminate Pipeline package.

9346.6M213](/packages/illuminate-pipeline)[illuminate/pagination

The Illuminate Pagination package.

10532.5M862](/packages/illuminate-pagination)[spatie/laravel-pjax

A pjax middleware for Laravel 5

513371.8k11](/packages/spatie-laravel-pjax)[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169176.0k2](/packages/spatie-laravel-mix-preload)[mrmarchone/laravel-auto-crud

Laravel Auto CRUD helps you streamline development and save time.

28711.8k2](/packages/mrmarchone-laravel-auto-crud)

PHPackages © 2026

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