We use Sphinx as the main search indexing system on our clients' websites. It's a more powerful system than we even scratch the surface of, and allows us to index data from a variety of sources.
We use this to optimise the delivery of the client-side for our revised Admin System, so it's able to be delivered to browsers as efficiently as possible.
Pretty simple - it's our chosen database system. Widely used, proven and stable.
Github is used to store all of our repositories and version controls. The features and functionality of Github are a cut above other similar services for us.
PHP has been the backbone of what we've done at Visualsoft for years. We have lots of experienced people who have used it and know how to get the best out of it. It's come on leaps and bounds over recent years, and is the basis of pretty much everything we'll build with.
NGINX is great at supporting lots of fast HTTP requests. We've typically used Apache to host websites, but use NGINX where it proves beneficial for other services.
Team comms is essential. The R&D team is distributed over two offices, as well as the chance that people are working from home. Slack provides lots of options of keeping individuals and groups up to date. We also use it to integrate into services such as Github and Sentry.
The various projects that we'll have on the go at any point in time, within the R&D team, are internal projects that will prove long term benefits. We use Trello to track individual tasks that comprise those projects, and work with them in an Agile approach.
Postman is a great tool to interact with APIs. Typically we'll use it each day to aid with API development and testing work.
The simplicity and elegance of Laravel is great to work with. We use it to run our API Developer/Auth Portal.
We think VueJS is great. It's the main tool used to generate the client-side UI of our updated admin system, as well as being used in other smaller projects. The possibilities that VueJS brings to the table, means that we can quickly create rich and app-like interfaces and experiences.
The error and event tracking in Sentry is superb. Being able to assign the raw error to people along with all information at the time the event occurred means that we're tracking and fixing problems before they become apparent to customers. We use the self-hosted instance of Sentry.
We use this as a CI tool when working on our API and related tools. The setup is relatively painless and it hooks directly into our Github repo's to provide reports and feedback.
Well, we already have jQuery in our stack, so we couldn't not have plain JS too. We will write most JS to use jQuery methods, but to improve client-side performance we'll typically defer jQuery loading in. So if there's some client-side operations that need to happen before jQuery is available, then vanilla JS is how we'll typically handle that.
jQuery has been the basis of our front end JS for a number of years. The key part for us was that the amount of code saved by using jQuery methods, as opposed to writing out cross-browser compatible alternatives made it a no brainer. In recent years we've had to be clever in how we deliver jQuery on the websites, to ensure it's not render blocking and improve client-side performance but it's still a vital library.
It's the glue that holds our container management together, allowing things to scale when and where we need them.
It's the front-end version of Composer, so is pretty essential to pull in packages that can be tracked and kept up to date.
We use it as part of CI process to check code quality, to ensure that we're not inadvertently making common mistakes and can keep the smells and scope of code changes in line and clean. Having this step here should make future support and additions much more efficient and easy to understand.
Another one that we're not using, yet. But have realtime data updates within our applications and the central API will be a great bit of functionality that gives our clients more control and keep them informed of changes and updates in their stores, in real time.
Everyone likes graphs, right?! This isn't a tool we actively use right now, but paired with Prometheus we want to use it to have visual monitors on things like API cluster health, status, queue stats, DB/redis query and cache stats etc.
Containers are phenomenally powerful and Docker makes setting them up a breeze.
All of our responsive wireframes that are used to build the front end of our clients' sites are built with HTML 5, so we can ensure the most efficient and up to date experience for their customers.