Leon's architecture can be divided into three areas:
- server-side responsible for business logic and data storage
- user interface
- server infrastructure ensuring high availability of the application
The latest versions of technologies are applied in all three areas. Our daily practice is based on Continuous Integration, Continous Deliver and Continous Testing.
The part of the system that manages the business logic and data storage is based on PHP and MySQL database. We try to follow the best principles of the object-oriented programming. The code is automatically tested with the use of PHPUnit library. This area is also greatly supported by Redis and RabbitMQ servers.
The user interface is written in Java Script (ES6) with the use of ReactJS library. This space is mainly based on functional programming paradigm. The code that we create is covered with automatic unit tests written using Jest framework.
The server infrastructure on which Leon is running relies on Amazon's Cloud. We have built scalable clusters based on Linux servers and Docker containers. All three areas are consistently monitored with a use of tools such as NewRelic, AWS Cloud Watch, Loggly.