Awesome
<a href="https://aimeos.org/"> <img src="https://aimeos.org/fileadmin/template/icons/logo.png" alt="Aimeos logo" title="Aimeos" align="right" height="60" /> </a>Aimeos headless distribution
:star: Star us on GitHub — it motivates a lot!
Aimeos is THE ultra-fast, cloud-native and API-first headless ecommerce for Laravel! You can adapt, extend, overwrite and customize anything to your needs.
Features
Aimeos is a full-featured e-commerce package:
- JSON REST API based on jsonapi.org
- GraphQL API for administration
- Perfect fit for AWS, Google, Azure and Kubernetes based clouds
- Multi vendor, multi channel and multi warehouse
- From one to 1,000,000,000+ items
- Extremly fast down to 20ms
- For multi-tentant e-commerce SaaS solutions with unlimited vendors
- Bundles, vouchers, virtual, configurable, custom and event products
- Subscriptions with recurring payments
- Block/tier pricing out of the box
- Extension for customer/group based prices
- Discount and voucher support
- Flexible basket rule system
- Full-featured admin backend
- Beautiful admin dashboard
- Configurable product data sets
- Completly modular structure
- Extremely configurable and extensible
- Extension for market places with millions of vendors
- Translated to 30+ languages
- Full RTL support
- AI-based text translation
- Secure and reviewed implementation
- High quality source code
... and more Aimeos features
Supported languages:
<p align="center" style="display: inline;"> <a href="https://www.transifex.com/aimeos/"><img src="https://flagicons.lipis.dev/flags/4x3/us.svg" title="English" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/de/"><img src="https://flagicons.lipis.dev/flags/4x3/de.svg" title="German" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fr/"><img src="https://flagicons.lipis.dev/flags/4x3/fr.svg" title="French" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/es/"><img src="https://flagicons.lipis.dev/flags/4x3/es.svg" title="Spanish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/nl/"><img src="https://flagicons.lipis.dev/flags/4x3/nl.svg" title="Dutch" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/it/"><img src="https://flagicons.lipis.dev/flags/4x3/it.svg" title="Italian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/pt/"><img src="https://flagicons.lipis.dev/flags/4x3/pt.svg" title="Portuguese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/da/"><img src="https://flagicons.lipis.dev/flags/4x3/dk.svg" title="Danish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fi/"><img src="https://flagicons.lipis.dev/flags/4x3/fi.svg" title="Finnish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sv/"><img src="https://flagicons.lipis.dev/flags/4x3/sv.svg" title="Swedish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/no/"><img src="https://flagicons.lipis.dev/flags/4x3/no.svg" title="Norwegian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/pl/"><img src="https://flagicons.lipis.dev/flags/4x3/pl.svg" title="Polish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/hu/"><img src="https://flagicons.lipis.dev/flags/4x3/hu.svg" title="Hungarian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ru/"><img src="https://flagicons.lipis.dev/flags/4x3/ru.svg" title="Russian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/uk/"><img src="https://flagicons.lipis.dev/flags/4x3/ua.svg" title="Ukrainian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/hr/"><img src="https://flagicons.lipis.dev/flags/4x3/hr.svg" title="Croatian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sl/"><img src="https://flagicons.lipis.dev/flags/4x3/sl.svg" title="Slovenian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ro/"><img src="https://flagicons.lipis.dev/flags/4x3/ro.svg" title="Romanian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/cs/"><img src="https://flagicons.lipis.dev/flags/4x3/cz.svg" title="Czech" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sr/"><img src="https://flagicons.lipis.dev/flags/4x3/sr.svg" title="Serbian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sk/"><img src="https://flagicons.lipis.dev/flags/4x3/sk.svg" title="Slovak" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/et/"><img src="https://flagicons.lipis.dev/flags/4x3/et.svg" title="Estonian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/lv/"><img src="https://flagicons.lipis.dev/flags/4x3/lv.svg" title="Latvian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/tr/"><img src="https://flagicons.lipis.dev/flags/4x3/tr.svg" title="Turkish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ar/"><img src="https://flagicons.lipis.dev/flags/4x3/sa.svg" title="Arabic" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fa/"><img src="https://flagicons.lipis.dev/flags/4x3/ir.svg" title="Persian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/zh/"><img src="https://flagicons.lipis.dev/flags/4x3/cn.svg" title="Chinese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ja/"><img src="https://flagicons.lipis.dev/flags/4x3/jp.svg" title="Japanese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/id/"><img src="https://flagicons.lipis.dev/flags/4x3/id.svg" title="Indonesian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/vi/"><img src="https://flagicons.lipis.dev/flags/4x3/vi.svg" title="Vietnamese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/my/"><img src="https://flagicons.lipis.dev/flags/4x3/my.svg" title="Burmese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ko/"><img src="https://flagicons.lipis.dev/flags/4x3/kr.svg" title="Korean" width="24"></a> </p>Check out the demos:
Alternatives
Integrate into existing applications
You already have an existing Laravel application and want to add a shop to your web site? Install the Aimeos composer package for Laravel and add e-commerce to your existing application in minutes:
:star: Aimeos Laravel package
Full shop application
If you want to set up a new application or test Aimeos, we recommend the Aimeos shop distribution. It contains everything for a quick start and you will get a fully working online shop in less than 5 minutes:
:star: Aimeos shop distribution
Table of content
Requirements
The Aimeos headless distribution requires:
- AWS, Google, Azure or Kubernetes cloud, Linux/Unix, WAMP/XAMP or MacOS environment
- PHP >= 8.2
- MySQL >= 5.7.8, MariaDB >= 10.2.2, PostgreSQL 9.6+, SQL Server 2019+
- Web server (Apache, Nginx or integrated PHP web server for testing)
If required PHP extensions are missing, composer
will tell you about the missing
dependencies.
If you want to upgrade between major versions, please have a look into the upgrade guide!
Installation
To install the Aimeos shop application, you need composer 2.2+. On the CLI, execute this command for a complete installation including a working setup:
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
php composer create-project aimeos/aimeos-headless headless
You will be asked for the parameters of your database and mail server as well as an e-mail and password used for creating the administration account.
In a local environment, you can use the integrated PHP web server to test your new Aimeos installation. Simply execute the following command to start the web server:
cd headless
php artisan serve
Note: In an hosting environment, the document root of your virtual host must point to
the /.../headless/public/ directory and you have to change the APP_URL
setting in your .env
file to your domain without port, e.g.:
APP_URL=http://myhostingdomain.com
JSON REST API
After the installation, you can test the Aimeos JSON REST API by calling the URL of your VHost in your browser. If you use the integrated PHP web server, you should browse this URL: http://127.0.0.1:8000/jsonapi
Learn how to use the JSON REST API
Authenticate
To authenticate using e-mail and password, send a POST request:
curl -X POST "http://127.0.0.1:8000/api/login?email=me@localhost&password=test"
If the authentication was successful, the API will return with a response like this:
{"access_token":"eyJ0eXAiOiJKV...","token_type":"bearer","expires_in":3600}
Use this access token in all further requests as HTTP header:
curl -X POST "http://127.0.0.1:8000/api/me" -H "Authorization: Bearer eyJ0eXAiOiJKV..."
Backend
The Aimeos administration interface will be available at /admin
in your VHost. When using
the integrated PHP web server, call this URL: http://127.0.0.1:8000/admin
Cloud filesystems
To use cloud storage like AWS S3 compatible object storages, adapt the resource/fs
sections
in the ./config/shop.php
file and configure the filesystem like this:
composer req ai-filesystem league/flysystem-aws-s3-v3
'fs' => [
'adapter' => 'FlyAwsS3',
'credentials' => [
'key' => 'your-key',
'secret' => 'your-secret',
],
'region' => 'your-region',
'version' => 'latest|api-version',
'bucket' => 'your-bucket-name',
'prefix' => 'your-prefix', // optional
'baseurl' => 's3-domain-and-path'
],
For Azure Blob storage use:
composer req ai-filesystem league/flysystem-azure-blob-storage
'fs' => [
'adapter' => 'FlyAzure',
'endpoint' => 'DefaultEndpointsProtocol=https;AccountName=your-account;AccountKey=your-api-key',
'container' => 'your-container',
'prefix' => 'your-prefix', // optional
'baseurl' => 'azure-domain-and-path'
],
And for Google Cloud storage:
composer req ai-filesystem league/flysystem-google-cloud-storage
'fs' => [
'adapter' => 'FlyGoogleCloud',
'keyFile' => json_decode(file_get_contents('/path/to/keyfile.json'), true), // alternative
'keyFilePath' => '/path/to/keyfile.json', // alternative
'projectId' => 'myProject', // alternative
'prefix' => 'your-prefix' // optional
'baseurl' => 'gcloud-domain-and-path'
],
Customize
Laravel and the Aimeos headless ecommerce distribution are extremely flexible and highly customizable. A lot of documentation for the Laravel framework and the Aimeos ecommerce framework exists. If you have questions about Aimeos, don't hesitate to ask in our Aimeos forum.
License
The Aimeos shop system is licensed under the terms of the MIT and LGPLv3 license and is available for free.