PHPackages                             chartello/chartello - 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. [Admin Panels](/categories/admin)
4. /
5. chartello/chartello

ActiveLibrary[Admin Panels](/categories/admin)

chartello/chartello
===================

Visualize your Laravel app data in simple dashboards.

v0.5.0(1y ago)1803.9k↓100%9[2 issues](https://github.com/chartello/chartello/issues)MITJavaScriptCI passing

Since Feb 11Pushed 1y ago3 watchersCompare

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

READMEChangelog (10)Dependencies (3)Versions (14)Used By (0)

Chartello
=========

[](#chartello)

[![tests](https://github.com/chartello/chartello/actions/workflows/tests.yml/badge.svg)](https://github.com/chartello/chartello/actions/workflows/tests.yml)[![GitHub license](https://camo.githubusercontent.com/ff63fa8705f55d8c49a816010d30faf5e96edc05484c6b8879f06ece53fd2678/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6368617274656c6c6f2f6368617274656c6c6f)](https://github.com/chartello/chartello/blob/master/LICENSE.md)

Chartello provides a simple UI for visualizing your data in your **Laravel 9+** apps that use **MySQL**.

[ ![screenshot](https://user-images.githubusercontent.com/10030505/219040779-909f08f8-c068-4d30-944a-2f64e92159e2.png)](https://demo.chartello.com/)Installation
------------

[](#installation)

Add the package to your project via composer:

```
composer require chartello/chartello
```

Publish the package resources:

```
php artisan chartello:install
```

Run new migrations:

```
php artisan migrate
```

Voilà! Open `yourapp.test/chartello` on your local machine. You should see the Chartello dashboard.

Configuration
-------------

[](#configuration)

### Dashboard Authorization

[](#dashboard-authorization)

Chartello dashboards allow users to write SQL queries against your database. This makes it important for you to ensure that they are protected behind appropriate permissions.

When you install Chartello, it adds a `app\Http\Middleware\ProtectChartello` middleware to your app. This, by default, limits the access to these dashboards only to your local environment. You should modify this middleware to define how access to these dashboards should be restricted in your production environment.

```
/**
 * Define the authorization logic for accessing Chartello.
 *
 * @param $request
 * @return bool
 */
protected function authorize($request)
{
    if (App::environment('local')) {
        return true;
    }

    return $request->user() && in_array($request->user()->email, [
        //
    ]);
}
```

### Dashboard Routes

[](#dashboard-routes)

After installing Chartello, its configuration file will be located at `config/chartello.php`. This file allows you to customize the `path` to the Chartello dashboards and adjust HTTP middleware that should be used when serving them.

Usage
-----

[](#usage)

### Writing Queries

[](#writing-queries)

Chartello currently supports two types of panels:

#### 1. Trend Charts

[](#1-trend-charts)

A trend chart expects an `x` column with date/datetime values and a numeric `y` column.

To populate a trend chart, create a new panel in the UI and enter a query similar to this one:

```
SELECT DATE(created_at) AS x, COUNT(*) AS y
FROM users
WHERE created_at BETWEEN @start AND @end
GROUP BY x
ORDER BY x ASC
```

Including the `BETWEEN @start AND @end` filter ensures that your chart reflects the date range selection available in the UI.

#### 2. Tables

[](#2-tables)

Tables are flexible and accept almost any `SELECT` queries.

If you wish the data in your table to reflect the date selection from the UI, you should include the `BETWEEN @start AND @end` filter in your query.

Here is an example query for populating a table panel:

```
SELECT name, email, created_at
FROM users
WHERE created_at BETWEEN @start AND @end
ORDER BY created_at DESC
LIMIT 5
```

Upgrading
---------

[](#upgrading)

When upgrading to a new version of Chartello, you should re-publish its assets:

```
php artisan vendor:publish --tag=chartello-assets --force

```

License
-------

[](#license)

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

###  Health Score

38

—

LowBetter than 84% of packages

Maintenance46

Moderate activity, may be stable

Popularity39

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.7% 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 ~74 days

Recently: every ~180 days

Total

11

Last Release

438d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4dd4c3943583b0db4572b8702f3ee8f85a3fa7ecf99401d5f1add6613821f031?d=identicon)[matt-daneshvar](/maintainers/matt-daneshvar)

---

Top Contributors

[![matt-daneshvar](https://avatars.githubusercontent.com/u/10030505?v=4)](https://github.com/matt-daneshvar "matt-daneshvar (87 commits)")[![danielpetrica](https://avatars.githubusercontent.com/u/4850686?v=4)](https://github.com/danielpetrica "danielpetrica (3 commits)")

---

Tags

chartdashboarddata-visualizationlaravellaravelchartsdashboardsvisualization

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[eliseekn/laravel-metrics

Generate easily metrics and trends data of your models for your dashboards.

1075.7k](/packages/eliseekn-laravel-metrics)

PHPackages © 2026

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