# System architecture The high-level overview of the FromEdwin's system architecture is a star pattern with a centralized server that acts as the hub for all the major components of the system. With such configuration, the centralized server is connected to multiple other systems or devices, which are referred as workers in the architecture. These workers are responsible for collecting data and sending it to the centralized server for processing and storage. ## Server The UI and APIs provided by the centralized server allows users to **access** and **interact** with the monitoring data. It is responsible for: - The **user interface** (UI) - The **application programming interfaces** (APIs) that allow communication between the different components - The **configuration files** that define the settings and parameters of the workers - The **databases** that store the data ## Workers Each worker is responsible for **collecting** monitoring data, **processing**, and **storage**. The worker functions as follows: - Upon initialization, the worker **registers itself** with the centralized server and **loads its configuration** files. - The worker then begins sending **regular updates**, called *"heartbeats",* to the centralized server at a set interval *(e.g., 10 seconds)*. These updates include information about the worker's status. - The worker also stores **non-critical data** locally used to trigger an alert. In this way, the worker functions as a monitoring agent that is able to function independently but still communicates with the centralized server to ensure data integrity and consistency. --- It is important to note that this is a high-level overview and more details about the different components and how they interact with each other will be discussed later in the documentation.