PHPackages                             morrislaptop/journal - 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. morrislaptop/journal

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

morrislaptop/journal
====================

A UI for Spatie's Laravel Event Sourcing

v0.2.0(4y ago)1734.1k2MITPHPPHP ^8.0

Since Nov 6Pushed 4y ago1 watchersCompare

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

READMEChangelog (4)Dependencies (18)Versions (5)Used By (0)

A UI for Spatie's Laravel Event Sourcing
========================================

[](#a-ui-for-spaties-laravel-event-sourcing)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4ce1002ffe0080d20a1766b1c640b31fd3ad6eb3effd8b556813e14a8141b963/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f727269736c6170746f702f6a6f75726e616c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/morrislaptop/journal)[![GitHub Tests Action Status](https://camo.githubusercontent.com/b621df13ff609b195c981b0058543457d92a262cd9f38898aedeb374b310d272/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6d6f727269736c6170746f702f6a6f75726e616c2f72756e2d74657374733f6c6162656c3d7465737473)](https://github.com/morrislaptop/journal/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/1a05f3442202a1350507a97d8c6aa5b3579bc4cdae529de3efdd3c8c59cd9ac3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6d6f727269736c6170746f702f6a6f75726e616c2f436865636b253230262532306669782532307374796c696e673f6c6162656c3d636f64652532307374796c65)](https://github.com/morrislaptop/journal/actions?query=workflow%3A%22Check+%26+fix+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/2f5c76951b064225cd0e797f9ce5171f53bcb2a05d99d3495c41ab9b801af9cd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f727269736c6170746f702f6a6f75726e616c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/morrislaptop/journal)

---

Journal makes a wonderful companion to your local Laravel Event Sourcing development environment. Journal provides insight into the events coming into your application.

[![index view](index.png)](index.png)[![detail view](detail.png)](detail.png)

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

[](#installation)

You can install the package via composer:

```
composer require morrislaptop/journal
```

After installing Journal, publish its assets using the `journal:install` Artisan command.

```
php artisan journal:install
```

### Local Only Installation

[](#local-only-installation)

If you plan to only use Journal to assist your local development, you may install Journal using the `--dev` flag:

```
composer require morrislaptop/journal --dev
php artisan vendor:publish --provider="Morrislaptop\Journal\JournalServiceProvider" --tag="journal-config"

```

### Dashboard Authorization

[](#dashboard-authorization)

The Journal dashboard may be accessed at the `/journal` route. By default, you will only be able to access this dashboard in the `local` environment. Within your `app/Providers/JournalServiceProvider.php` file, there is an [authorization gate](https://laravel.com/docs/8.x/authorization#gates) definition. This authorization gate controls access to Journal in **non-local** environments. You are free to modify this gate as needed to restrict access to your Journal installation:

```
/**
 * Register the Journal gate.
 *
 * This gate determines who can access Journal in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewJournal', function ($user) {
        return in_array($user->email, [
            'cr@igmorr.is',
        ]);
    });
}

```

> You should ensure you change your `APP_ENV` environment variable to `production` in your production environment. Otherwise, your Journal installation will be publicly available.

#### Alternative Authentication Strategies

[](#alternative-authentication-strategies)

Remember that Laravel automatically injects the authenticated user into the gate closure. If your application is providing Journal security via another method, such as IP restrictions, then your Journal users may not need to "login". Therefore, you will need to change `function ($user)` closure signature above to `function ($user = null)` in order to force Laravel to not require authentication.

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

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

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

[](#contributing)

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

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

[](#security-vulnerabilities)

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

Credits
-------

[](#credits)

- [Craig Morris](https://github.com/morrislaptop)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.5% 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 ~27 days

Total

4

Last Release

1567d ago

### Community

Maintainers

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

---

Top Contributors

[![morrislaptop](https://avatars.githubusercontent.com/u/67807?v=4)](https://github.com/morrislaptop "morrislaptop (21 commits)")[![erikgaal](https://avatars.githubusercontent.com/u/1234268?v=4)](https://github.com/erikgaal "erikgaal (1 commits)")

---

Tags

laraveljournalmorrislaptop

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/morrislaptop-journal/health.svg)

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

###  Alternatives

[leandrocfe/filament-apex-charts

Apex Charts integration for Filament PHP.

4861.2M8](/packages/leandrocfe-filament-apex-charts)[spatie/laravel-livewire-wizard

Build wizards using Livewire

4061.0M4](/packages/spatie-laravel-livewire-wizard)[ralphjsmit/livewire-urls

Get the previous and current url in Livewire.

82270.3k4](/packages/ralphjsmit-livewire-urls)[worksome/exchange

Check Exchange Rates for any currency in Laravel.

123544.7k](/packages/worksome-exchange)[a2insights/filament-saas

Filament Saas for A2Insights

161.1k](/packages/a2insights-filament-saas)[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)
