Creating software consistent with good programming practices and containing popular design patterns is beneficial on almost all fields of the software product. Increasing of overall performance, SEO visibility and also cost reduction are the main things if we’re talking about updating legacy projects to fulfills all good practices. In this case study I would like to show, how our work on project for one of our clients brought him all of mentioned benefits with well designed, light and moreover – self-documented code.
Before I begin, I want to mention that I don’t give details about the project and our client on purpose as I know that this kind of data can be considered confidential. I also want to mention that I’ve changed scales on charts to show potential, not statistics of our client (but keep in mind that original statistics were huge, this is the only thing I can say).
Can you afford bad software?
Our client wanted to update his service because it was a rather old service (from about 2010), which hasn't had any major updates since then. The site worked on a very old and unsupported PHP version, the code was based on two different frameworks (in combination with the huge "spaghetti code" to keep things together), strong dependencies between files (a classic example of large mud tar), and many more. This lack of any architecture, a huge code redundancy, and lack of any tests caused that project was hard to maintain and was error-prone during any modifications.
This lack of design and overall mess in code and infrastructure had a negative impact on platform results. Statistics like page views, revenues, SEO performance, and usability suffered a lot and caused that usage of the platform was decreasing over time.
Additionally, the project needed a lot of computing resources, which entailed a higher cost of overall infrastructure. In the nutshell, the client reported a lower income from month to month, but he had to pay a lot for infrastructure. You can imagine the irritation of this client and the reason why he wanted to change something urgently. Luckily, he found us!
Designing software by Codetain team
After a deep analysis of the current state of the project, we’ve decided to rearrange whole architecture, codebase, assets, and infrastructure to achieve a more consistent, robust, and arranged project. Also, we wanted to ensure that we end up with a platform that will be easy to update and secure, as the client had a large number of customers. As You can see, the task was quite complex, demanding, and there were multiple goals to achieve.
Shortly I’ll publish the second part of this case study, where I’ll describe what steps we’ve been taken to meet these requirements. So, stay tuned!
Are You experiencing similar problems with Your project? Or maybe You are in a similar situation as a client described in this case study? Don’t hesitate to contact us. I’m sure that we can help You too! We have a huge experience in creating scalable and good software, that can help you to solve your business problems.