We incorporate many high IT standards in our software development. Shortly speaking, our application is divided into three different areas written in different ways. We incorporate MVP (Model-View-Presenter) paradigm to create Leon. We use Red Hat on our servers and application is served using nginx server.
This is all about the User Interface (UI) and we use React.js to deliver all those controls user is interacting with. Currently we are changing a lot of our UI from GWT to React. We have a dedicated department of several developers working only on Front-end.
Design of the functionality starts from user’s perspective, thus Front-end is usually involved first in the creation of any new functions.
We also measure our customers satisfaction based on UI response times. We use New Relic for this purpose.
All application logic, permission checking and database management is done here. We use PHP 5.6 with the latest language improvements for that part of the code. Database is driven by MySQL 5.5 server. We are using PHP Unit for unit tests as a standard of logic development for all new classes. We have also introduced Event Driven Programming (EDP) for application logic which is a great step forward in terms of modules independence and future scalability.
Back-end is the second developers department in our company and we have also several developers working in this area. Now they are maintaining old Leon code and preparing new code designed to be integrated with new UI.
We use Gulp for supporting development process and publishing Leon on all of our servers.
Front-end and Back-end are talking together through application programmer interfaces. These interfaces are written on the Back-end part and connectors on the Front-end side. We have introduced our own protocol based on JSON which is very flexible and allows to transport multiple Front-end requests in one browser call.