Download the PHP package atendwa/laravel-reporting without Composer

On this page you can find all versions of the php package atendwa/laravel-reporting. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-reporting

Laravel Reporting

A queue-based reporting system for Laravel with Filament UI integration: define generators, schedule them, export CSV/PDF, and track every run's history — all through a Filament panel.

Requirements

Package Version
PHP ^8.3
Laravel ^11.0 | ^12.0 | ^13.0
Filament ^5.0

What it does

Installation

Publish the config and choose where the resources sit in your Filament navigation:

This asks whether to nest the Reports/Histories/Schedules resources under one of your own Filament clusters (giving its FQCN), or a plain navigation group label, or leave them under the package's own built-in "Reporting" cluster (the default). You can also just publish the config file directly and edit it by hand:

Pick a PDF engine and require it (only one is needed):

Quick start

  1. Scaffold a generator:

    This creates app/Reports/Generators/YourReportGenerator.php implementing GeneratorInterface (see src/Contracts/GeneratorInterface.php for the full contract — generate(), getHeaders(), getModifiers(), getName(), etc.).

  2. Register it as a Report:

    This walks you through picking a discovered generator and creates the Report row that Filament and the scheduler use.

  3. Open the Reporting cluster in your Filament panel — your report is ready to run, schedule, and download from there.

Key concepts

Generators live in App\Reports\Generators (configurable via reporting.generator_namespaces / reporting.generator_paths) and implement GeneratorInterface. The methods you'll actually write are generate(), getHeaders(), getModifiers(), and getDefaultParameters(). Everything else (UI, queuing, file export, cooldown checking) is handled by the package.

Modifiers are filters your generator declares — the package turns them into Filament form fields automatically. Supported types: date_range, select, multiselect, text, number.

Heavy reports (isHeavy(): true) get a cooldown window (reporting.default_cooldown_minutes) so a cached recent result is served instead of re-running the report. Set estimateExecutionTime() for context in the UI.

Schedules are reusable cron configurations that can be attached to multiple reports via a relation manager in Filament.

Tenant-aware generators — the Reporting\Generator\Concerns\IsTenantAware trait is opt-in and scopes data/options to a team/tenant model. Set reporting.team_model to your tenant model's FQCN before using it; the model must expose an is_default boolean column, and your user model must expose a teams() relation.

Artisan commands

Command Purpose
reporting:install Publish config and set the navigation cluster/group
reporting:run {report} Manually trigger a report
reporting:make:generator Scaffold a new report generator class
reporting:make:report-from-generator Create a Report model from a discovered generator
reporting:prune --days=90 Delete old history rows/files
reporting:cache:clear Refresh the generator discovery cache
reporting:plugin:reset Truncate all reporting tables
reporting:plugin:test Run this package's own test suite with a coverage score
reporting:setup Generate Shield permissions, seed schedules, register generators

Configuration (config/reporting.php)

Key options: generator_namespaces, generator_paths, disk, directory, default_cooldown_minutes, pdf_engine (dompdf|mpdf), chunk_size, pdf_chunk_size, logo_path, queue, cleanup_days, team_model.

Navigation (navigation.cluster / navigation.group)

The Reports, Histories, and Schedules resources are available out of the box under this package's own Reporting\Filament\Clusters\Reporting cluster — no configuration needed to get started. To place them somewhere else in your panel instead, set either key (applied consistently across all three resources):

reporting:install walks you through setting these interactively; cluster wins over group when both are set, since a cluster manages its own top-level navigation entry.

Known portability boundary

Some Filament resources in this package still use small helper traits from an in-house BetaFilament plugin (ResourceAccessGate, UsesFilamentPolicySetup, SupportResourceNavigationGroup, and an overridden ListRecords page) that hasn't been extracted yet. If you install this package in a project that doesn't have BetaFilament, you'll need to either provide equivalent implementations under those same class names or wait for BetaFilament to be published separately. This is the one remaining hard dependency on the package's origin project.

Testing

Test files under tests/ are being migrated to run standalone via Orchestra Testbench — some may not pass yet outside the origin monorepo. Contributions welcome.

Contributing

Issues and pull requests are welcome. Please run vendor/bin/pint and vendor/bin/phpstan analyse before submitting.

License

The MIT License (MIT). See LICENSE for details.


All versions of laravel-reporting with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
filament/filament Version ^5.0
illuminate/contracts Version ^11.0||^12.0||^13.0
laravel/prompts Version ^0.3.11
spatie/laravel-package-tools Version ^1.16
spatie/laravel-permission Version ^6.20
spatie/simple-excel Version ^3.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package atendwa/laravel-reporting contains the following files

Loading the files please wait ...