Architecture Overview

Before we dive separately into every Jedisjeux concept, you need to have an overview of how our main application is structured.

Fullstack Symfony

../../_images/symfonyfs.png

Jedisjeux is based on Symfony, which is a leading PHP framework to create web applications. Using Symfony allows developers to work better and faster by providing them with certainty of developing an application that is fully compatible with the business rules, that is structured, maintainable and upgradable, but also it allows to save time by providing generic re-usable modules.

Learn more about Symfony.

Doctrine

../../_images/doctrine.png

Doctrine is a family of PHP libraries focused on providing data persistence layer. The most important are the object-relational mapper (ORM) and the database abstraction layer (DBAL). One of Doctrine’s key features is the possibility to write database queries in Doctrine Query Language (DQL) - an object-oriented dialect of SQL.

To learn more about Doctrine - see their documentation.

Twig

../../_images/twig.png

Twig is a modern template engine for PHP that is really fast, secure and flexible. Twig is being used by Symfony.

To read more about Twig, go here.

Third Party Libraries

Jedisjeux uses a lot of libraries for various tasks:

  • Sylius for routing, controllers, data fixtures, grids, products, reviews, taxonomy
  • KnpMenu - for backend menus
  • Imagine for images processing, generating thumbnails and cropping
  • Pagerfanta for pagination
  • Winzou State Machine - for the state machines handling