Framework
aimeos/aimeos avatar
aimeos/aimeos

Aimeos: A Laravel E-Commerce Platform for Shops and Marketplaces

Integrated online shop based on Laravel and the Aimeos e-commerce framework for ultra-fast online shops, scalable marketplaces, complex B2B applications and #gigacommerce

5,459 stars329 forksJavaScriptMIT

At a glance

What is it?
Aimeos is an open-source, API-first e-commerce platform built on Laravel that covers everything from a single-product store to a multi-vendor marketplace. It installs via Composer, ships with a GraphQL admin API and a JSON REST frontend API following the jsonapi.org specification, and supports 30 or more languages out of the box.
Who is it for?
Aimeos is the right choice for Laravel teams who need multi-vendor, B2B, or marketplace capability and are prepared to manage a PHP 8.2 stack with one of four supported databases. It is the wrong choice for teams seeking a hosted storefront with no server configuration, or for projects that cannot satisfy the database version requirements.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 63 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 28, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A Full E-Commerce Stack for Laravel Developers

Aimeos is an open-source e-commerce package designed for Laravel developers who need more than a simple checkout form. The project targets teams building anything from a single-storefront shop to a multi-vendor marketplace with millions of products. Rather than asking developers to learn a separate framework, it integrates into an existing Laravel codebase or ships as a standalone application.

The feature scope is wide. The README describes support for bundle products, vouchers, virtual goods, configurable products, event products, and custom products in a single catalogue. Subscriptions with recurring payments are included. Block pricing and tier pricing work out of the box, with customer-group pricing available as an extension. This makes the platform a reasonable starting point for B2B catalogues where prices differ by buyer.

The database layer supports MySQL 5.7.8 or newer, MariaDB 10.2.2 or newer, PostgreSQL 9.6 or newer, and SQL Server 2019 or newer. That breadth matters when you are deploying Aimeos into existing infrastructure with a fixed database engine rather than choosing one from scratch. The web server requirements cover Apache, Nginx, or the integrated PHP server for local testing.

API-First Architecture with jsonapi.org and GraphQL

The platform exposes two APIs with distinct roles. The customer-facing API follows the jsonapi.org specification, which means any JSON:API-compliant client library can consume it without custom parsing logic. The administration API uses GraphQL. GraphQL on the admin side suits deep reads: fetching a product record with all its prices, attributes, and category assignments in a single query is more practical with GraphQL than with a REST endpoint that would require multiple round trips.

The codebase is fully modular. The README states that any component can be adapted, extended, overwritten, or customised. In practice this means Aimeos ships with defaults for cart rules, basket calculations, and delivery cost estimation, but none of those defaults are fixed. You replace only the parts that differ from what you need.

Cloud deployment is a design priority. The project targets AWS, Google Cloud, Azure, and Kubernetes. The docker-compose.yml in the repository pairs a PHP 8.2 application container using the Laravel Sail runtime with a MySQL 8.0 database and a MinIO object storage service. This gives a self-contained local development environment with file storage handled from the start, requiring no external service during development. The README describes response times as low as 20ms, which the documentation attributes to the architecture rather than a specific benchmark setup.

Installing Aimeos and Configuring the First Store

The README gives a two-command install path using Composer 2.2 or newer. The first command downloads the Composer binary. The second creates a complete Laravel application with Aimeos pre-configured.

bash
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
php composer create-project aimeos/aimeos myshop

During installation you are prompted for database connection parameters, mail server settings, and an administrator email and password. Composer handles dependency resolution and will report any missing PHP extensions before they block the setup. This makes the dependency surface visible at install time rather than at runtime.

The .env.example file in the repository shows four shop-level flags that control operational scope.

code
SHOP_MULTILOCALE=false
SHOP_MULTISHOP=false
SHOP_REGISTRATION=false
SHOP_PERMISSION=admin

Setting SHOP_MULTILOCALE to true enables multi-language URL routing. SHOP_MULTISHOP enables the multi-vendor and multi-channel features. SHOP_REGISTRATION controls whether customers can create their own accounts. These flags let you begin with a minimal single-store configuration and widen the scope later by changing environment variables rather than refactoring code. Once installation completes, the application serves both the customer storefront and the administration backend, which connects to the GraphQL API.

Multi-Vendor, Recurring Billing, and Language Coverage

Activating multi-vendor operation requires setting SHOP_MULTISHOP to true. The README describes support for an unlimited number of vendors in a multi-tenant SaaS marketplace model, where each vendor manages their own product catalogue and order workflow within a shared installation. The documentation also mentions a dedicated marketplace extension for operations with millions of vendors.

Subscriptions add a billing-cycle layer on top of standard product sales. The platform handles recurring charges, though the README does not specify which of the 100 or more supported payment gateways also handle recurring billing mandates versus which handle only one-time charges. That distinction is worth confirming with your chosen payment provider before building subscription flows, since mandate support varies by gateway.

Internationalisation coverage is extensive. The project provides translations for 30 or more languages managed through Transifex. The supported set includes Arabic and Persian for right-to-left markets, with RTL support documented as available in both the customer frontend and the administration backend. An AI-based translation option is mentioned for generating an initial translation pass. The breadth of language coverage matters for teams building for non-English markets without wanting to manage translation files manually.

Where Aimeos Is the Wrong Tool

Aimeos is not the right pick for a landing page with a single buy button. A full installation requires a web server, PHP 8.2, one of four supported database versions, a configured mail server, and optionally an object storage service. Teams that want a hosted checkout with no server management overhead will find the setup disproportionate to the task.

There are no GitHub releases in the aimeos/aimeos repository. Versioning is tracked through Packagist. This means there is no release notes feed on the GitHub releases page; following changes requires watching Packagist or the changelog at aimeos.org.

Major version upgrades carry an explicit documentation cost. The README links to an upgrade guide and warns that upgrading between major versions requires following it. A composer update alone is not sufficient for major version jumps.

Customisation also has a learning cost. The correct pattern is to extend the relevant Aimeos class in your application code rather than editing vendor files. This keeps upgrades clean but requires knowing which layer to extend for any given change. Teams without prior experience in the Aimeos class hierarchy will spend time reading the framework documentation before their first significant override.

Aimeos vs. Bagisto: Two Different Integration Models

Bagisto is a standalone Laravel e-commerce application with a Vue.js-powered storefront. The key difference from Aimeos is the integration approach. Bagisto is a full application you deploy with its own frontend pre-wired. Aimeos offers the same standalone deployment path, but also lets you install the aimeos/aimeos-laravel Composer package into a Laravel application you already control.

That second path matters when you have an existing Laravel project with its own authentication, user management, or domain logic already in place. Aimeos routes alongside your existing routes rather than requiring a separate deployment with a separate user database.

For teams building a single-page application or progressive web application, Aimeos provides a third path: the aimeos/aimeos-headless distribution. The README describes it as configured for API-only use with JWT authentication pre-configured, leaving the frontend entirely to your chosen JavaScript framework. Bagisto's Vue-based storefront is not designed to be replaced in the same way, which makes Aimeos the more appropriate choice when the frontend technology is not settled or must match an existing design system.

Licence, Maintenance Status, and Upgrade Path

Aimeos is distributed under the MIT licence. There are no copy-left obligations. You can use it in closed-source commercial products and in multi-tenant SaaS platforms without publishing your modifications. The licence does not restrict deployment model, which is relevant for marketplace operators billing vendors for access.

The last push to the repository was on 2026-07-29, indicating the project is receiving ongoing changes. Because there are no GitHub releases in this repository, the versioning history lives in Packagist rather than the GitHub releases page. For automated dependency audits, this means pointing your tooling at Packagist rather than GitHub.

For major version upgrades, the README explicitly links to an upgrade guide at aimeos.org/docs/latest/laravel/setup/#upgrade. Reading that guide before running an upgrade in production is not optional: the README warns that major version upgrades require following it. The upgrade documentation is hosted externally, which means the offline-readable files in the repository do not cover upgrade procedures. Budget time for reading the guide against both your current version and your target version before scheduling maintenance.

Editorial conclusion

Aimeos is the right choice for Laravel teams who need multi-vendor, B2B, or marketplace capability and are prepared to manage a PHP 8.2 stack with one of four supported databases. It is the wrong choice for teams seeking a hosted storefront with no server configuration, or for projects that cannot satisfy the database version requirements. Before committing, run `php composer create-project aimeos/aimeos myshop` against your target environment and confirm that the database connection, mail server, and administrator account creation all complete cleanly during the Composer setup phase.

Frequently asked questions

What databases does Aimeos support besides MySQL?

The README lists MySQL 5.7.8 or newer, MariaDB 10.2.2 or newer, PostgreSQL 9.6 or newer, and SQL Server 2019 or newer as supported databases. All four are documented as valid targets for a full Aimeos installation.

Can I add Aimeos to an existing Laravel application without starting a new project?

Yes. The aimeos/aimeos-laravel Composer package is the path for existing applications. The README describes it as a way to add e-commerce to an existing Laravel application in minutes, in contrast to the aimeos/aimeos standalone project, which creates a new Laravel application from scratch.

Does Aimeos support headless or API-only deployments for single-page applications?

The README describes the aimeos/aimeos-headless distribution as the right choice for building a single-page application or progressive web application. That distribution is configured for API-only use with JWT authentication pre-configured, leaving the frontend to your chosen JavaScript framework.

Official sources

  1. aimeos/aimeos on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/aimeos-aimeos.svg)](https://hysenlabs.com/projects/aimeos-aimeos)