aimeos/aimeos-headless

Aimeos headless ecommerce system

Installs: 1 303

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1 130

Watchers: 3

Forks: 18

Open Issues: 0

Language:JavaScript

Type:project

2024.04.1 2024-04-18 08:20 UTC

README

Aimeos logo

Aimeos headless distribution

⭐ 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:

68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f75732e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f64652e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f66722e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f65732e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f6e6c2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f69742e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f70742e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f646b2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f66692e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f73762e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f6e6f2e737667     68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f706c2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f68752e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f72752e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f75612e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f68722e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f736c2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f726f2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f637a2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f73722e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f736b2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f65742e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f6c762e737667     68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f74722e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f73612e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f69722e737667     68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f636e2e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f6a702e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f69642e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f76692e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f6d792e737667 68747470733a2f2f666c616769636f6e732e6c697069732e6465762f666c6167732f3478332f6b722e737667

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:

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:

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

Aimeos admin backend

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.

Links