Transforming a Legacy Travel Booking and Management System

Software projects delivered by QSoft Vietnam

A powerful tour operator console and a booking engine

Our client, a successful tour operator with operations in Cyprus and Italy, had been using a travel management system developed in the early 2000s. The system, built on PHP 4 and MySQL, was integral to their operations, allowing direct connections to global distribution systems like Galileo and Amadeus, third-party accounting tools such as Xero and SAP, and Microsoft CRM. However, over time, the system had become slow, buggy, posing significant risks to data security and user experience. The client sought to maintain and upgrade their legacy travel management system to improve performance, security, and scalability. The goal was to modernize the system while ensuring it could continue to handle the complex business processes and integrations critical to the client’s operations.
Project duration

Project duration: 45 months

Team Size

Team Size: 11

Satisfaction Score

Satisfaction Score: 97%

System's screenshots

Project challenges

Challenges

  • Legacy Technology: The system was originally built using PHP 4 without any framework, leading to a rigid and outdated codebase. This made it difficult to implement new features, maintain the system, or scale it to meet growing demands.
  • Complex Business Logic: The business processes managed by the system were intricate, involving numerous rules that were not fully documented. The complexity of these processes, combined with inadequate documentation, made it challenging to understand and update the system.
  • Fragmented Development History: Over a decade, many developers had contributed to the system’s development, resulting in inconsistent coding practices and a poorly designed database. This fragmented history created significant challenges in maintaining the system’s stability and implementing improvements.
  • Poor Documentation and Language Barriers: The system’s documentation was poorly written and primarily in Italian, which posed challenges for our team. The lack of clear and accurate documentation hindered the understanding of the system’s functionality and the development of new features.
  • Live System with High User Demand: The system was live and actively used by many users, which meant that any maintenance or upgrades had to be performed with minimal disruption to ongoing operations. The existing database was large and poorly designed, adding to the complexity of the task.

How QSoft solves problems

How we made it work?

  • Strategic Team Division: We divided our team into specialized squads, each focusing on different aspects of the project. Business Analysts were tasked with thoroughly documenting the system’s features and business logic, while Developers focused on fixing critical bugs and maintaining system stability. This approach ensured that the system remained operational and less buggy during the transition.
  • System Architecture Redesign: Recognizing the limitations of the legacy system, we proposed a complete redesign of the system architecture. We recommended transitioning to the Symfony Framework, a modern PHP-based framework, to enhance scalability, security, and maintainability. Additionally, we suggested implementing a microservices architecture to break down the monolithic system into smaller, manageable services that could be developed, deployed, and scaled independently.
  • Database Optimization and Migration: The existing database was redesigned for better performance and scalability. We moved from a monolithic MySQL database to a more structured relational database model and introduced a NoSQL database for handling unstructured data. Data migration was carefully planned and executed to ensure minimal downtime and data integrity.
  • Enhanced Security Measures: We implemented advanced security protocols, including OAuth2 for secure user authentication and role-based access control (RBAC) to manage user permissions. Regular security audits and continuous monitoring were also introduced to protect against data leakage and ensure compliance with industry standards.

Project successful result

Results

  • Comprehensive Documentation: Within the first six months, we completed a thorough documentation process, capturing over 500 unique business rules and system features. This effort ensured that all complexities were accurately documented, reducing future development time by 30%.
  • Core System Rebuild: After 12 months, we successfully rebuilt the system’s core features into a new application using the Symfony Framework. This new platform resulted in a 50% improvement in system performance and reduced load times by 40%, providing a significantly better user experience.
  • Complete System Overhaul: Over the course of 45 months, the entire system was fully rebuilt and migrated to the new platform. This overhaul included optimizing a database that previously had over 2 million records, leading to a 60% increase in data processing speed. The upgraded system now securely supports over 1,500 daily active users across Cyprus and Italy, with a 99.9% uptime, ensuring a seamless and reliable experience for all users.