PHPackages                             robsontenorio/lighthouse-dashboard - 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. [API Development](/categories/api)
4. /
5. robsontenorio/lighthouse-dashboard

AbandonedArchivedLibrary[API Development](/categories/api)

robsontenorio/lighthouse-dashboard
==================================

Dashboard for Laravel Lighthouse GraphQL.

0.20.2(3y ago)171.3k3[1 issues](https://github.com/robsontenorio/lighthouse-dashboard/issues)MITPHP

Since Sep 24Pushed 3y ago1 watchersCompare

[ Source](https://github.com/robsontenorio/lighthouse-dashboard)[ Packagist](https://packagist.org/packages/robsontenorio/lighthouse-dashboard)[ Docs](https://github.com/robsontenorio/lighthouse-dashboard)[ RSS](/packages/robsontenorio-lighthouse-dashboard/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (9)Versions (18)Used By (0)

 [![](dashboard.png)](dashboard.png)

 [![](https://camo.githubusercontent.com/6bb69d8e9684799a4bd6e08ee9d7482cd8eaf9f2930cbe21811a9aa3bd836eb2/68747470733a2f2f636f6465636f762e696f2f67682f726f62736f6e74656e6f72696f2f6c69676874686f7573652d64617368626f6172642f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://camo.githubusercontent.com/6bb69d8e9684799a4bd6e08ee9d7482cd8eaf9f2930cbe21811a9aa3bd836eb2/68747470733a2f2f636f6465636f762e696f2f67682f726f62736f6e74656e6f72696f2f6c69676874686f7573652d64617368626f6172642f6272616e63682f6d61737465722f67726170682f62616467652e737667) [![](https://camo.githubusercontent.com/204734f771f700cafe0691384fd95dae23c9e55b3b83ec6479730ddcc5d9a630/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726f62736f6e74656e6f72696f2f6c69676874686f7573652d64617368626f6172642e737667)](https://camo.githubusercontent.com/204734f771f700cafe0691384fd95dae23c9e55b3b83ec6479730ddcc5d9a630/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726f62736f6e74656e6f72696f2f6c69676874686f7573652d64617368626f6172642e737667) [![](https://camo.githubusercontent.com/e75b7cb9546a0f9dfbb4fefc72962f42ca4c51f60486d892509834c094beb948/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f726f62736f6e74656e6f72696f2f6c69676874686f7573652d64617368626f6172642e737667)](https://camo.githubusercontent.com/e75b7cb9546a0f9dfbb4fefc72962f42ca4c51f60486d892509834c094beb948/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f726f62736f6e74656e6f72696f2f6c69676874686f7573652d64617368626f6172642e737667) [ ![](https://camo.githubusercontent.com/c5f722e7c6199015c902e57a2d696bcb8cf99f2819f3ae34cfea2c853006634c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f736c61636b2d636861742d626c75652e7376673f6c6f676f3d736c61636b) ](https://join.slack.com/t/lighthousedashboard/shared_invite/zt-hyqiy6fk-HHrxTH_nJH7VtfKfuCSv5Q)

Dashboard for Laravel Lighthouse GraphQL
========================================

[](#dashboard-for-laravel-lighthouse-graphql)

**⚠️ WORK IN PROGRESS! BREAKING CHANGES ARE EXPECTED!**

This package adds a standalone analytics dasbhoard with metrics collected from [Laravel Lighthouse GraphQL Server](https://lighthouse-php.com/).

Requirements:

- PHP &gt;= 7.4
- Laravel &gt;= 8.x
- Laravel Lighthouse &gt;= 5.x

Questions? Join us in [Slack Channel](https://join.slack.com/t/lighthousedashboard/shared_invite/zt-hyqiy6fk-HHrxTH_nJH7VtfKfuCSv5Q).

 [![](readme2.png)](readme2.png)

 [![](readme1.png)](readme1.png)

 [![](readme3.png)](readme3.png)

 [![](readme4.png)](readme4.png)

 [![](readme5.png)](readme5.png)Install
=======

[](#install)

Require the package.

```
composer require robsontenorio/lighthouse-dashboard

```

Publish package assets and config file.

```
php artisan lighthouse-dashboard:publish

```

Configure the package.

```
// config/lighthouse-dashboard.php

return [
    /**
     * Authenticated user attribute for identify the current client.
     *
     * If there is no authenticated user a `anonymous` will be used.
     * Default is `Auth::user()->username`
     */

    'client_identifier' => 'username',

    /**
     * Database connection name for the dashboard.
     *
     * By default it uses different connection. You must create it.
     * Or set it to `null` if want to use same connection from target app.
     */

    'connection' => 'dashboard',
];
```

Run package migrations.

```
php artisan lighthouse-dashboard:migrate

```

Open the dashboard.

```
http://your-app/lighthouse-dashboard

```

To keep the assets up-to-date and avoid issues in future updates, we highly recommend adding the command to the post-autoload-dump section in your `composer.json` file:

```
{
    "scripts": {
        "post-autoload-dump": [
            "@php artisan lighthouse-dashboard:publish-assets"
        ]
    }
}
```

### Note about phpunit tests

[](#note-about-phpunit-tests)

This dashboard collects metrics by listening `Nuwave\Lighthouse\Events\ManipulateResult` . Make sure to disable this on your parent `TestCase`, in order to prevent metrics collecting while testing your app.

```
use Nuwave\Lighthouse\Events\ManipulateResult;

abstract class TestCase extends BaseTestCase
{
    // use this Trait
    use DisableDashboardMetrics;

    public  function setUp(): void
    {
        parent::setUp();

        // Then, disable metrics while testing
        $this->withoutDashboardMetrics();
    }
}
```

How does it works?
==================

[](#how-does-it-works)

See more ...

This package enables built-in `Tracing` extension from Laravel Lighthouse GraphQL Server. So, every operation automatically is profiled with its execution metrics.

- GraphQL request is made.
- Dashboard listen to `ManipulateResult` event and collect metrics from current operation.
- Metrics are stored on dashboard.

The GraphQL server performance is not affected by this package, once metrics are collect after response is sent by server. You can also disable tracing output from server response. See "Configurations" section.

Configurations
==============

[](#configurations)

See more ...

/config/lighthouse-dashboard.php

```
return [
    /**
     * Authenticated user attribute for identify the current client.
     *
     * If there is no authenticated user a `anonymous` will be used.
     * Default is `Auth::user()->username`
     */

    'client_identifier' => 'username',

    /**
     * Database connection name for the dashboard.
     *
     * By default it uses different connection. You must create it.
     * Or set it to `null` if want to use same connection from target app.
     */

    'connection' => 'dashboard',

    /**
     * Silent tracing.
     *
     * This package auto-register TracingServiceProvider from "nuwave/lighthouse".
     * This is a required feature to make this package working.
     *
     * If you want including tracing output on server response just set it to `false`.
     *
     */

    'silent_tracing' => true,

    /**
     * Ignore clients.
     *
     * Ignore all request from these clients based on `client_identifier`.
     *
     */

    'ignore_clients' => []
];
```

Tests
=====

[](#tests)

See more ...

```
# run once
composer test

# run in watch mode
composer test:watch

# run once with coverage report in terminal
# see full report in ./coverage/html/index.html
composer test:coverage
```

If you need to tweak UI see "Local development" section.

Local development
=================

[](#local-development)

See more ...

Once this package includes UI, the only way to see it is by running it through target app.

### Uninstall

[](#uninstall)

If you previous installed this package, **first uninstall it from target app**.

Remove this entry from `composer.json`.

```
{
    "scripts": {
        "post-autoload-dump": [
            "@php artisan lighthouse-dashboard:publish-assets"
        ]
    }
}
```

Remove package.

```
composer remove robsontenorio/lighthouse-dashboard

```

Remove package public assets from target app.

```
rm -rf /path/to/app/public/vendor/lighthouse-dashboard

```

### Install locally

[](#install-locally)

Clone the repository, then on target app add to `composer.json`

```
 "repositories": {
        "robsontenorio/lighthouse-dashboard": {
            "type": "path",
            "url": "/local/path/to/lighthouse-dashboard",
            "options": {
                "symlink": true
            }
        }
    }
```

Require local package version.

```
composer require robsontenorio/lighthouse-dashboard @dev
```

Then, create a symlink from package vendor folder to app public assets folder.

```
ln -s /path/to/app/vendor/robsontenorio/lighthouse-dashboard/public/vendor/lighthouse-dashboard /path/to/app/public/vendor
```

From target app enter to package vendor folder.

```
cd vendor/robsontenorio/lighthouse-dashboard
```

Install frontend dependencies and start it on dev mode.

```
yarn dev
```

Now all assets built inside package vendor folder will be symlinked to target app public vendor folder.

Then point to

Reference model
---------------

[](#reference-model)

[![](dashboard-model.png)](dashboard-model.png)Roadmap
=======

[](#roadmap)

- Sumary for operations per clients.
- UI navigation with anchor href when clicks on type return.
- Add option to guard dashboard.
- Add option for retention period.

Credits
=======

[](#credits)

Developed by [Robson Tenório](https://twitter.com/robsontenorio) and [contributors](https://github.com/robsontenorio/lighthouse-dashboard/graphs/contributors).

This work is highly inspired on [Apollo Studio](https://studio.apollographql.com/) and powered by:

- Laravel.
- Lighthouse GraphQL.
- InertiaJS.
- Vuetify.

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~65 days

Recently: every ~201 days

Total

14

Last Release

1201d ago

### Community

Maintainers

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

---

Top Contributors

[![robsontenorio](https://avatars.githubusercontent.com/u/118955?v=4)](https://github.com/robsontenorio "robsontenorio (130 commits)")

---

Tags

laravelgraphqlMetricsdashboardanalyticslighthouse

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/robsontenorio-lighthouse-dashboard/health.svg)

```
[![Health](https://phpackages.com/badges/robsontenorio-lighthouse-dashboard/health.svg)](https://phpackages.com/packages/robsontenorio-lighthouse-dashboard)
```

###  Alternatives

[joselfonseca/lighthouse-graphql-passport-auth

Add GraphQL types and mutations for login and recover password functionalities

234769.9k1](/packages/joselfonseca-lighthouse-graphql-passport-auth)[mll-lab/laravel-graphiql

Easily integrate GraphiQL into your Laravel project

683.2M9](/packages/mll-lab-laravel-graphiql)[yakovenko/laravel-lighthouse-graphql-multi-schema

A Laravel package that provides multi-schema support for Lighthouse GraphQL.

1562.5k](/packages/yakovenko-laravel-lighthouse-graphql-multi-schema)[thujohn/analytics

Google Analytics for Laravel 4

113108.7k1](/packages/thujohn-analytics)

PHPackages © 2026

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