GetCandy is a package that brings functionality akin to Shopify and other e-commerce platforms to Laravel. You have complete freedom to create your storefront(s), but GetCandy has already done the hard work for you in the backend.
GetCandy can be added to any Laravel application and have the functionality to rival other offerings. The core package provides models for working with e-commerce, such as Cart objects and other conveniences around carts like matching a cart to a user/guest session.
Here's an example from the carts documentation that illustrates creating a cart, adding products, and accessing cart data:
1$cart = Cart::create([2 'currency_id' => 1,3 'channel_id' => 2,4]);56$cart->lines()->create([7 'purchasable_type' => ProductVariant::class,8 'purchasable_id' => 123,9 'quantity' => 2,10 'meta' => [11 'personalization' => 'Love you mum xxx',12 ]13]);1415// The total price value for the cart16$cart->total;1718// The cart sub total, excluding tax19$cart->subTotal;2021// The monetary value for the amount of tax applied.22$cart->taxAmount;2324// The monetary value for the discount total.25$cart->discountTotal;2627// This is a collection of all taxes applied across all lines.28$cart->taxBreakdown;
At the time of writing, GetCandy is in public beta with some exciting features on the horizon, such as connecting your application to a modern PWA storefront or native mobile app. Some of the main features included with GetCandy include:
- Admin hub to manage products
- Admin is extensible with custom add-ons
- Cart management
- Product associations
- Currency models and exchange rates
- User and customer management
- Laravel Media Library support for images
- Localization support
- Order models and management
- And much more
To get started with GetCandy, the documentation will guide you through installation, configuration and provide a guide to learn how to work with this project. Since this project is open-source, you view the GetCandy source code on GitHub.