dystcz/dystore
Dystore is a Laravel/PHP e-commerce package that provides a flexible foundation for building online stores, with tools for product, cart, and order management and an extendable architecture suited to custom storefronts and commerce features.
What shipped (1.0.15)
GET account-exists check, DELETE user endpoint, and registration without a password. These are auth/identity changes, not just commerce features — they widen the package's blast radius into security-sensitive territory.reviews now relates to orders, implying a new nullable FK and a migration, plus a change in how reviews are attributed and displayed.PublishedScope — behavior change for store admins (unpublished reviews now visible).1.5.0-beta.6, Pest ^4.0.Architecture fit
Integration feasibility
composer require, publish assets, run migrations. No new infrastructure.composer why-not before planning.Technical risk
^1.0.1.5.0-beta.6 puts a production commerce data layer on a pre-release dependency. Upstream schema/behavior churn is outside your control.DELETE user needs explicit policy: hard vs soft delete, order/invoice retention for tax and accounting, review anonymization (a review with an order relation now carries PII linkage), and cascade behavior across Lunar tables.Key questions
beta.6 API-frozen?DELETE user soft or hard? Does it preserve order/invoice history for tax retention?Stack fit
Migration path
PHP 8.3 → Laravel 12 → Lunar 1.5.0-beta.6 → dystore 1.0.15, in that order, each step independently verifiable.Compatibility
composer.json constraints and any first-party packages that pin Lunar 1.4.x or Laravel 11 — those are hard blockers, not warnings.Sequencing
1.5.0-beta.6; re-run migrations on a snapshot; verify catalog, cart, checkout, order flows.Maintenance
composer update.Support
Scaling
whereHas/join chains. Load-test product listing under realistic category depth and collection nesting; watch for missing composite indexes on availability + collection pivot columns.Failure modes
PublishedScope was removed from the Filament listing.Ramp-up
How can I help you explore Laravel packages today?