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

Notifications Bundle Laravel Package

mrad/notifications-bundle

A PHP notifications bundle that provides a reusable notification layer for your application, with support for multiple delivery channels, templated messages, and a clean API for triggering alerts from domain logic. Ideal for adding user-facing notifications without rebuilding delivery infrastructure...

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Scoping the "real-time notifications" roadmap item. This package only supports the narrowest version of that feature: fire-and-forget push of an event over Pusher to a channel. It is not a notifications platform. It brings no persistence, no read/unread state, no user preferences, no digests, no email/SMS fallback, no retries, and no delivery analytics. If the roadmap item is "tell the user something happened right now," it is directionally in scope; anything richer is a separate initiative. Use it to draw that line explicitly with stakeholders rather than discovering the gap mid-sprint.

  • Build vs. buy, framed correctly. The real decision is not "this bundle vs. custom code" — the bundle is a thin wrapper around the Pusher API and gives you almost nothing over calling the Pusher PHP SDK directly. The decision that actually costs money is Pusher (managed) vs. self-hosted WebSockets (Laravel Reverb/Soketi) vs. a managed notification platform (Ably, SNS, OneSignal). This package's only legitimate role is as a cheap way to prototype the Pusher path and get a latency and cost read before committing.

  • Vendor selection and lock-in. Adopting it functionally commits you to Pusher as a paid third-party dependency. That is a pricing, data-residency, and exit-cost decision that belongs in the roadmap review, not buried in an engineering ticket. Notification volume scales with users, so the bill scales with the roadmap — worth surfacing to finance early.

  • Framework-fit and cost re-estimation. This is packaged as a Symfony bundle, not a Laravel package. For a Laravel codebase there is no drop-in integration; any use means writing and owning an adapter. That materially changes the cost side of any build-vs-buy comparison and should reset the estimate before it goes into a plan.

  • Prototype vs. production gating. 7 stars, 0 dependents, single maintainer, no visible CI or release cadence. The defensible product use is an internal spike or MVP demo that proves the UX of live notifications to stakeholders — not a dependency on a customer-facing release path.

  • Reference-value decision. The most likely correct outcome is "read it, don't ship it." Sponsoring a half-day read to extract its event payload shape and Pusher wiring is a legitimate, low-cost research investment; adding it to composer.json is a different and much worse decision.

When to Consider This Package

Consider it only when all of the following hold:

  • You are on Symfony, or you have explicitly budgeted for a Laravel adapter you will own. If you are on Laravel and assumed this was a drop-in, stop here — the framework mismatch alone changes the analysis.
  • Pusher is already an approved vendor in your stack, or you are deliberately spiking to evaluate it. This package does not abstract the transport, so it cannot help you defer that decision.
  • The requirement is genuinely simple: send a transient event to a channel. No database-backed notification center, no per-user preferences, no multi-channel delivery, no retry semantics, and no delivery guarantees you intend to promise anyone.
  • You are at prototype, internal-tool, or low-traffic demo stage, where a small unmaintained dependency is an acceptable and time-boxed risk.
  • You want a reading reference — a compact example of how a Pusher integration is wired — rather than a long-lived runtime dependency.

Look elsewhere when:

  • You need a Laravel-native solution. Laravel's first-party notifications plus broadcasting covers this ground with active maintenance, queues, multi-channel support, and a large hiring/onboarding pool. This is the default answer for a Laravel shop.
  • You need persistence, read state, preferences, digests, or multi-channel delivery. Out of scope by design, not by configuration.
  • Supply-chain or governance risk matters. 7 stars, 0 dependents, one maintainer, no visible security-response process, no guarantee of PHP or framework version compatibility. For anything customer-facing, revenue-affecting, or touching production credentials, that is disqualifying on its own.
  • You need vendor abstraction so Pusher can be swapped for Reverb, Ably, Mercure, or SNS without a rewrite. Any sensible product plan should assume you may want to switch.
  • You need delivery reliability — retries, dead-letter handling, failure alerting. Fire-and-forget means silent notification loss is the default behavior, not an edge case.

How to Pitch It (Stakeholders)

For executives: This is a tiny, MIT-licensed, single-purpose package that forwards real-time events to Pusher. It is not a notifications platform — it does one narrow thing and does it narrowly, with no persistence, no user preferences, no retries, and no delivery reporting. The strategic question it actually informs is whether we pay for a managed real-time vendor or build on infrastructure we already run. My recommendation: treat it as a cheap experiment, not a dependency. Fund a short spike — a few days — to validate the live-notification UX and produce a Pusher cost estimate at expected user volumes. Do not place it on the critical path of a customer-facing release. Two caveats to hold in mind: it is a Symfony artifact, so for a Laravel codebase it means adapter work we own; and it is a single-maintainer project with 7 stars and no downstream dependents, so nobody else in the ecosystem is validating it against current PHP or current Pusher APIs. Any adoption requires a named internal owner and an explicit "we will fork and maintain this" decision, which is almost never worth it.

For engineering: Three things to align on before anyone touches this. First, it is a Symfony bundle, not a Laravel package — no service provider, no auto-wiring, no config publishing. Treat any Laravel use as an adapter we own, and price it that way. Second, the health signals are weak across the board: 7 stars, zero dependents, one maintainer, no visible CI, no security disclosure path. Zero dependents is the loudest signal — nothing in the ecosystem is exercising this against modern PHP or Pusher SDK versions, so expect pinned legacy dependencies and deprecation or hard failures on PHP 8+. Third, the abstraction is thin enough that we can replicate it in an afternoon behind our own interface.

If the spike validates the UX, the production path is Laravel's native notifications and broadcasting — or Reverb/Soketi if we want to avoid vendor spend — which gives us queues, retries, multi-channel delivery, and an actively maintained surface. Whatever we build, define our own Notifier interface first (notify(userId, event, payload)), put Pusher behind it, and build queueing and retry in from the start rather than retrofitting delivery guarantees once notifications are load-bearing. Use this repo as a 30-minute reading reference for its payload shape, not a dependency, and do not fork it — forking converts a free read into a permanent maintenance liability with no upstream to rebase against.

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.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log