Breathing New Life into the Architecture
- AirQ

- Oct 18
- 2 min read
Updated: Oct 19
Remember that delightful dive into our project's technical architecture, served with a side of coffee and cookies? Back then, a talented team member kicked things off with a high-level overview focused on the core principles and components. Though the original author has since moved on to new adventures, the project did not stop. It has evolved, adapted, and has now reached a promising Proof of Concept that we are already distributing. Here we revisit the foundations, highlight the key updates, and share what's next in our quest for innovation.
What did not change
From a general perspective, the three main components (cloud, application, sensor) are still present, although they have been streamlined. We have a new app and a new backend infrastructure, which are now much more focused on serving our current goal.
Robust backend
All requests are still going through the gateway, which now has a much clearer API interface.
Containerized databases store relevant data and metadata coming from both sensors and applications.
Scripts interact with all the backend components to enable data processing and carry out specific tasks. In this early stage, and in more than one situation, this step proved to have double value: implement the needed functional tasks, but also act as (continuous) integration and validation tests, for the whole system under development.
GitHub
This was something already present in the former architecture, but it has now been refined much more.
The entire backend code sits in a repository supported by a GitHub Actions pipeline. Upon each code commit, the entire backend is rebuilt and redeployed on the server. This is a complete stateless step, since all the necessary information is stored in the containers' volumes.
This pipeline enables a true CB/CD (Continuous Build / Continuous Deployment) process and makes releasing new functionalities and fixes into the backend extremely quick.
Application
This is still a Flutter application, although its functionalities are now much more in line with our current goal. UI and UX have been redesigned to be clear and simple; in this phase, we don't want a cluttered application (nor a cluttered system, for that matter).
Next steps
The current state seems stable enough to attempt a slightly larger distribution, while still keeping in mind that this is a PoC.
Alongside the distribution, other parallel workstreams will continue, in line with the pillars briefly described when we were Visualising the concept.

Image created by a member of the AirQ team



Comments