{% extends 'Layouts/Doc/default.html.twig' %} {% block title %}{{ 'app.documentation.menu.architecture.drivers'|trans }}{% endblock %} {% block headerPageTitle %}{{ 'app.documentation.menu.architecture.drivers'|trans|upper }}{% endblock %} {% block body %}
Architectural Drivers are the key factors that influence all the decisions we take during the application development. Historically, a lot of them were taken unconsciously, but, happily, resulted in good decisions that we can undoubtedly justify today. All of them have a significant influence on the Popina Order version {{ foxorders_version }} as an application - they can and should be used to guide us during the development, to take the best decision for the product.
Due to the decision to base Popina Order on the Symfony framework (see below), PHP was the only possible option as a programming language. Nevertheless, /strong>a good decision! This language is dynamically developing for the last few years and still power up most of the websites and application in the world wide web.
React lets you build rich user-interfaces easily. Quality of user-interfaces is important because a poorly designed user-interface is generally less user-friendly and the users will not like a poorly designed UI.
If your web app has cool, high-quality UIs, your users will love to use your app. So building high-quality user-interfaces is crucial to business success.
Yes, you can build cool interfaces with other technologies too, but React lets you do it easily using the declarative components.
Popina Order 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. Also it allows to save time by providing generic re-usable modules.
Popina Order, by default, uses the Doctrine ORM for managing all entities. 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.
For deeper understanding of how Doctrine works, please refer to the excellent documentation on their official website.
Twig, use in the backoffice (admin, manager and shop ownner) 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.
API Platform, is a modern solution for developing high quality APIs. API Platform works by default with Symfony and depends on its components.
To read more about API Platform, go here.
Popina Order uses Expo, a framework and a platform for universal React applications. It supplies a set of tools and services that simplify the development and testing of ReactJs apps, offering/giving the possibility to run the code on your phone easily. Besides that, Expo provides a more robust and developer-friendly workflow.
This chapter was created inspired by the following sources: