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

Friendships Laravel Package

merodiro/friendships

A Laravel package for adding friendships to Eloquent models. Send, accept, and deny friend requests, check relationship status, and organize friends into groups with a simple trait you drop into your User model.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for social graph features: The package supplies relationship helpers (e.g. friends_ids() / friendsIds()) that let the team ship friend/follow functionality without designing and maintaining friendship tables, pivot models, and query scopes in-house. This is a classic "buy the commodity, build the differentiator" call.
  • Roadmap sequencing: If a social, community, referral, or network feature is on the roadmap, this package can compress discovery and early delivery, freeing engineering time for differentiation (feed ranking, notifications, privacy rules).
  • Upgrade and maintenance budgeting: v1.2.4 renames a public helper (friends_ids() → friendsIds()) in a patch release. That is a backwards-incompatible change shipped without a major version bump, so the PM decision is not just "adopt or not" but "adopt with version pinning and a rename sweep" plus a recurring maintenance allowance for future renames.
  • API consistency standards: The rename aligns with Laravel/PHP camelCase conventions. If the product maintains its own conventions guide or wrapper layer, this is a trigger to standardize call sites and consider a thin internal adapter so third-party naming churn does not leak into product code.
  • Dependency risk register: Treat the package's semver discipline as a tracked risk. If the team relies on it for core flows, an unexpected breaking change in a patch release can break CI and production deploys; plan version pinning and upgrade tests accordingly.

When to Consider This Package

Consider adopting when:

  • You are building a Laravel application that needs user-to-user friendships, follows, or a simple social graph, and you want a ready-made relationship layer rather than a bespoke schema.
  • The feature is adjacent to the core product rather than central to it, so standard relationship helpers are sufficient.
  • Your team is comfortable pinning exact versions, reading changelogs, and running a find-and-replace plus regression tests on minor upgrades.
  • You need speed to market and can accept a small amount of dependency maintenance overhead in exchange for skipping foundational schema work.

Look elsewhere when:

  • You require strict SemVer guarantees or vendor-backed support/SLAs; a public API rename in a patch release (v1.2.4) signals a maintainer who may not treat backwards compatibility as a hard contract.
  • Your social graph needs are complex: mutual/blocked/muted relationships, high-volume fan-out, graph queries, or multi-tenant isolation that a simple friendship package will not cover.
  • You are polyglot or intend to extract the social service — a PHP-only helper layer creates coupling you would later have to unwind.
  • Your engineering standards forbid adopting packages that ship breaking changes without a major version bump, or you cannot absorb a codebase-wide rename on short notice.

How to Pitch It (Stakeholders)

To executives: This is a low-cost accelerator for social/community features — it saves us from building friendship plumbing from scratch and lets the team focus on the experience customers actually see. The trade-off is maintenance discipline: the latest patch release renames a public helper, which means a small one-time code update on our side and a policy of pinning the version and testing upgrades. Net: faster feature delivery with a manageable, bounded dependency risk we will track.

To engineering: Treat v1.2.4 as a breaking change despite the patch number. Pin the dependency (e.g. exact version or a tight constraint), run a repo-wide rename from friends_ids() to friendsIds(), and add a regression test around friendship retrieval. Wrap third-party calls behind an internal service/adapter where practical so future naming churn is contained to one file. Going forward, review this package's changelog before every dependency bump and budget a small upgrade allowance each cycle.

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.
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
equipc/laravel-email-database-log
adedsec/nova-translated-labels