PHPackages                             laravel-enso/core - 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. [Framework](/categories/framework)
4. /
5. laravel-enso/core

ActiveLibrary[Framework](/categories/framework)

laravel-enso/core
=================

The backend shell of a Laravel Enso application

12.2.22(3mo ago)3465.8k—0.5%2220MITPHPPHP ^8.3

Since Mar 23Pushed 3mo ago7 watchersCompare

[ Source](https://github.com/laravel-enso/core)[ Packagist](https://packagist.org/packages/laravel-enso/core)[ Docs](https://github.com/laravel-enso/Core)[ RSS](/packages/laravel-enso-core/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (3)Dependencies (87)Versions (916)Used By (20)

Core
====

[](#core)

[![License](https://camo.githubusercontent.com/539d72579efa85b0d30b40953575643921904e9244c7b3d1b9c8707d29d9c6fa/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d656e736f2f636f72652f6c6963656e7365)](LICENSE)[![Stable](https://camo.githubusercontent.com/f7b83de0ef6aaabbf0bb5ac050add014438a3e5ad459618aa3741fdc5ca61c3b/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d656e736f2f636f72652f76657273696f6e)](https://packagist.org/packages/laravel-enso/core)[![Downloads](https://camo.githubusercontent.com/5ef8909d38ab74701bbf6814ea91cd7d38cb9016f87c112c79e46a26b757b7d5/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d656e736f2f636f72652f646f776e6c6f616473)](https://packagist.org/packages/laravel-enso/core)[![PHP](https://camo.githubusercontent.com/76d2504e4f304c14866dd7295641dd6812652d93a1848a27fc8e2a08d6732731/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e332532422d3737376262342e737667)](composer.json)[![Issues](https://camo.githubusercontent.com/a7a4776b20c8c98c23c85c303a02abf0ee5fe169fe1a963d46404d0a7d8e9b06/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6c61726176656c2d656e736f2f636f72652e737667)](https://github.com/laravel-enso/core/issues)[![Merge Requests](https://camo.githubusercontent.com/f0df28e5d5a27e57d7f3d907103cb99b4eac4e80e5d3e6d67664012935507c34/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6c61726176656c2d656e736f2f636f72652e737667)](https://github.com/laravel-enso/core/pulls)

Description
-----------

[](#description)

Core is the backend shell of a Laravel Enso application.

It aggregates the packages required for a standard Enso installation, registers the framework-level service providers and middleware stack, exposes the base authentication and SPA endpoints, builds the frontend boot state, manages user preferences, publishes shared assets, registers core mail previews, and provides a handful of operational commands used across Enso projects.

It is the package that turns the rest of the Enso ecosystem into a coherent application runtime.

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

[](#installation)

This package is intended to be installed as the main backend dependency of an Enso application:

```
composer require laravel-enso/core
```

After installation, run the standard setup steps:

```
php artisan migrate
php artisan db:seed
```

If you want to publish the package resources, the relevant tags are:

```
php artisan vendor:publish --tag=core-config
php artisan vendor:publish --tag=core-seeders
php artisan vendor:publish --tag=core-assets
```

The package automatically:

- loads API routes
- loads migrations
- loads core mail views
- registers core mail previews through `laravel-enso/mails`
- registers Enso service providers
- configures the Eloquent factory resolver for package models

Features
--------

[](#features)

- Provides the base Enso API shell, including guest meta, SPA home state, auth routes, and preferences routes.
- Provides a read-only `System > Logins` table for login history, with user and datetime interval filtering.
- Registers the `core` middleware group used by authenticated Enso routes.
- Configures password policy defaults from `enso.auth.password`.
- Builds the SPA boot state from state providers discovered across Enso packages.
- Persists per-user global and route-level preferences.
- Publishes shared image assets.
- Requires `laravel-enso/mails` for shared mail layouts, components, and preview registration.
- Registers reset and set password mail notifications and previews in the shared Enso mail preview catalog through a dedicated `MailServiceProvider`.
- Registers operational commands for version reporting, storage resets, preference resets, preference upgrades, and app-update notifications.
- Integrates login tracking, password reset flows, websocket support, route authorization, localisation, impersonation, and action logging through the wider Enso stack.

Usage
-----

[](#usage)

The package exposes the guest meta endpoint:

```
route('meta');
```

Authenticated clients bootstrap the SPA state through:

```
route('core.home.index');
```

Preferences can be updated per route or globally through:

```
route('core.preferences.store', ['route' => 'administration.users.index']);
route('core.preferences.reset');
```

Useful built-in commands:

```
php artisan enso:version
php artisan enso:preferences:reset
php artisan enso:preferences:update-global
php artisan enso:storage:reset
php artisan enso:announce-app-update
```

The frontend counterpart for the API shell and shared UI runtime lives in the Enso UI package:

- [`@enso-ui/ui`](https://github.com/enso-ui/ui) [↗](https://github.com/enso-ui/ui)

::: warning Note `core.home.index` does not return a Blade page. It returns the merged state payload produced by the Enso state builder, grouped by frontend store. :::

API
---

[](#api)

### Routes

[](#routes)

Guest / auth endpoints:

- `GET /api/meta`
- `POST /api/login`
- `POST /api/password/email`
- `POST /api/password/reset`
- `POST /api/logout`

Authenticated core endpoints:

- `GET /api/core/home`
- `PATCH /api/core/preferences/store/{route?}`
- `POST /api/core/preferences/reset/{route?}`

Authenticated system login table endpoints:

- `GET /api/system/logins/initTable`
- `GET /api/system/logins/tableData`
- `GET /api/system/logins/exportExcel`

### Middleware

[](#middleware)

Aliases:

- `verify-active-state`
- `xss-sanitizer`
- `ensure-frontent-requests-are-stateful`

`core` middleware group:

- `VerifyActiveState`
- `ActionLogger`
- `Impersonate`
- `VerifyRouteAccess`
- `SetLanguage`

### State System

[](#state-system)

State is built through:

- `LaravelEnso\Core\Services\State\Builder`
- `LaravelEnso\Core\Services\State\Source`

It scans configured vendors from:

- `config('enso.state.vendors')`

Built-in state providers include:

- `Meta`
- `Preferences`
- `Themes`
- `Websockets`

### Preferences

[](#preferences)

Model:

- `LaravelEnso\Core\Models\Preferences`

Capabilities:

- route-level local preferences
- global preferences
- theme updates
- language updates
- reset to factory defaults

### Commands

[](#commands)

- `enso:version` (works with a github token, if neccesary)
- `enso:preferences:reset`
- `enso:preferences:update-global`
- `enso:storage:reset`
- `enso:announce-app-update`

### Events and Notifications

[](#events-and-notifications)

Events:

- `LaravelEnso\Core\Events\Login`
- `LaravelEnso\Core\Events\AppUpdate`

Notifications:

- `PasswordExpiresSoon`
- `ResetPassword`
- `SetPassword`

Password helpers on the user model:

- `sendResetPasswordEmail()`
- `sendSetPasswordEmail()`

### Login History

[](#login-history)

Model:

- `LaravelEnso\Core\Models\Login`

The package records successful logins and exposes them through the `system.logins` Enso table. The table includes user, IP, user agent, and login datetime columns. Login history is read-only and supports filtering by user and by `created_at` interval.

Upgrade support:

- `LaravelEnso\Core\Upgrades\LoginCreatedAtIndex` adds the `logins.created_at` index for existing installations.

Depends On
----------

[](#depends-on)

Required Enso packages:

- [`laravel-enso/action-logger`](https://docs.laravel-enso.com/backend/action-logger.html) [↗](https://github.com/laravel-enso/action-logger)
- [`laravel-enso/charts`](https://docs.laravel-enso.com/backend/charts.html) [↗](https://github.com/laravel-enso/charts)
- [`laravel-enso/countries`](https://docs.laravel-enso.com/backend/countries.html) [↗](https://github.com/laravel-enso/countries)
- [`laravel-enso/data-export`](https://docs.laravel-enso.com/backend/data-export.html) [↗](https://github.com/laravel-enso/data-export)
- [`laravel-enso/helpers`](https://docs.laravel-enso.com/backend/helpers.html) [↗](https://github.com/laravel-enso/helpers)
- [`laravel-enso/impersonate`](https://docs.laravel-enso.com/backend/impersonate.html) [↗](https://github.com/laravel-enso/impersonate)
- [`laravel-enso/localisation`](https://docs.laravel-enso.com/backend/localisation.html) [↗](https://github.com/laravel-enso/localisation)
- [`laravel-enso/logs`](https://docs.laravel-enso.com/backend/logs.html) [↗](https://github.com/laravel-enso/logs)
- [`laravel-enso/menus`](https://docs.laravel-enso.com/backend/menus.html) [↗](https://github.com/laravel-enso/menus)
- [`laravel-enso/migrator`](https://docs.laravel-enso.com/backend/migrator.html) [↗](https://github.com/laravel-enso/migrator)
- [`laravel-enso/notifications`](https://docs.laravel-enso.com/backend/notifications.html) [↗](https://github.com/laravel-enso/notifications)
- [`laravel-enso/permissions`](https://docs.laravel-enso.com/backend/permissions.html) [↗](https://github.com/laravel-enso/permissions)
- [`laravel-enso/rememberable`](https://docs.laravel-enso.com/backend/rememberable.html) [↗](https://github.com/laravel-enso/rememberable)
- [`laravel-enso/roles`](https://docs.laravel-enso.com/backend/roles.html) [↗](https://github.com/laravel-enso/roles)
- [`laravel-enso/sentry`](https://docs.laravel-enso.com/backend/sentry.html) [↗](https://github.com/laravel-enso/sentry)
- [`laravel-enso/tables`](https://docs.laravel-enso.com/backend/tables.html) [↗](https://github.com/laravel-enso/tables)
- [`laravel-enso/upgrade`](https://docs.laravel-enso.com/backend/upgrade.html) [↗](https://github.com/laravel-enso/upgrade)
- [`laravel-enso/user-groups`](https://docs.laravel-enso.com/backend/user-groups.html) [↗](https://github.com/laravel-enso/user-groups)
- [`laravel-enso/users`](https://docs.laravel-enso.com/backend/users.html) [↗](https://github.com/laravel-enso/users)

Framework and external dependencies:

- [`laravel/framework`](https://github.com/laravel/framework) [↗](https://github.com/laravel/framework)
- [`laravel/sanctum`](https://github.com/laravel/sanctum) [↗](https://github.com/laravel/sanctum)
- [`jenssegers/agent`](https://github.com/jenssegers/agent) [↗](https://github.com/jenssegers/agent)

Contributions
-------------

[](#contributions)

are welcome. Pull requests are great, but issues are good too.

Thank you to all the people who already contributed to Enso!

###  Health Score

69

—

FairBetter than 100% of packages

Maintenance82

Actively maintained with recent releases

Popularity42

Moderate usage in the ecosystem

Community44

Growing community involvement

Maturity98

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 75.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 ~4 days

Total

880

Last Release

91d ago

Major Versions

8.0.9 → 9.0.02024-01-09

9.0.4 → 10.0.02024-10-07

10.0.3 → 11.0.02025-08-01

10.1.1 → 11.1.12026-03-10

11.1.1 → 12.0.02026-04-09

PHP version history (6 changes)1.0.3PHP &gt;=5.6.4

1.1.18PHP &gt;=7.1.0

4.7.0PHP &gt;=7.4.0

7.0PHP &gt;=8.0

10.0.0PHP ^8.2

12.0.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/16073274?v=4)[Adrian Ocneanu](/maintainers/aocneanu)[@aocneanu](https://github.com/aocneanu)

---

Top Contributors

[![aocneanu](https://avatars.githubusercontent.com/u/16073274?v=4)](https://github.com/aocneanu "aocneanu (1152 commits)")[![gandesc](https://avatars.githubusercontent.com/u/14071925?v=4)](https://github.com/gandesc "gandesc (172 commits)")[![raftx24](https://avatars.githubusercontent.com/u/10864136?v=4)](https://github.com/raftx24 "raftx24 (87 commits)")[![vmcvlad](https://avatars.githubusercontent.com/u/37445394?v=4)](https://github.com/vmcvlad "vmcvlad (50 commits)")[![jlsjonas](https://avatars.githubusercontent.com/u/932193?v=4)](https://github.com/jlsjonas "jlsjonas (16 commits)")[![DevIonut](https://avatars.githubusercontent.com/u/19207797?v=4)](https://github.com/DevIonut "DevIonut (12 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (7 commits)")[![GITmanuela](https://avatars.githubusercontent.com/u/44998004?v=4)](https://github.com/GITmanuela "GITmanuela (6 commits)")[![jpractice](https://avatars.githubusercontent.com/u/35538605?v=4)](https://github.com/jpractice "jpractice (5 commits)")[![mauthi](https://avatars.githubusercontent.com/u/7204559?v=4)](https://github.com/mauthi "mauthi (4 commits)")[![AbdullahiAbdulkabir](https://avatars.githubusercontent.com/u/33360580?v=4)](https://github.com/AbdullahiAbdulkabir "AbdullahiAbdulkabir (3 commits)")[![neomobil](https://avatars.githubusercontent.com/u/187594?v=4)](https://github.com/neomobil "neomobil (3 commits)")[![guastallaigor](https://avatars.githubusercontent.com/u/22016005?v=4)](https://github.com/guastallaigor "guastallaigor (2 commits)")[![cosimolemma](https://avatars.githubusercontent.com/u/25321069?v=4)](https://github.com/cosimolemma "cosimolemma (2 commits)")[![robbykrlos](https://avatars.githubusercontent.com/u/16973022?v=4)](https://github.com/robbykrlos "robbykrlos (1 commits)")[![stmitt](https://avatars.githubusercontent.com/u/1466567?v=4)](https://github.com/stmitt "stmitt (1 commits)")[![chimpanze](https://avatars.githubusercontent.com/u/139661?v=4)](https://github.com/chimpanze "chimpanze (1 commits)")[![nnnms](https://avatars.githubusercontent.com/u/1654667?v=4)](https://github.com/nnnms "nnnms (1 commits)")

---

Tags

enso-corelaravellaravel-ensolaravel-packagelaravel-ensovue-bulmavue-spalaravel-boilerplateenso-coreenso-aggregator

### Embed Badge

![Health badge](/badges/laravel-enso-core/health.svg)

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

###  Alternatives

[laravel-enso/data-import

Excel Importer dependency for Laravel Enso

2044.4k6](/packages/laravel-enso-data-import)[laravel-enso/localisation

Language and translation management for Laravel Enso

1363.3k12](/packages/laravel-enso-localisation)[laravel-enso/roles

Role management for Laravel Enso

1045.4k34](/packages/laravel-enso-roles)[laravel-enso/permissions

Permission management for Laravel Enso

1244.7k57](/packages/laravel-enso-permissions)[laravel-enso/tutorials

Tutorial management backend for Laravel Enso

1141.0k](/packages/laravel-enso-tutorials)

PHPackages © 2026

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