Programming
Different great solutions and technologies are based on different programming languages. To be able to provide best solutions to our Customers and their unique needs, we master many of them. The most common one is PHP, followed by Javascript, Java, Python, and C++. Each and every one of them serves some unique set of purposes which, when put together, make it possible to develop sophisticated software solutions.
Organization
Modern back-end and front-end frameworks play an important role when it comes to organizing programming code. We master and use the cutting-edge frameworks, such as Symfony, Laravel, REACT, AngularJS and others to make our software organized, secure and readable to other IT experts.
Storing the code
When it comes to storing the source code and version control we use the industry standard Git VCS, and store the source code on private, secure Github and GitLab repositories. To ensure a smooth software deployment regardless of the size, complexity, and scale of a project we use continuous integration and delivery tools such as Jenkins and Travis CI.
Databases
Even the humblest software applications need a database to store, organize, manage, update and make data readily available to the user. Based on the project requirements we use Relational Database Management Systems (RDBMS) such as MySQL, MariaDB, MSSQL, Document Databases such as MongoDB or Key-value Databases such as Redis, Memcached as well as Cloud-based solutions.
Searching
It is not only important to store the information safely and securely but also searching for it in a vast of data very quickly and cleverly. For this reason, we usually choose Elasticsearch as our number one tool for this purpose, while mastering also other search platforms like Solr.
Inter-communication of software applications
Nowadays, it is a common practice to make software applications to communicate with each other. Our daily routine is to use one of the following methodologies to make the software we develop talk to other, new and modern as well as little older software applications out there on the Web: REST, SOAP, XML-RPC
Communication with humans
There are several communication channels for software applications to be able to talk to humans, while they don’t use the user interface of the software. The most common ones are e-mailing, sending push notifications and sending SMS messages to their cellular phones, however, there is also a possibility for the software to get an exclusive attention of the humans by making phone calls to their phones. For this and simpler purposes like establishing call-centers, we use Asterisk.