LaravelPackages.net
Acme Inc.
Toggle sidebar
morrislaptop/journal

A UI for Spatie's Laravel Event Sourcing

34.140
17
v0.2.0
About morrislaptop/journal

morrislaptop/journal is a Laravel package for a ui for spatie's laravel event sourcing. It currently has 17 GitHub stars and 34.140 downloads on Packagist (latest version v0.2.0). Install it with composer require morrislaptop/journal. Discover more Laravel packages by morrislaptop or browse all Laravel packages to compare alternatives.

Last updated

A UI for Spatie's Laravel Event Sourcing

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads


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 detail view

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

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

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 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, [
            '[email protected]',
        ]);
    });
}

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

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

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

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

Comments