Download the PHP package jhumanj/laravel-model-stats without Composer
On this page you can find all versions of the php package jhumanj/laravel-model-stats. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jhumanj/laravel-model-stats
More information about jhumanj/laravel-model-stats
Files in jhumanj/laravel-model-stats
Package laravel-model-stats
Short Description Model statistics dashboard for your Laravel Application
License MIT
Homepage https://github.com/jhumanj/laravel-model-stats
Informations about the package laravel-model-stats
Laravel Model Stats
Model statistics dashboard for your Laravel Application
This Laravel packages gives you a statistic dashboard for you Laravel application. Think of it as a light version of Grafana, but built-in your Laravel application, and much easier to get started with. No code knowledge is required to use Laravel Model Stats, users can do everything from the web interface. It also optionally supports custom-code widgets, allowing you to define your widget data with code, just like you would do with tinker.
Installation
You can install the package via composer:
You can install the package and run the migrations with:
Available No-Code Widgets
Different type of widgets (daily count, daily average, etc.) are available. When creating a widget, you choose a Model, an aggregation type and the column(s) for the graph. You can then resize and move the widgets around on your dashboard.
The aggregation types currently available:
- Daily Count (Number of records per day during selected period).
- Cumulated Daily Count (Cumulated Total record count during selected period).
- Period Total (Number of new records during selected period).
- Group By Count (Count per group for a given column during selected period).
- ... (more to come soon)
For each widget type, date can be any column: created_at
,updated_at
,custom_date
.
Custom Code Widgets
You can also use custom code widgets, allowing you to define your widget data with code, just like you would do with tinker.
Your code must define a $result
variable containing the data to return to the choosen chart. You can use the $dateFrom
and $dateTo
variable.
Example custom code for a bar chart:
Custom Code Setup
🚨 Using the custom code feature against a production database is a HUGE risk 🚨
Any malicious user with access to the dashboard, or any mistake can cause harm to your database. Do not do that. Here's a safe way to use this feature:
- Create a
read-only
database user with access to your database- Here's how to create a read-only user for a PostgreSQL database: PostgreSQL guide
- Here's how to create a read-only user for a MySQL database: MySQL guide
- Add a readonly database connection to your
config/database.php
file dotenv MODEL_STATS_CUSTOM_CODE=true MODEL_STATS_DB_CONNECTION=readonly DB_USERNAME_READONLY=DB_PASSWORD_READONLY=
php artisan model-stats:publish
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Contributing
Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
## Security Vulnerabilities
Please review [our security policy](../../security/policy) on how to report security vulnerabilities.
## Credits (Contributors)
- [Julien Nahum](https://github.com/JhumanJ)
## Inspiration
- [Grafana](https://grafana.com/): for the dashboard/widget aspect
- [Laravel/Telescope](https://github.com/laravel/telescope): for many things in the package structure (front-end, authorization...)
- [Spatie/Laravel-Web-Tinker](https://github.com/spatie/laravel-web-tinker): for their web tinker implementation, which is used for custom code widgets
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
All versions of laravel-model-stats with dependencies
spatie/laravel-package-tools Version ^1.4
illuminate/contracts Version ^8.0|^v9.0|^v10.0
illuminate/support Version ^8.0|^9.0|^10.0
laravel/tinker Version ^1.0|^2.0