Over the years we have invested a lot of time, effort and money into our IT infrastructure. This ensures that our projects are running smoothly 24/7 and we always stay up to date with the latest technology.
The stack tools have been divided into four different categories.
Application and Data.
The main tools which allow us to support our projects are Debian as the Linux operating system with Apache web server together with MariaDB database and PHP which is the server side scripting Language.
Additionally, we are using multiple code frameworks such as Bootstrap to make sure that our websites are fully responsive across all devices.
Also, thanks to some of the greatest JavaScript frameworks like jQuery, jQuery UI, React we are using the latest technology to make our websites more dynamic and interactive with the user.
Due to HTML5 and CSS3, we can refine web pages to operate across not only devices but also operating systems and web browsers. The principle is to write the code once and to be able to run it anywhere.
Utilities.
We are also using advanced utility tools where Google Analytics helps us to monitor web traffic, performance and conversions which has enabled us to understand the user journey and provide support where necessary.
Detectify is another great security tool which is continuously scanning our projects and simulates automated hacker attacks on our websites. Once a new vulnerability is discovered, the task is created and instantly passed to one of our developers to apply the necessary patch.
DevOps.
In terms of the development and deployment tools, we have got a robust and solid deployment process which is designed to produce a high quality code and to eliminate any potentials bugs before any task or sprint is deployed to the live environment (live site).
To describe this process in detail, we will have to create a designated blog post but I will try to describe briefly why we have got certain tools and what they do.
PhpStorm, Vagrant and VirtualBox are used to create a local development environment for our developers.
Git, GitHub and Gitolite are used to support the team code collaboration and the Version Control System, in this case we always know who wrote which part of code and when. This also prevents developers from accidentally overriding each others code. We can always revise and restore the code version to any point from the past.
New Relic continuously monitors the performance of the developing application and sends us regular reports in case some parts of the code needs to be further optimized.
BrowserStack allows us to test the application against the Cross Browser Compatibility issue across most modern browsers simultaneously.
Rollbar acts as an Exception Monitoring tool and provides real-time error alerting and debugging tools for developers.
Jenkins acts as a Continuous Integration tool, it provides the Graphic Interface to support the behavior-driven development. This is very useful on the Staging Environment where we are running a multiple Behat test suites just to make sure that the code is properly tested before reaching the live site.
The Chef tool is mainly used for the server configuration and automation but also to allow or remove user access rights where we can determine which user has access to which environment from which location.
Business Tools.
It was not an accident that we have chosen to work with WordPress because it is one of the most intuitive to use web applications, it has a great community support and it powers over 27% of the websites on the internet. There is surely a reason why this framework is so popular and it is being used by so many people and organisations from around the world – it’s ease of use, customisation and huge community support definitely have something to do with it!
I do NOT believe that it is necessary to explain why Skype is one of the best applications for every day communication as well as web meetings between members of the team.
To collaborate with our clients we mostly use Skype for Business which makes group collaboration, screen sharing and calls recording really easy and professional.
The Redmine project tool performance monitoring application allows us to break down complex projects by the number of smaller tasks which allows us to control the overall progress, member contribution and time which has been spent on each activity. Redmine gives us a central place of collaboration which simplifies the creation of road maps, milestones and sprints to ensure that the project will be delivered on budget and on time.
Thanks to our dedicated team and state of the art technology we are always ready to face a new challenge.