Solution.
- a search for users optimization
Here we have used PostgreSQL algorithms (ltree) for representing labels of data stored in a hierarchical tree-like structure.
- closest stations search optimization
We have employed a PostGIS, a spatial database extender for PostgreSQL object-relational database. It supports geographic objects allowing location queries to be run in SQL.
- communication between applications and queuing
We have deployed an open-source message broker, RabbitMQ, which can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
- hardware management integration between apps
The goal was to provide remote access to the status of the charger but also to allow users and end-users to control the charger, e.g., switch it on/off remotely. Both groups are using different apps to perform these activities. Our team accessed the chargers software backend and conducted the integration from that level.