AdvanceTicket.ch, a country-wide artisanal system

2021 - 2022

AdvanceTicket.ch is a Swiss-based company that is specialised in providing a ticket management system for various cinemas across Switzerland.

At the time I started working for this company, it was a small sized business led by a couple, wife and husband, that created and managed the technical side and the commercial side. The whole ticket system was originally made 30 years ago (!) and updated along the way by the husband, adding new technologies and refining the processes. For example Mac mini, raspberry pie and of course some RSync between various places to backup the data and more. A truely incredible piece of engineering and history !

I intervened due to an event where the husband was unable to continue his work and communicate. What was urgently needed was to take care of the whole system and ensure its continuity, while documenting everything in order to fix it and update it in a second phase. The huge difficulty being that everything was homemade and the documentation very sparse. A mix between old and new technologies was used and many machines and executables were questionable to be shutdown at the beginning. To be able to understand how everything was interconnected, I also had to understand the business model and current operational pipeline.

Cinema Xenix in Zurich

Online GUI for users when they are booking their place.

My methodology was to reverse engineer a web app stack top-down and bottom-up simultaneously: Firstly, identify all machines and their physical connections, then, map all networks and sub networks with IP adresses and ranges to check if there is network clusters for reasons. After, locate the databases and their references in which we can identify as backend, then locate the entry/end point for the different front ends and API calls, finally once the stack is known, it is time to look at the code snippets and manual tools used by the admin to try to understand what was needed for the maintenance through the various VPN or SSH tunnels.

Tools

JavaScript – Html – SQL – Xojo – Network analysis tools – Rest API – Nginx – Rasperry Pi – NodeJs – CUrl

Methodology

Reverse engineering of a webApp stack

Network analysis and routing

Operational analysis user oriented

Outcome

A detailed documentation of 80 pages describing the overall system: the different physical elements, the webApp stack, and all other machines and processes related to the business and operations.