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

View Counter Bundle Laravel Package

tchoulom/view-counter-bundle

A Symfony bundle for counting and tracking page or entity views. It records each visit, stores statistics in Doctrine, and lets you display total view counts and popularity metrics with simple Twig helpers and configurable counters.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Engagement analytics as a product surface. The bundle's core job — counting views per entity with per-IP, per-session, and per-user uniqueness, plus daily/monthly/yearly rollups — maps directly to features like “most popular,” trending lists, social-proof badges (“1.2k views”), and popularity-weighted search or recommendation ranking.
  • Metric definitions (unique vs. total). Choosing IP- vs. session- vs. user-based counting is a product decision about what “a view” means for our KPIs and dashboards; this package makes those modes explicit and forces the conversation early.
  • Build vs. buy vs. reference-implement. Given 15 stars and 0 dependents, treat it less as a dependency and more as a reference design: the entity-annotation + counter-service + stats-rollup pattern is roughly one to two sprints of in-house work, and copying the logic under MIT carries far less risk than adopting the package.
  • Roadmap sequencing for analytics. It clarifies scope boundaries: this is a counter, not an analytics platform. Funnels, cohorts, retention, and attribution remain a separate (likely buy) decision, so the roadmap can ship a lightweight counter now without pretending it replaces product analytics.
  • Framework reality check. Despite being catalogued here as a “Laravel/PHP package,” this is a Symfony bundle (Doctrine-based). On a Laravel/Eloquent stack it is not directly installable; only the domain logic transfers, which pushes the decision toward in-house implementation.
  • Not a candidate for strategic dependency. Low adoption, unclear release cadence, and single-maintainer signals mean it should not sit on a critical path regardless of stack.

When to Consider This Package

Reasonable to consider when:

  • The team is genuinely on Symfony + Doctrine and wants a drop-in, MIT-licensed counter for modest-traffic content (blog posts, products, listings).
  • Requirements stop at “count views, dedupe by IP/session/user, show basic periodic stats” — no funnels, cohorts, or cross-property attribution.
  • Traffic and write volume are low enough that a DB write per view is acceptable.
  • You are willing to vendor/fork and pin, and to verify compatibility with your PHP and Symfony versions before committing.

Look elsewhere when:

  • You are Laravel-first — this is a non-fit; implement an Eloquent trait/morph counter or use an existing Laravel-native solution.
  • Traffic is meaningful — per-view DB writes become a hotspot; prefer Redis/queue-based aggregation or an event pipeline.
  • You need real product analytics — offload to a dedicated tool (GA4, Matomo, Plausible, or a warehouse) rather than extending a counter bundle.
  • You need long-term maintenance guarantees, security review, or an actively released dependency — the adoption signals here (stars, dependents, activity) do not support that.
  • Any requirement beyond counting for a single entity type without custom schema work.

How to Pitch It (Stakeholders)

To executives: This is a small, free, MIT-licensed community component for counting content views in Symfony applications. It is not a strategic investment — adoption is thin (roughly 15 stars, no known dependents), so putting it on a critical path would create avoidable maintenance and supply-chain exposure. Recommendation: do not adopt it as a dependency. Instead, use it as a reference design and build a small internal view-counter module (or lean on existing analytics tooling) — roughly one to two sprints, fully under our control, with no lock-in. Cost is low either way; the decision is about ownership, not spend.

To engineering: The bundle demonstrates a clean pattern — entity view tracking with IP/session/user deduplication and periodic stat rollups. We can reproduce the useful 20% (counter service, uniqueness keys, daily rollups) with our own schema and caching, add queue-based writes so view traffic never touches the request path, and avoid inheriting an unmaintained dependency. Note the framework mismatch: it is a Symfony bundle, so a Laravel codebase gains the design, not the code. If we were a Symfony shop with a trivial need, a fork-and-pin would be acceptable — but only with a version pin and a documented exit plan.

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.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator