The project aimed to migrate an on-premises PHP web app to Azure.The new application, deployed on Azure, resulted in improved data presentation, process optimization, and a seamless transition between the old and new systems.
Client & product
The client, a provider of technical, educational, and Quality Assurance services for Home Energy Raters (HERS) and building performance professionals, had an existing PHP-based application running on a MySQL database. The application required improvements in data presentation and process optimization. The primary goal was to develop a new application using Java and Angular that would gradually replace the existing PHP application.
The Client has entrusted our team with examining and refining the code repository of the PHP website. Our team undertook a comprehensive analysis with a dedicated emphasis on the subsequent facets:
- 1 Proficiently identifying and resolving instances of duplicate files.
- 2 Selection of core files with potential utility.
- 3 Intently recognizing files that could potentially compromise security. Ensuring their appropriate management.
- 4 Methodically eliminating any superfluous empty folders.
- 5 Analyzing the final amount of data and its preliminary architecture.
Another equally important task was the analysis and discussion regarding the architectural limitations of the PHP project. This process required careful examination of the code, discussions with the client regarding potential improvements, and the need to maintain the simultaneous operation of both applications during the transition.
The secondary primary objective was to review previously performed modifications by comparing them with the production environment.
Alongside these ongoing processes, a new application on Java/Angular was concurrently under development.
To address the challenges, the following revised plan was devised:
- ➤ gain access to the client’s production environment.
- ➤ provide the necessary support for the existing PHP project, even without direct access to the product, to ensure its smooth functioning during the transition.
- ➤ develop a new application using Java and Angular based on the proposed roadmap.
- ➤ thoroughly examine the existing PHP code and identify potential improvements and changes to be implemented in the new application.
- ➤ set up a new production environment on Azure and deploy the new project, including the features outlined for the minimum viable product (MVP).
- ➤ enable simultaneous operation of the old and new applications, each in a separate environment with its own database.
- ➤ implement a synchronization process between the two applications to ensure data consistency and enable a gradual transition.
- ➤ rewrite existing features/modules that were not part of the MVP and deploy these changes incrementally.
- ➤ cease the operation of the old PHP application once all the required functionality has been successfully implemented in the new application.
The revised plan allowed progress in the realization of this solution. By deploying new application on a separate dev environment and gradually synchronizing data between the old and new applications, the team achieved a seamless transition.
The new application, built on Java and Angular, successfully addressed the client’s requirements for improved data presentation and process optimization. Deploying a PHP app to Azure ensured scalability and enhanced performance. Finally, the phased shutdown of the old PHP application upon completion of all functionalities ensured a smooth transition.
The solution was built using the following technologies:
an existing project
an existing project
the new production environment