The software, was born as a backup system, of a primary one, SIPA that helps display flights information. During cases of connection problems with the central DB SIPA usually freeze badly. That is why and when we needed ASIP to makes its enter in the game.
So: a part of the software always retrieves flights information from the official DB and stores it in a dedicated buffer table (of a local DB). In case of “lost connection”, the app takes action by displaying the flights planning information replacing the infographic with an exact copy in style but working, not frozen.
With the coordination office (obv. ONLY authorized personnel) able to update displayed data and travelers mostly unaware of the change (an almost imperceptible flickering while the raspberry is taking command of the monitor seems to be inevitable) the result is great: No stress for everybody!
- Airport's Servers to host App & Databases
- WIFI Network (through multicasting)
- Raspberry (I and II generation) connected to Operations Airport Monitor (final output)
- Databases MySQL, ORACLE, REDIS
- Django to collect the data and share through api-rest; control users through LDAP; Celery to async periodic tasks launching management
- RabbitMQ as message broker
- a NodeJS service to collect data from the wifi multicast
- AngularJS to FrontEnd Display/Rendering of data
Basically I have no shame in saying that I lead the team keeping a most of the DevOps duties for myself as I was fooling around with docker. Exception made for the AngulaJS FrontEnd all services also had a decent test coverage. The NodeJS was actually written all in TDD.