**3. System Architecture**

Figure 1 illustrates the architecture of our system, detailing the inter-dependencies between its building blocks. Our system can accommodate any wearable device that provides an open API, while there is practically no limitation with respect to BLE beacons as we can adapt our approach to any commercial implementation.

To initiate the system operation, the user runs our mobile application on his/her smartphone, which begins gathering data from the smart watch and the BLE beacons. More specifically, the data are periodically read from the respective devices and transmitted back to the mobile phone using BLE. When the mobile phone has collected the necessary number of samples, which depends on the size of the segmentation window, it transmits them to the server, which uses a trained classifier to recognise the respective activity.

As processing takes place on the server, our system's flexibility increases since we do not require mobile phones with high computational power or storage. The only requirement is to first conduct a data gathering phase, in order to build the dataset, which will be used for the supervised learning classification algorithms, as we further discuss in Section 4.

**Figure 1.** Overall system architecture.
