Technical architecture

#Application Technical Dependencies

Akeneo PIM application relies on several web technologies to work properly. We list here all the various technologies used by the application to deliver the best user experience.

#Backend technologies

Symfony and PHP

The application relies on Symfony framework. This web framework allows Akeneo PIM application to be built on a solid structure with a wonderful ecosystem of bundles and libraries. This means that Akeneo PIM installation process will use composer to install or update all these dependencies easily.

PHP

8.0 (Apache Fast CGI with FPM, no CGI, nor mod_php)

Required

Symfony

5.4

Shipped with PIM

Main Symfony bundles

Oro Platform

Open source Business Application Platform

Doctrine

ORM (and/or ODM) to abstract interactions with databases

League Flysystem

Filesystem abstraction layer

FOS OAuth Server

Server side OAuth2 Bundle for Symfony2

FOS REST

Manages REST interactions

Monolog

Sends your logs to files, sockets, inboxes, databases and various web services

#Testing libraries

To ensure the best possible quality of our product and avoid any regressions we created unit, integration and functional tests using various libraries such as:

PHPSpec

Intuitive unit testing with mocking (for unit tests and classes design)

Behat

Behavior Driven Development framework (for functional tests)

PHPUnit

Basic but powerful unit testing library (for integration tests)

#Frontend technologies

Javascript dependencies

Backbone.js

Data binding framework

React.js

A javascript library for building user interfaces

Webpack

Dependency loader

Underscore.js

Useful toolkits library

Bootstrap (2.3)

Frontend framework

jQuery Frontend

library used mostly for DOM interaction

jQuery UI

Frontend library to improve user experience with better widgets

Various widgets

Select2 (v3), etc.

Styling dependencies

As mentioned in the Symfony bundles dependencies above, we use LESS stylesheets to provide developers with a smarter way to manage styles than bare CSS stylesheets.

Bootstrap

Twitter Bootstrap CSS stylesheets

jQuery UI

jQuery UI CSS stylesheets


Found a typo or a hole in the documentation and feel like contributing?
Join us on Github!