aimeos/aimeos-headless

Aimeos headless ecommerce system

Installs: 1 646

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1 471

Watchers: 4

Forks: 22

Open Issues: 0

Language:JavaScript

Type:project


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:

           

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