Travel services management system

Details

Duration:
2 years
Technologies:
React, Node.js, JavaScript, Kotlin, Java, Spring
Type of Service:
End-to-End Product Development

Problem

The client has an idea to create a system associating travelers from all over the world. It has a list of requirements that are to be included in the final product. The highlights of the plan are:

  • Working on the web and mobile environment
  • Separate administration panel
  • A separate part of the application is responsible for servicing sellers of traveler services
  • Functionalities that improve contact between users:
    – An extensive chat module featuring: conversation in a group and individual mode, blocking/unblocking users, sending multimedia
    – Forum, divided into a dynamic tree of categories
    – A personal blog that is equivalent to a Facebook timeline
    – A system for evaluating services provided by traveling companies
  • Traveler support features:
    – Extensive flight search engine
    – Hotel module, allowing you to search for hotels both outside the system and those created inside
  • Payment-related functionalities:
    – Subscription system with customizable settings
    – Integration with the payment system
  • Functionalities supporting the sale of services:
    – Advanced creator of traveler services. Enables interactive selection of dates and other details of the created hotel offer or tourist service (e.g. organized trip)
    – A system of roles enabling the division of duties between employees

The final product should be implemented in a way that makes it easy to sell in many copies to further potential customers (white-label).

The client has no idea how to create a coherent, multi-platform and aesthetic system that meets all the above requirements.

Challenge

The most difficult part of the process was designing the system in a way that meets all functional requirements while being safe, fast, and reliable. Due to complexity, the product had to be optimized for effective maintenance and simple further development. During the implementation, additional attention had to be paid to ensure that each component was consistent with the white-label requirements. Each external system had to be integrated in such a way that its possible replacement would not require any changes in other parts of the system. In order to achieve the intended effect, it was necessary to perform a deep analysis of the domain and all potential data providers.

Before commencing the works, it was necessary to create graphic mock-ups illustrating the planned solution.

Solution

About 1,500 graphic mock-ups were made, grouped by system modules. After the client’s acceptance, the implementation began.

Amazon Web Services (AWS) was used to solve the problem. The functionalities have been divided between services. Communication in the application takes place using SQS/SNS queues and HTTP/WS protocols.

External data on flights and hotels were collected thanks to integration with the Amadeus system: Amadeus flight system integration

The ELK Stack solution (Elasticsearch, Logstash, Kibana) was used to monitor the final product.

Along with the project, documentation was created, which made the maintenance and further development of the application much simpler.

Result

Thanks to the new system, the client received a ready-made white-label solution that is ready to distribute further. It also benefits from its own instance of the system, which earns through a subscription model.

A tool has been created that facilitates and diversifies travel and tourist trade for people from around the globe.