Download the PHP package calvient/arbol without Composer
On this page you can find all versions of the php package calvient/arbol. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download calvient/arbol
More information about calvient/arbol
Files in calvient/arbol
Package arbol
Short Description A simple data visualization tool for Laravel apps.
License MIT
Homepage https://github.com/calvient/arbol
Informations about the package arbol
Arbol - A Simple Data Visualization Tool for Laravel Apps
Arbol is a simple data visualization tool for Laravel applications built with Inertia.js and React.
It allows users to create their own reports, extracts, and simple dashboards with support for tables, line charts, bar charts, and pie charts.
This is a simple tool that solves 80% of a complex problem! So you may still want a paid data visualization tool. But if you need something simple, this might just be for you.
Requirements
- PHP 8.3+
- Laravel 12 or 13
- Inertia.js 3 with React 19
When upgrading an existing application from Inertia 2, republish Inertia's configuration and clear compiled views as described in the Inertia 3 upgrade guide:
Installation
You can install the package via composer:
Publish all the assets with:
Run migrations with:
Quick Start
1. Install the package
2. Publish the package assets and run migrations
3. Publish the package assets after each update
Add the following to composer.json under the scripts -> post-update-cmd key:
4. Configure the package
We assume your User model is App\Models\User. If not, you can override it in the config/arbol.php config file:
Because Arbol can assign reports to users, you may also want to further limit which users Arbol can see. You can add a scope like the following to your User model:
5. Create a New Series
Core Concepts
Arbol works by using these 5 core concepts:
Series
A series is the raw data set that a user can interact with. For example, you might have a series for "Podcast Streams" which contains data from one or more sources. The only requirement is that it must return the data as a 2-dimensional array (array of associative arrays).
Slices
A slice is a way to group data. You might want to view "Podcast Streams" by state or by month, for instance.
Filters
Filters allow users to narrow down the data based on predefined criteria. For example, a user may only care to see "Podcast Streams" for the last week or from specific sources.
Aggregators
Aggregators define how to summarize the data when displaying charts. Common aggregators include counting rows, summing values, or calculating averages.
Formats
Formats determine how the data is displayed:
- Table: Raw tabular data display
- Pie Chart: Distribution visualization
- Line Chart: Trends over time
- Bar Chart: Comparison visualization
Creating a Series
A series must implement the IArbolSeries interface:
Using the ArbolBag
The ArbolBag class helps you work with filters and slices selected by the user:
Multi-tenancy Support
Arbol supports multi-tenancy through the client_id field on reports. If your User model has a client_id attribute, reports will automatically be scoped to the user's client.
Commands
Clear Cache
Clear the cached data for all sections:
Clear cache for a specific section:
Create a New Series
Accessing Reports
Reports are accessible at /arbol in your application. Users can:
- Create new reports
- Add sections to reports with different visualizations
- Share reports with other users or make them public
- Download data as CSV
Documentation
For deeper technical documentation, see the resources/docs/ directory:
- Architecture Deep Dive — full system architecture, data pipeline, caching, and frontend details
- Table Sections vs Chart Sections — how table sections drive the report filter bar
- Stateless Section View — standalone URL-driven table view without saved reports
- Embeddable Section Component — plan for embedding sections in consumer apps
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
- Jonathan Minson
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of arbol with dependencies
illuminate/contracts Version ^12.0||^13.0
inertiajs/inertia-laravel Version ^3.0
spatie/laravel-package-tools Version ^1.93