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

Cart Manager Laravel Package

freshbitsweb/cart-manager

Freshbitsweb Cart Manager is a lightweight Laravel package for e-commerce carts. It manages items, quantities, prices, totals, taxes, discounts, and multiple cart instances through a clean, fluent API, making it easy to add robust cart functionality to any Laravel application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for cart mechanics (not cart policy). Every commerce-adjacent product eventually needs "items, quantities, prices, a subtotal, a cart that persists." That is commodity code — it is not where your product differentiates. freshbitsweb/cart-manager lets you buy the mechanics (line items, custom attributes, multi-cart contexts, session/DB persistence) while you keep ownership of the policy (pricing rules, tax jurisdiction logic, promotion engines). That split is the decision this package actually informs.
  • Roadmap sequencing / time-to-market. A cart is a prerequisite for checkout, quotes, saved lists, internal order-entry tooling, and B2B reorder flows. Buying the cart layer removes a blocking dependency from the critical path of the checkout epic, typically converting 1–3 weeks of glue work into a few days of integration plus tests.
  • Feature scoping: what you don't put in v1. The package's "custom attributes per item" and "multiple cart instances" primitives let you defer decisions. Instead of designing a bespoke schema for bundles, gift notes, or per-tenant carts up front, you store them as attributes and revisit when real usage data arrives. That is a genuine option-value argument for adopting rather than speccing.
  • Multi-context product bets. Multiple named cart instances unlock patterns that would otherwise be separate features: guest vs. authenticated carts, one cart per vendor in a marketplace, a "saved for later" list next to an active cart, or per-store carts in a multi-tenant SaaS. Confirm your roadmap actually needs this before paying for it — if you only ever need one cart per session, this is over-specified for you.
  • Storage architecture decision (session vs. database). The package supports both. This is a real product-visible decision, not an implementation detail: session carts mean abandoned carts vanish and guests can't be remarketed to; DB carts mean you own a table, a cleanup job, and PII storage obligations. Surface this as a decision with legal/marketing input, not just engineering.
  • TCO modeling and maintenance ownership. At 226 stars with a last release in February 2023, this is a small-maintainer package. The honest comparison is "package + named upgrade owner + a possible future fork" vs. "custom cart code + internal owner + docs debt." For a cart — a small, well-understood domain — the package side is usually still cheaper, but only if you assign the owner on day one.
  • Risk tracking on money-touching code. Carts feed totals, which feed invoices and payments. Any third-party code in that path needs a documented audit (rounding, tax application order, discount stacking) regardless of star count. This package is a candidate for adoption, not a candidate for blind trust.

When to Consider This Package

Adopt when:

  • You are on Laravel and the package's composer.json constraints match your runtime. Verify Laravel/PHP compatibility before the spike — a 2023 release date means newer Laravel majors are a genuine open question, not a formality.
  • Your cart requirements are conventional: line items, quantities, unit prices, item-level attributes, a subtotal, and a taxable/discountable total. If you can describe your cart in that sentence, this fits.
  • You need multiple independent carts (guest vs. user, per-vendor, saved lists). This is the package's clearest differentiator over hand-rolled session arrays.
  • You are building an MVP, internal back-office tool, quote/order-entry flow, or a non-regulated storefront where the cart is a supporting actor rather than the product.
  • You can wrap it behind a thin internal CartService interface so pricing policy stays in your code and a future swap is one adapter, not a refactor.
  • You accept the maintenance reality: pin an exact version, assign an owner, and budget a review each Laravel upgrade cycle.

Look elsewhere when:

  • Your cart is your differentiator or is compliance-sensitive. Multi-currency with FX snapshots, VAT/MOSS rules, complex promotion stacking, subscription proration, or audit-grade price history — you will fight the package's opinions, and the "built-in taxes and discounts" support should be verified as storage/hooks versus calculation before you rely on it.
  • Cart merging on login isn't handled to your satisfaction. Guest→user cart reconciliation (merge, sum quantities, keep the higher price, discard the loser) is the single most common gap in small cart packages. Spike this specific flow or you'll discover it in QA.
  • Maintenance risk is unacceptable for your context. Single small maintainer, no release since early 2023, no visible succession plan. On a critical revenue path with no internal Laravel capacity to fork and patch, that's a real cost.
  • You need framework-agnostic behavior — a headless service, multiple backends, or a non-Laravel storefront — where a Laravel-idiomatic facade becomes a boundary problem.
  • You need price snapshotting and immutable order history. Carts are mutable by design; orders are not. Confirm the package gives you what you need to freeze a cart into an order, or plan to own that transition yourself.
  • You'd store cart data in the DB without a retention/cleanup story. Abandoned-cart tables accumulate PII; that's a policy decision the package won't make for you.

How to Pitch It (Stakeholders)

For executives — the one-paragraph version:

Cart functionality is commodity infrastructure — every commerce feature we're planning depends on it, and none of our differentiation lives inside it. This package gives us that layer off the shelf, idiomatically integrated with our existing Laravel stack, with support for multiple carts (guest vs. logged-in, per-vendor) and either session or database persistence. The return is measured in roadmap weeks: checkout and quote flows stop waiting on bespoke cart code. The cost is a short validation spike plus a low, ongoing upgrade cadence with a named owner. The risk is real but bounded — small maintainer, no release since early 2023 — so we contain it by pinning a version, wrapping the package behind our own interface, and keeping all pricing, tax, and discount policy in our own code. Decision requested: approve a 2–3 day spike covering install, the guest-to-user cart merge flow, and a Laravel-version compatibility check; commit only if it passes.

For engineering — the practical framing:

  • It's a Laravel-idiomatic package: service provider, publishable config, events, session and database drivers. Integration should be configuration plus a thin adapter, not a fork.
  • Scope boundary we're buying: line items, quantities, prices, custom attributes, multiple named carts, persistence. Scope we're keeping: tax computation, discount/promotion rules, currency handling, order finalization and price snapshotting. Do not let the package's tax/discount hooks drift into being our source of truth for money math.
  • Three things to verify in the spike, in order: (1) Laravel/PHP constraint compatibility against our current runtime; (2) guest→authenticated cart merge semantics — does it exist, and does it match our product rules; (3) the cart→order transition, specifically whether we can snapshot prices immutably.
  • Risk accepted: last release was 2023-02-28, so treat this as a "vendor a known-good version" decision rather than "track latest." Pin exactly, review before each Laravel major, and keep the wrapper thin so replacing it is one adapter.
  • Two questions for the maintainer before we commit: what Laravel versions are supported going forward, and is there an upgrade/breaking-change policy we can rely on? If those go unanswered, the spike still proceeds — but the recommendation becomes "adopt with a fork plan," and we budget internal ownership accordingly.

The one-line version for the roadmap doc: Buy the cart container, own the cart math.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource