roundly-consulting/shops-for-laravel
Shops for Laravel adds lightweight shop and storefront support to Laravel apps, with simple configuration and an Eloquent-friendly API for managing shops and related data.
Assessment basis: Release notes for 1.1.0 only; package source, documentation, and test suite were not provided.
Architecture fit
Shop Eloquent model, a packaged ShopFactory, and configuration that lets the host application substitute its own tenant model.ShopModel::shop() centralizes resolution of the configured tenant class. For a TPM, this is a useful leverage point: host teams can add domain fields and relationships to a custom shop model without forking the package.Integration feasibility
Shop, integration is mostly configuration plus updating direct references to the base model.ShopModel::shop() returns the configured class only when it extends Shop; otherwise it returns Shop. A host with a non-extending model may believe it is using its custom model while the package silently uses the base one.Technical risk
Shop instances may need updates.shop()) may be confusing: it returns a class-string, not an instance or query builder. Teams may misuse it as ShopModel::shop()::factory() versus ShopModel::shop()::query().Key questions
config:cache?ShopModel::shop() return a class-string, an instance, or a factory? Is the return type documented?Shop, does the package log, throw, or silently fall back? Can that behavior be made configurable?Stack fit
Shop as a base class and extends it for domain-specific behavior.Migration path
^1.1.0 and review the package config.Shop model that extends the package Shop.Shop model and replace them with ShopModel::shop() where the configured model should be honored.Shop despite configuration, update assertions or fixtures.Compatibility
Sequencing
Shop.Maintenance
Shop changes.Shop and that config is cached correctly.Support
Shop.Scaling
Failure modes
Shop, losing custom behavior.Shop changes → host custom model inheritance drift; require regression tests.Ramp-up
ShopModel::shop() semantics, factory behavior, and the fallback rule.How can I help you explore Laravel packages today?