Problem statement
- Goodlord needed to integrate a remote team into their established onsite work processes in London, proposing fresh solutions and software improvements despite their lack of experience with external remote engineers.
Approach and solution
- Analyzed the existing architecture and proposed core system improvements, migrating legacy functional code to OOP modules in Symfony (PHP) for better scalability and maintainability.
- Implemented unit and end-to-end tests to simulate various loads and prevent defects, and reorganized the MySQL database and migrated the web interface to React components.
Impact achieved
- New Architecture: Based on Symfony and Scala, leading to improved scalability and maintainability.
- Database Reorganization: Enhanced the performance and efficiency of the MySQL database.
- Web Interface Migration: Transitioned to React components for better user experience and performance.
- Test Coverage: Achieved comprehensive unit and end-to-end test coverage for major functionalities.
Expertise and scope
- Technology Stack: Symfony, Scala, React, MySQL, Concourse, Travis, AWS
Overview
Goodlord is a UK Based software service provider for landlords, agents, and tenants. The company specializes in the preparation and maintenance of the required documentation for renting offices and residential spaces such as electronic forms and contracts between landlords and tenants, choosing suppliers of gas, electricity, water, etc.
Their services utilize electronic signatures, invoices, and a wide array of online payments. Notifications to involved parties as well as automated contract extension and termination are included as well.
Challenges
Goodlord was looking for experienced software developers to join their existing in-house team and assist with migrating the core of their web-based software from legacy functional PHP to Symfony, get involved in support, new features implementation, and test integration. The company’s specific requirement was for the software developers to be able to take on various multi-tech tasks in all areas of the platform.
Overall, Goodlord’s desire was to hire team members who will be tightly integrated into the existing work processes but will also propose fresh solutions to support issues, and suggest software improvements. This was a risky endeavor considering the company’s established practice of onsite work only in their London office and the fact that they hire external remote engineers from another country for the first time.
Solution
We started with an analysis of the existing architecture, understanding the specific details and issues in discussions with the onsite software engineers and support team, meeting with Product Managers to get acquainted with the business objective and goals of the system and each individual component.
Based on this, we were able to propose improvements to the software core system and started getting involved in the migration of the legacy functional code to OOP modules in Symfony (PHP) in order to improve the architecture, code scalability, and maintainability, and to allow for faster implementation of new features.
Additionally, unit and end-to-end tests were implemented and integrated to simulate various loads, as well as tests for every new feature to prevent defects.
Furthermore, we have been supporting the client by importing all end-customer data received from different systems to the client structure. To achieve this we developed ETL processes based on SSIS.