Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Panphp Laravel Package

solution-forest/filament-panphp

Filament PanPHP integrates PanPHP analytics into Filament, letting you view page views, visitors, and traffic insights directly from your admin panel. Add analytics widgets and pages to monitor site activity without leaving Filament.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package name and namespace (solution-forest/filament-panphp) strongly imply a Filament plugin that surfaces PanPHP (panphp/pan) analytics inside a Filament admin panel — i.e., a presentation-layer add-on that reads Pan's aggregated page-view tables and renders them as a page or dashboard widget. If that assumption holds, the architectural footprint is small and clean: it adds no new data pipeline, no new middleware on the public request path, and no new storage of its own. It is a read-only consumer of data you are already collecting, mounted inside an admin panel you already run. The fit is only good when both Filament and Pan are already in the stack; adopting either dependency solely to justify this plugin inverts the value proposition.

Integration feasibility. Mechanically trivial: composer require, register the plugin in the PanelProvider, possibly publish assets or config. Realistically a half-day to a day for a Laravel developer to stand up in a branch and confirm it works against their versions. The friction is not installation but discovery — with 26 stars, zero dependents, and a placeholder description, there is no meaningful external documentation, no adoption stories, and no issue history to mine. The source is the documentation. Budget time for reading the plugin class, the page/widget classes, and the queries it issues.

Technical risk. Moderate, concentrated in four areas. (1) Schema coupling: a plugin like this almost certainly queries Pan's tables directly rather than through a public API, so a Pan schema change silently breaks the dashboard — Pan's aggregation tables are an internal contract, not a stable interface. (2) Framework churn: Filament moves majors (v3 → v4) with breaking changes to plugin contracts, and a single-maintainer package released in October 2024 is unlikely to track that promptly. (3) Bus factor: one maintainer, zero dependents, a score of 0.45 — treat this as an unmaintained internal fork you happen to have found on Packagist. (4) Access control: analytics exposure is a permissions question; verify the plugin does not register a page that bypasses your existing Filament policies or multitenancy scoping.

Key questions. Which Filament major version is this pinned to, and is there a v4-compatible branch? Does it query Pan tables directly or call a Pan service/API? Which Pan version constraint is in composer.json? Does it scope by Pan "site"/tenant, or assume a single analytics dataset? Does it register routes, middleware, or a navigation item that needs authorization wiring? Does it ship migrations or published assets? Is there any test coverage, and does the package declare PHP/Laravel constraints tight enough to fail fast on incompatible upgrades? What does it actually render — a single summary card, a date-ranged chart, or a full drill-down page?

Integration Approach

Stack fit. Viable only for a Laravel application already running Filament (v3) as its admin panel and Pan for first-party, cookie-less analytics. For anyone else, the cost is two new dependencies to justify a dashboard. Adjacent alternatives — a Grafana/Metabase view over the same data, or a 1–2 day custom Filament widget — should be priced explicitly before committing.

Migration path. There is no data migration. Pan's collection continues unchanged; this only adds a read path. Adoption is therefore reversible: mount the plugin on a non-default panel or behind a feature flag, confirm parity with whatever analytics view exists today, and remove the plugin if it disappoints. The realistic "migration" is a build-vs-buy decision: given the plugin's small surface, a hand-rolled Filament page consuming Pan's data is a credible fallback that removes the maintenance dependency entirely — and is likely cheaper over a two-year horizon than owning a fork.

Compatibility. Pin the plugin exactly and pin Pan and Filament alongside it. Validate the declared PHP, Laravel, Filament, and Pan constraints against your composer.lock before installing — do not let Composer resolve freely across a Filament major boundary. If the constraints are loose or absent, treat that as a red flag and vendor the package rather than pulling it from Packagist.

Sequencing. (1) Timeboxed spike in a throwaway branch against a staging database — confirm it renders and that queries perform acceptably. (2) Read the source end to end; document exactly which tables and columns it touches. (3) Make the build-vs-buy call with that information in hand. (4) If adopting, fork to an internal namespace, tag it, add a smoke test that asserts the page returns 200 for an authorized user and 403 for an unauthorized one. (5) Ship internally only, behind an explicit permission and, if applicable, tenant scope. Do not place it on a customer-facing panel.

Operational Impact

Maintenance. Assume you own it. The good news is that the code volume is small — likely a handful of classes and Blade views — so "owning" it means tracking Pan's schema and Filament's plugin contract, not maintaining a system. Budget a few hours per Filament major upgrade and per Pan minor release that touches aggregation tables; add a scheduled dependency-review task so breakage is caught before an upgrade window rather than during one.

Support. Community-only. No vendor SLA, no security disclosure process worth relying on, and a single maintainer whose responsiveness is unguaranteed. Internal issues get fixed internally; upstream PRs are best-effort and should never be on the critical path. If your organization requires a supported dependency inventory, this package needs an explicit exception or an internal fork recorded as the supported artifact.

Scaling. Low risk. Pan is designed around pre-aggregated daily metrics, so the dashboard issues a small number of grouped queries rather than scanning raw events. Load is bounded by how many admins open the page, not by user traffic, and the plugin sits entirely off the public request path — it cannot degrade customer-facing latency. The one thing to watch is an unbounded date-range selector on a large dataset; verify any range control has sane defaults and that indexes on the aggregation table cover the grouping columns.

Failure modes. The realistic failure is a Filament major upgrade that changes the plugin contract, leaving the analytics page broken or the panel failing to boot. Secondary: a Pan schema change breaking the underlying query, and an authorization gap exposing traffic data to roles that should not see it. Mitigate by isolating the plugin on its own panel page rather than embedding it in a shared dashboard — a broken widget should not take down the landing page every admin hits — and by adding the authorization smoke test described above to CI so a permission regression is caught at deploy.

Ramp-up. Effectively zero for a developer already fluent in Filament: the plugin is conventional, and the concepts (panel, page, widget, policy) are the ones they use daily. The genuine ramp-up cost is organizational, not technical — establishing the fork-and-vendor workflow, documenting the pinned version set, and socializing that this dashboard is an internal convenience rather than a system of record for analytics. Set that expectation early so nobody builds reporting commitments on top of a 26-star package.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource