tourze/user-follow-bundle
Tourze User Follow Bundle adds user follow relationships to Symfony applications. It offers follow and unfollow actions, follower and following lists, and straightforward integration with existing user entities, helping you implement social features like subscriptions and activity feeds with less cu...
user-follow-bundle targets the follow/unfollow primitive (follower relationships between users). That primitive underpins a cluster of roadmap items: profile follower counts, "who to follow" suggestions, activity feeds filtered by follow graph, and notification fan-out on new posts. If the graph model is on the roadmap, this is the cheapest possible probe of whether you need a dedicated abstraction or can treat it as a plain pivot table.follows table with a composite unique index, plus counter caches. The build side of this decision is measured in days, not sprints. This package's value is therefore almost entirely in integration (framework wiring, migration conventions, query scopes) rather than in novel logic. That reframes the buy case: you buy to save glue work, not to acquire capability.tourze/* packages are a large family of single-maintainer, narrowly scoped bundles, generally Symfony-oriented despite the Laravel framing. A 0.0.1 release with an empty changelog body is a signal about release hygiene, not about code quality — but it is the only signal available, and it should be weighted as such in any buy decision.Adopt or seriously evaluate only when all of the following hold:
-bundle suffix strongly implies Symfony Bundle conventions (DI extension classes, Resources/config). Verify it registers correctly in Laravel via a service provider, or confirm you are on Symfony. Do not assume Laravel compatibility from the brief.(follower_id, followee_id), index on followee_id for follower lookups, soft-delete or timestamped unfollow for auditability, and block/mute semantics.Look elsewhere — realistically, build in-house — when:
For executives: A small open-source PHP component for user follow relationships has appeared at an early version. We are not adopting it. Follow relationships are a simple data model we can own outright in a few days of engineering, and the package is at 0.0.1 with no release notes, no visible maintenance track record, and unclear framework fit for our stack. Buying it would trade a small amount of glue code for ongoing dependency risk on product-critical social features.
For engineering: Treat this as a short evaluation spike, not a dependency. In a two-to-four hour timebox, confirm three things: (1) does it target Laravel/Eloquent or Symfony/Doctrine; (2) does its schema include the unique constraint and reverse-lookup index, plus room for blocks and private-account requests; (3) does it do anything beyond CRUD on a pivot table. If any answer is "no," the recommendation is a first-party follows table with counter caches — roughly a day of work, no vendor exposure, and full freedom on block/mute and feed semantics, which is where the actual product differentiation lives.
Recommendation: Do not add to the dependency manifest. Reference the package's schema choices during design review, log the build-vs-buy decision as resolved toward build, and revisit only if a stable 1.x appears with substantive docs and Doctrine/Eloquent clarity.
How can I help you explore Laravel packages today?