top of page

Breathing New Life into the Architecture

  • Writer: AirQ
    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.

ree

Image created by a member of the AirQ team

 
 
 

Comments


bottom of page