Приложение моделирует работу Клиент-Серверной архитектуры. Оба сервиса реализованы на языке C++ с использованием фреймворка Qt.
Сервер производит считывание .xml файлов из статического каталога и заносит их в Базу Данных (в данном проекте используется СУБД SQLLite). Каждые 60 секунд сервер перепроверяет файлы, и если они изменились вносит соответсвующие правка в БД. Также ждёт TCP-подключения и по запросу пользователя отдает все данные из БД.
В Базе данных всего 4 таблицы:
- Files
- id - идентификатор файла
- name - название файла
- path - путь до файла
- hash - хэш-сумма файла (для проверки изменения файла)
- Block
- uid - идентификатор блока (поле генерируемое таблицей)
- id
- Name
- MtR
- MtC
- Label
- IP
- Description
- BoardCount
- Board
- uid - идентификатор платы (поле генерируемое таблицей)
- id
- Algoritms
- IntLinks
- Name
- Num
- PortCount
- id_block - foreign key на таблицу Block
- Port
- uid - идентификатор порта (поле генерируемое таблицей)
- id
- Num
- Media
- Signal
- id_board - foreign key на таблицу Board
Клиент состоит из оконного приложения. По запросу пользователя обращается к серверу по TCP, получает данные и отображает их в виде дерева.