jackfumanchu/cookieless-analytics-bundle
A privacy-first analytics bundle that tracks page views, visitors, and referrers without cookies or client-side scripts. GDPR-friendly by design, so no consent banner is needed. Lightweight and easy to integrate into PHP applications.
This is a pre-1.0 package (0.4.x), so treat the first hour as reconnaissance rather than a copy-paste install — the public surface is still shifting between minor releases.
composer require jackfumanchu/cookieless-analytics-bundle, then publish the config and any migrations via the package's vendor:publish tags. Read the published config in full before running migrations; the storage driver and retention settings are the two decisions that are painful to reverse later.src/ root and read, in order: the service provider (what gets bound, what middleware or routes are registered, whether the dashboard is auto-enabled), the config file (every knob), and the console commands (retention/pruning, backfill, aggregation). That trio tells you 80% of the operational story.Because v0.4.0 shipped with only a changelog link and no prose, diff v0.3.6...v0.4.0 yourself before upgrading an existing install, and pin to an exact version in composer.json rather than a caret constraint while the package is in the 0.x series.
terminate()-style after-response hook. Analytics should never sit in the critical path of a user request.Schedule::daily() with onOneServer() if you run multiple app servers. Cookieless rollups still accumulate; unbounded growth is the usual second-quarter surprise.AnalyticsRecorder contract in your app, with an adapter around the package. Given the 0.x versioning, this is the difference between a one-file upgrade and a scattered refactor when a minor release renames things.0.x means minor versions can break. 0.3.6 → 0.4.0 is a minor bump by semver's pre-1.0 convention, which explicitly permits breaking changes. Read the compare diff; the changelog link alone is not a substitute.php artisan config:clear. Package configs merged at boot behave differently from published ones, and a stale cached config is the classic "my setting is ignored" bug./admin or /analytics paths, and the dashboard is often the least-guarded surface in the package. Check the authorization gate before enabling it outside local.php artisan route:list -v), then the queue worker, then the storage driver — in that order. It is almost always one of those three.How can I help you explore Laravel packages today?