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 | 5.6 (Apache mod_php, no CGI, no Fast CGI nor FPM) | Required |
Symfony | 2.7 | Shipped with PIM |
Main Symfony bundles
Oro Platform | Open source Business Application Platform |
Doctrine | ORM (and/or ODM) to abstract interactions with databases |
KNP Menu | Manages menus and navigation more easily |
League Flysystem | Filesystem abstraction layer |
Liip Imagine | Manages image manipulation and caching |
APY JSFV | Form validation provided on the frontend side |
JMS Serializer | Manages data serialization and deserialization |
FOS REST | Manages REST interactions |
Genemu Form | Adds more complex form widgets |
FOS JS Routing | Allows to expose application routing on the JavaScript side |
Leafo LessPHP | Converts LESS stylesheets to CSS stylesheets |
Testing libraries¶
To ensure the best possible quality of our product and avoid any regressions we created unit and functional tests using various libraries such as:
PHPSpec | Intuitive unit testing with mocking |
Behat | Functional testing |
PHPUnit | Basic but powerful unit testing library (for legacy tests, we now use phpspec) |
Frontend technologies¶
Javascript dependencies
Backbone.js | Data binding framework |
Require.js | 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 |