This document describes the software details. For example how to setup and build the Qlocky.UI application. All architecture relevant decisions are documented in Qlocky Architecture

Contribution

Build Linux Distribution

Application Build

App

The App module serves as the entry point of the system. Its primary responsibility is to initialize the application, register all modules, and start the Qt runtime.

Alarm

TODO

AppShell

The AppShell module provides the main application window and shell infrastructure. It serves as the visual and structural foundation of the Qlocky user interface, integrating all top-level UI elements that are not part of reusable or domain-specific modules.

For example the StatusBar or the main page itself, which renders the individual widgets which can be registered by any other module

Platform

The Platform serves as the foundation for the entire system, integrating core infrastructure and shared services required across all components of the device. It encapsulates low-level mechanisms and high-level abstractions, enabling modular, testable, and maintainable application development.

Persistency

<aside> ➡️

The architecureal design decisions are documented in: Data Persistence

</aside>

A PreferencesServiceIfc interface is created where data can be grouped by it’s context. This makes the preferences very flexible and any module can store it’s own data.

The PreferencesContextIfc can handle primitive data types and stores it as columne to specific context key. If a list of objects must be stored, different context with numered namespaces can be used. This allows to itereate with a prefix over all stored objects and also manipulate single element.