DEV Community

Cover image for Laravel E-Commerce - Open Source Top 4
toco
toco

Posted on • Edited on • Originally published at Medium

Laravel E-Commerce - Open Source Top 4

Laravel eCommerce describes online shop, marketplace and B2B eCommerce solutions based on the Laravel PHP framework. They can be standalone applications, headless API microservices or packages that can be installed in any Laravel application to add eCommerce features to existing setups.

Laravel is the most popular PHP framework and that for good reasons:

  • Easy to customize and use
  • Really great community
  • Fast and scalable

These reasons make Laravel a perfect choice for building online shops and eCommerce applications. For our favorite PHP framework, eCommerce packages for different purposes exist. Here's a list of the top Laravel eCommerce packages in their category:

Which package is best may depend on your own requirements, so let's have a look which suits best for each case.

Aimeos

Aimeos

Aimeos is the eCommerce framework for Laravel and is built to be as extensible as the Laravel PHP framework itself. It integrates into existing Laravel 10/11/12/13 applications. It's feature rich and you can adapt everything to your needs regardless of what your requirements are.

Homepage: https://aimeos.org/Laravel

Supports: Laravel 10.x, 11.x, 12.x, 13.x (PHP 8.1+)

Positive:

  • Supports all current Laravel versions
  • Multi channel, multi vendor and multi inventory support
  • Has multi-tenant SaaS support including custom domains
  • Ultra fast render times of 20ms and response times of 100ms
  • Has virtual, configurable and custom products incl. bundles
  • Sell every product as subscription with recurring payment
  • Supports discount rules and vouchers
  • 100+ payment and shipping gateways via the Omnipay PHP library
  • JSON REST API built on the jsonapi.org standard
  • Extension to build your own marketplaces available
  • Great documentation available

Negative:

  • Learning curve due to its huge feature set and extensible architecture

Bagisto

Bagisto

Bagisto is a stand-alone application that can't be integrated into already existing Laravel applications. It primarily targets small business and the middle east area with native RTL (right-to-left) support.

Homepage: https://bagisto.com

Supports: Laravel 11.x (Laravel 12 in the v2.4 beta)

Positive:

  • Has configurable, group, bundle and virtual products
  • Has multi channel and multi inventory support
  • Supports discount rules
  • JSON REST API built on the jsonapi.org standard
  • Extension to build your own marketplaces available
  • Two-factor authentication and reCAPTCHA Enterprise for the admin
  • Lots of videos from the company about Bagisto

Negative:

  • Not suitable for existing Laravel applications
  • No real multi-currency support (fixed conversion only)
  • Most payment integrations beyond the basics must be paid for
  • ~100 tables incl. fixed structures that are hard to extend
  • Requires Elasticsearch or Algolia for fast search
  • CMS features are too simple for real use
  • Limited documentation

Lunar (formerly GetCandy)

Lunar (formerly GetCandy)

Lunar is the rebrand of GetCandy (renamed in 2022) and is a headless eCommerce package. It ships a core package plus a modern admin panel built on Filament for managing products, customers and orders. No production storefront is included – you build the front-end yourself, with a Livewire demo store and starter kits as a reference.

Homepage: https://lunarphp.com

Supports: Laravel 12.x, 13.x (PHP 8.3+)

Positive:

  • Stable v1.x release (no longer in alpha)
  • Modern, extensible admin panel based on Filament
  • First-party Stripe, PayPal and Opayo payment drivers
  • Uses your normal database (MySQL/PostgreSQL) – no Elasticsearch required
  • Headless by design – pair it with any front-end (Livewire, Vue, React, mobile)

Negative:

  • Headless only – no ready-to-use storefront, you build the front-end yourself
  • Smaller feature set than full shop frameworks
  • Limited number of built-in payment and shipping integrations
  • No multi-vendor / marketplace support out of the box
  • Younger ecosystem and smaller community than the alternatives

LaravelShoppingcart (shopping cart)

A shopping cart package is small, easy to use and contains a limited feature set. The LaravelShoppingcart package consists of a cart/wishlist only and needs to be integrated into an existing Laravel application. You have to implement products and checkout yourself.

Homepage: https://github.com/Crinsane/LaravelShoppingcart

Supports: Laravel 5.x–8.x officially; maintained community forks cover Laravel 9/10/11/12

Positive:

  • Easy to learn and relatively easy to integrate
  • If you already have products, it adds the cart features

Negative:

  • Feature set is very limited
  • A checkout process isn't available
  • Won't scale to higher volumes
  • No example template is included
  • The original repository is effectively unmaintained (last release 2019, ~180 open issues)
  • Newer Laravel support only via community forks

Conclusion

Aimeos is the top eCommerce framework for Laravel if you need a highly customizable solution that is able to scale. Bagisto offers a simple shop system based on Laravel if you start from a green field. LaravelShoppingcart is a good choice if you only need a cart for a few products, while Lunar is a solid option if you want a headless backend and admin and are happy to build the storefront yourself.

Let's discuss your own experiences :-)

Top comments (5)

Collapse
 
pathaksaurav profile image
Saurav Pathak

Could you please update your content regarding Bagisto? It does have multi language and multi currency support. Custom attributes anyone can make and its free, what is non-free, you might be referring to marketplace add-on. Bagisto can easily scale horizontally to higher volumes provided centralisation of DB, images on S3 and session on Reddis. There are enhancement on Github not unresolved issues.

Collapse
 
shop profile image
toco

As you've use the exact same wording as Sanjara at medium.com/@laravel_ecommerce/best..., I respond with the same reply and BTW: You should update your article (dev.to/pathaksaurav/top-3-best-lar...) yourself because it's extremely biased towards Bagisto, which you are working for.

Bagisto has made some design decisions like allowing only one language per channel/domain and offering prices for multiple currency only by a fixed conversion rate. That's no real multi language/currency support where you can add texts in several languages to products for each domain and use independent prices like 0.99 USD and 0.79 EUR. Instead, you wil get 0.99 USD and 0,82 EUR.

Also, you can throw a lot of hardware at Bagisto using AWS but searching for products won't scale well for higher product volumes. You should try with 100k products yourself if you don't believe me.

I've changed the statement about the unresolved issues because it's now better than a few months ago. Nevertheless, a lot of enhancements smell like bugs.

For the custom attributes I think you are right.

Collapse
 
pathaksaurav profile image
Saurav Pathak • Edited

There is nothing biased in the article. All it is presented is with the laravel eCommerce packages with what features are available, just for informative purpose. But since you are highlighting postive and negative in yours so its important to present with correct facts since many read your article and also make decisions.

For sure I am from Bagisto and there is nothing wrong in representing that, but since package keep evolving rather being stagnant, I recommend you to test the package now.

Thread Thread
 
shop profile image
toco

You bias by presentation because there are no images for AvoRed and Aimeos making them less relevant. Also, by using 1./2./3. you are implying Bagisto is better then the others but that's intended for sure as you are the marketing manager for Bagisto.

Had a look at current 1.2.0 again and I've updated the multi-language statement because there seems to be multi-language support even if it feels a bit like it's implemented as separate linked products.

Thread Thread
 
pathaksaurav profile image
Saurav Pathak

The multi-language support in bagisto is by the language you create and associate with channels. You can create any number of language and provide a description of the product in that language.