The aim was for the gauge to display real-time data in a mobile application and on a website by communicating with a back-end system.
The project utilised the following technologies:
To increase cost-effectiveness, we were looking for a solution that would greatly simplify the backend and act as a low-code tool for the mobile application, so that developer configuration would be sufficient to get it up and running. We chose the Supabase Lightwave backend solution because it was easy to set up and met the project's requirements.
In contrast to Firebase, Supabase can be operated completely free of charge in a local development setup, whereas Google's solution requires payment and lacks self-hosting options. The Docker solution also makes it easier to extend functionality.
To handle and process large amounts of data, we initially considered using InfluxDB and also evaluated the TimescaleDB option offered by Supabase. Given that we didn’t require the complex functionalities and detailed visualisation options of InfluxDB, the simpler solution of TimescaleDB proved sufficient. TimescaleDB is one of the Supabase plugins that made the integration tasks easier: authorisation management and API access (JWT, authentication, etc.) can all be handled using Supabase's built-in tools.
Due to the need for an application that would be accessible on both the website and mobile devices, we chose the Flutter software development kit, which we had experience with from other projects. This allowed us to cost-effectively develop the application for multiple platforms at the same time, which we'll discuss later.
By choosing the right technologies, we were able to complete the project within three months of starting.