Webshop
Description
Webshop is Enso's storefront and customer-account backend.
The package exposes localized web routes for catalog, cart, favourites, customer account, reviews, pages, and checkout-adjacent flows, plus internal API routes for administrative settings and operational integration. It stores storefront entities such as products, orders, cart entries, favourites, slides, subscribers, reviews, and review votes, and wires notifications, observers, and middleware around the public shopping experience.
Installation
This is a proprietary package distributed through the private Enso registry.
Run the migrations:
php artisan migrate
Make sure the host application also has the required web middleware, translated routes, and Inertia frontend stack configured.
Features
- Localized public web routes for home, category/product browsing, search, cart, favourites, contact, FAQ, policy pages, and review flows.
- Customer-account routes for profile summary, addresses, companies, orders, payment, and confirmation pages.
- Public helpers for country/region/locality options and subscription endpoints.
- Rich ecommerce models for orders, products, categories, brands, carts, reviews, and transactions.
- Notifications for contact forms, incomplete orders, review lifecycle, registration, and password reset.
- Product and review observers plus storefront middleware services.
Usage
The package registers both:
routes/api.phpfor internal API integrationroutes/web.phpplus many nested route files for the public storefront
Important storefront areas:
- public pages: home, contact, FAQ, privacy, terms, shipping and return policy
- products: catalog, search, show
- cart: show and edit cart state
- favourites
- reviews
- account summary, addresses, companies, orders
Core models include:
BrandCategoryProductOrderCartEntryFavouriteReviewSettingsSubscriber
Important configuration:
return [
'productIdentifier' => env('WEBSHOP_PRODUCT_IDENTIFIER', 'slug'),
'facetAttribute' => env('WEBSHOP_FACET_ATTRIBUTE', 'webshop'),
'settingsId' => env('WEBSHOP_SETTINGS_ID', 1),
];
Payment methods and fulfillable payment methods are also configured from config/webshop.php.
API
This package exposes its backend integration through the routes, controllers, services, jobs, and configuration points referenced in the usage examples above.
Consumers should rely on the published config keys, documented route groups, and explicit service classes shown in the examples. Internal helper classes, listeners, casts, and background jobs are implementation details unless the README calls them out as extension points.
Depends On
Required Enso packages:
laravel-enso/core↗laravel-enso/dynamic-methods↗laravel-enso/categories↗laravel-enso/cnp-validator↗laravel-enso/companies↗laravel-enso/countries↗laravel-enso/eav↗laravel-enso/enums↗laravel-enso/facebook↗laravel-enso/google↗laravel-enso/helpers↗laravel-enso/migrator↗laravel-enso/product-eav↗laravel-enso/sale-channels↗laravel-enso/rememberable↗
Companion frontend package:
External service dependency:
- Inertia storefront routes and localized public web pages
- Google and Facebook integrations used by selected storefront features
Contributions
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!