{"id":43229653,"url":"https://github.com/akardapolov/dimension-ui","last_synced_at":"2026-04-12T08:05:54.481Z","repository":{"id":302785627,"uuid":"1013610144","full_name":"akardapolov/dimension-ui","owner":"akardapolov","description":"Dimension UI is a desktop application designed to collect, store, visualize, and analyze real-time data","archived":false,"fork":false,"pushed_at":"2025-12-27T09:57:56.000Z","size":130193,"stargazers_count":43,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-29T01:57:43.135Z","etag":null,"topics":["anomaly-detection","column-store","database","forecasting","gui","interactive","low-code","motif-discovery","real-time-analytics","time-series-analysis","visualization"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akardapolov.png","metadata":{"files":{"readme":"README-RU.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-04T07:17:11.000Z","updated_at":"2025-12-27T09:45:54.000Z","dependencies_parsed_at":"2025-10-20T13:19:52.582Z","dependency_job_id":null,"html_url":"https://github.com/akardapolov/dimension-ui","commit_stats":null,"previous_names":["akardapolov/dimension-ui"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/akardapolov/dimension-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2Fdimension-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2Fdimension-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2Fdimension-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2Fdimension-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akardapolov","download_url":"https://codeload.github.com/akardapolov/dimension-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2Fdimension-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28975278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T09:57:52.632Z","status":"ssl_error","status_checked_at":"2026-02-01T09:57:49.143Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anomaly-detection","column-store","database","forecasting","gui","interactive","low-code","motif-discovery","real-time-analytics","time-series-analysis","visualization"],"created_at":"2026-02-01T10:03:39.530Z","updated_at":"2026-04-12T08:05:54.474Z","avatar_url":"https://github.com/akardapolov.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dimension UI\n\n## Оглавление\n\n- [Описание программы](#описание-программы)\n    - [Общие сведения](#общие-сведения)\n    - [Направления прикладного использования](#направления-прикладного-использования)\n    - [Минимальные технические требования](#минимальные-технические-требования)\n    - [Начало работы с проектом](#начало-работы-с-проектом)\n        - [Сборка проекта](#сборка-проекта)\n        - [Установка и настройка](#установка-и-настройка)\n    - [Описание логической структуры](#описание-логической-структуры)\n        - [Архитектура приложения](#архитектура-приложения)\n        - [Алгоритмы](#алгоритмы)\n            - [Z-нормализованное евклидово расстояние](#z-нормализованное-евклидово-расстояние)\n        - [API программы](#api-программы)\n            - [Используемые методы](#используемые-методы)\n            - [Входные параметры](#входные-параметры)\n            - [Выходные параметры](#выходные-параметры)\n        - [GUI программы](#gui-программы)\n          - [Диаграмма последовательности GUI](#диаграмма-последовательности-gui)\n          - [Управление конфигурацией](#управление-конфигурацией)\n          - [Интерфейс Workspace](#интерфейс-workspace)\n          - [Интерфейс Dashboard](#интерфейс-dashboard)\n          - [Интерфейс Report](#интерфейс-report)\n          - [Интерфейс Ad-hoc](#интерфейс-ad-hoc)\n          - [Screencast](#screencast)\n        - [Варианты использования кода](#варианты-использования-кода)\n          - [Установка темы LaF при старте приложения](#установка-темы-laf-при-старте-приложения)\n- [Загрузка](#загрузка)\n- [Разработка](#разработка)\n  - [CI/CD](#cicd)\n- [Документация](#документация)\n- [Лицензия](#лицензия)\n- [Контакты](#контакты)\n\n## Описание программы\n**Dimension UI** - это настольное приложение, предназначенное для сбора, хранения, визуализации и анализа данных временных рядов.\n\n### **Workspace**\n![Workspace](docs/guides/user/media/workspace/workspace-short.gif)\n\n### **Dashboard**\n![Dashboard](docs/guides/user/media/dashboard/dashboard-short.gif)\n\n### **Report**\n![Report](docs/guides/user/media/report/report-short.gif)\n\n### **Ad-hoc**\n![Ad-hoc](docs/guides/user/media/adhoc/adhoc-short.gif)\n\n### Общие сведения\n\nКлючевые возможности **Dimension UI**:\n\n| № | Возможность                                 | Описание                                                                                                                                                                                                                                        |\n|---|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 1 | **Сбор и анализ данных в реальном времени** | Данные собираются в режиме реального времени, что позволяет пользователям отслеживать метрики онлайн, анализировать реакцию на различные воздействия, просматривать исторические данные и выполнять сравнительный анализ с другими показателями |\n| 2 | **Гибкие профили сбора данных**             | Быстрая настройка профилей сбора данных — особенно востребована в ситуациях, когда критична скорость: позволяет оперативно собирать специализированные статистические данные для детальной оценки характеристик системы или её компонентов      |\n| 3 | **Локальное хранилище в Dimension-DB**      | Блочно-колоночная база данных со встроенным сжатием и дедупликацией данных. Репозиторий проекта на [GitHub](https://github.com/akardapolov/dimension-db)                                                                                        |\n| 4 | **Расширенный анализ временных рядов**      | Встроенная поддержка алгоритмов [Matrix Profile](https://www.cs.ucr.edu/~eamonn/MatrixProfile.html) и ARIMA для углублённого анализа временных рядов и прогностической аналитики                                                                |\n| 5 | **Исследование БД без написания кода**      | Ad-hoc визуализация данных из внешних баз данных через JDBC с автоматической генерацией SQL-запросов. Поддерживаются как временные ряды, так и обычные табличные данные                                                                         |\n| 6 | **Система дашбордов**                       | Отображение метрик из нескольких источников в едином интерфейсе. Быстрый доступ к метрикам упрощает работу при анализе больших объёмов аналитических данных                                                                                     |\n| 7 | **Встроенная система отчётности**           | Формирование PDF-отчётов на основе собранных данных для последующего анализа                                                                                                                                                                    |\n\n[Вернуться в Оглавление](#Оглавление)\n\n### Направления прикладного использования\n\n| № | Область прикладного использования      | Описание                                                                                                                                                                                    |\n|---|----------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 1 | **Мониторинг в реальном времени**      | Мониторинг информационных систем, программно-аппаратных комплексов и баз данных в режиме реального времени                                                                                  |\n| 2 | **Нагрузочное и стресс-тестирование**  | Оценка программно-аппаратных систем в ходе нагрузочного и стресс-тестирования, подготовка отчётов по результатам тестирования                                                               |\n| 3 | **Мониторинг IoT**                     | Мониторинг параметров устройств Интернета вещей (IoT)                                                                                                                                       |\n| 4 | **Информационная безопасность**        | Комплексный мониторинг информационной безопасности систем с доступом к источникам данных через JDBC и HTTP API (Prometheus, JSON)                                                           |\n| 5 | **Обучение и подготовка**              | Обучение в рамках курсов по обработке и анализу данных: быстрая настройка сбора данных, их визуализация и углублённый анализ для системных администраторов, DBA, разработчиков и аналитиков |\n| 6 | **Диагностика**                        | Диагностика проблем в сложных системах, предоставляющих API через JDBC и HTTP (Prometheus, JSON), включая гетерогенные среды и Java-микросервисы                                            |\n| 7 | **Многомерный анализ**                 | Анализ и визуализация данных временных рядов (в реальном времени и исторических), включая прогностическую аналитику через JDBC и HTTP (Prometheus, JSON)                                    |\n| 8 | **Исследование БД без написания кода** | Прямое подключение к внешним базам данных через JDBC для изучения данных временных рядов в таблицах и представлениях с автоматической генерацией SQL-запросов                               |\n\n## Поддерживаемые базы данных для прямого подключения через JDBC (режим No-code)\n\n| № | База данных          | Тип           |\n|---|----------------------|---------------|\n| 1 | PostgreSQL           | реляционная   |\n| 2 | Oracle               | реляционная   |\n| 3 | Microsoft SQL Server | реляционная   |\n| 4 | MySQL                | реляционная   |\n| 5 | ClickHouse           | аналитическая |\n| 6 | Firebird             | реляционная   |\n| 7 | SQLite               | реляционная   |\n| 8 | DuckDB               | аналитическая |\n\n[Вернуться в Оглавление](#Оглавление)\n\n## Минимальные технические требования\n**Dimension UI** совместим с Java 25+ и поставляется с небольшим набором зависимостей.\n\n### Требования к аппаратному обеспечению\n\nТаблица 1. Требования к аппаратному обеспечению\n\n| Параметр        | Описание                                                                                                        |\n|:----------------|:----------------------------------------------------------------------------------------------------------------|\n| CPU и ОЗУ       | Процессор частотой не ниже 500 МHz и объем памяти не ниже 250 Мб, в зависимости от объема обрабатываемых данных |\n| Архитектура CPU | Intel 64-bit (x86_64), AMD 64-bit (x86_64), Arm 64-bit (aarch64)                                                |\n| Диск            | Размер диска в зависимости от объема обрабатываемых данных                                                      |\n\n### Требования к программному обеспечению\n\nТаблица 2. Требования к программному обеспечению\n\n| Программное обеспечение | Минимальные требования      | Ссылка                                                      |\n|:------------------------|:----------------------------|:------------------------------------------------------------|\n| Java                    | Версия Java 25+             | [Java](https://www.oracle.com/java/)                        |\n| Maven                   | Последняя актуальная версия | [Maven](https://maven.apache.org/)                          |\n| Git                     | Последняя актуальная версия | [Git](https://git-scm.com/)                                 |\n| Dimension-DB            | Последняя актуальная версия | [Dimension-DB](https://github.com/akardapolov/dimension-db) |\n| Dimension-DI            | Последняя актуальная версия | [Dimension-DI](https://github.com/akardapolov/dimension-di) |\n| Dimension-TT            | Последняя актуальная версия | [Dimension-TT](https://github.com/akardapolov/dimension-tt) |\n\n### Требования к операционному обеспечению\n\nТаблица 3. Требования к операционному обеспечению\n\n| ПО                   | Требования                  |\n|:---------------------|:----------------------------|\n| Операционная система | Windows, Linux, MacOS       |\n\n[Вернуться в Оглавление](#Оглавление)\n\n### Начало работы с проектом\n\n#### Сборка проекта\n\nДля компиляции приложения в исполняемый jar-файл необходимо выполнить следующие шаги:\n\n1. Установите JDK версии 25 или выше, Maven и Git на ваш локальный компьютер:\n    ```shell\n    java -version  \n    mvn -version\n    git --version \n    ``` \n2. Приложение `Dimension-UI` зависит от `Dimension-DI` и `Dimension-DB`, которые должны быть установлены первыми:\n\n    ```shell\n    git clone \u003cURL Dimension-DI\u003e\n    cd dimension-di\n    mvn clean install\n    ```\n    ```shell\n    git clone \u003cURL Dimension-DB\u003e\n    cd dimension-db\n    mvn clean install\n    ```\n\n3. Загрузите исходный код приложения на ваш локальный компьютер с помощью Git:\n\n    ```shell\n    git clone \u003cURL Dimension-UI\u003e\n    cd dimension-ui\n    ```\n   \n4. Скомпилируйте и установите модули проекта с помощью Maven\n   ```shell\n    mvn clean compile\n    mvn clean install -U\n   ```\n\n5. Выполните команду Maven для сборки исполняемого jar-файла с запуском тестов:\n    ```shell\n     mvn clean package\n    ```\n\nИсполняемый jar-файл со скриптами запуска в Windows/Linux будет в архиве `dimension-ui-\u003cVERSION\u003e.zip` по относительному пути desktop/target\n\n[Вернуться в Оглавление](#Оглавление)\n\n## Установка и настройка\n\n1. Убедитесь, что на вашем компьютере установлена JDK версии 25 или выше. Подробная инструкция по установке для вашей платформы на сайте [oracle.com](https://www.oracle.com/java/technologies/downloads/)\n2. Загрузите исполняемый jar-файл приложения с сайта github.com или выполните локальную сборку по инструкции из раздела [Сборка проекта](#сборка-проекта)\n3. Создайте директорию для хранения конфигурации и локальной базы данных приложения.\n4. Скопируйте jar-файл в директорию, в которой создайте исполняемый файл запуска:\n\n- Платформа Windows, run.bat\n    ```shell\n    SET JAVA_HOME=C:\\PROGRAM FILES\\JAVA\\jdk-25\n    SET JAVA_EXE=\"%JAVA_HOME%\\bin\\java.exe\"\n    chcp 65001\n    %JAVA_EXE% -Xmx1024m -DLaF=dark -Dfile.encoding=UTF8 -jar desktop-1.0-SNAPSHOT-jar-with-dependencies.jar\n    ```\n- Платформа Linux, run.sh\n  ```shell\n    SET JAVA_HOME=C:\\PROGRAM FILES\\JAVA\\jdk-25\n    SET JAVA_EXE=\"%JAVA_HOME%\\bin\\java.exe\" \n    chcp 65001\n    %JAVA_EXE% -Xmx1024m -DLaF=dark -Dfile.encoding=UTF8 -jar desktop-1.0-SNAPSHOT-jar-with-dependencies.jar\n  ```\n\nВ строке **SET JAVA_HOME** необходимо прописать путь к директории где на вашем локальном компьютере установлен JDK\n\nДля начала работы с приложением нужно запустить исполняемый файл **run.bat/run.sh**\n\n[Вернуться в Оглавление](#Оглавление)\n\n### Описание логической структуры\n\n#### Архитектура приложения\n\n![Архитектура приложения](docs/guides/user/media/schema.png)\n\n[Вернуться в Оглавление](#Оглавление)\n\n#### Алгоритмы\nВ интерфейсе приложения есть возможность проводить анализ данных временных рядов в части задач поиска аномалий, выявления повторяющихся диапазонов (motif discovery) и прогнозирования;\n\nДля поиска аномалий (Anomaly detection) и повторов в данных (Motif discovery) используется семейство алгоритмов [Matrix profile](https://www.cs.ucr.edu/~eamonn/MatrixProfile.html), которое использует [Z-нормализованное евклидово расстояние](#z-нормализованное-евклидово-расстояние) для сравнения диапазонов данных временных рядов.\n\n##### Z-нормализованное евклидово расстояние\nЕвклидово расстояние это способ измерения расстояние между двумя точками в пространстве, которое можно представить как прямую линию между этими двумя точками. В контексте данных это помогает нам понимать, насколько два набора данных или два точечных объекта близки друг к другу.\n\n\"Z-нормализация\" - это процесс стандартизации, и его цель превратить все наши данные таким образом, чтобы среднее значение было равно 0, а стандартное отклонение - 1. Это как перевести все данные на общий язык, чтобы любые значения можно было легко сравнивать, без влияния масштаба или разброса исходных величин.\n\nКогда мы объединяем это вместе, Z-нормализованное евклидово расстояние позволяет нам сравнивать евклидово расстояние между наборами данных, которые были приведены к стандартной форме. Так мы можем быть уверены, что мы сравниваем расстояние, которое не зависит от исходных масштабов данных.\n\nИспользуется в анализе данных временных рядов или кластеризации данных, где важно сравнивать \"форму\" данных, а не их \"размер\".\n\n[Вернуться в Оглавление](#Оглавление)\n\n#### API программы\nAPI программы Dimension UI предоставляет интерфейс для загрузки данных через JDBC и HTTP, их визуализации и анализа.\n\n##### Используемые методы\n\n| Метод                | Описание                                                                                                        | GUI                                                                  |\n|----------------------|-----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------|\n| **JDBC-подключение** | Подключение к базам данных (PostgreSQL, Oracle и др.) для сбора данных.                                         | [🔍 Preview](docs/guides/user/media/config/connection.png)           |\n| **HTTP-запросы**     | Запрос данных через API (Prometheus) для сбора метрик.                                                          | [🔍 Preview](docs/guides/user/media/config/connection-http.png)      |\n| **Анализ данных**    | Применение алгоритмов (Matrix Profile, ARIMA) для поиска аномалий, паттернов в данных и предиктивной аналитики. | [🔍 Preview](docs/guides/user/media/workspace/workspace-analyze.png) |\n| **Визуализация**     | Генерация графиков и диаграмм на основе полученных данных.                                                      | [🔍 Preview](docs/guides/user/media/workspace/workspace-data.png)    |\n\n##### Входные параметры\n\n| Параметр             | Описание                                                                    | GUI                                                                 |\n|----------------------|-----------------------------------------------------------------------------|---------------------------------------------------------------------|\n| **JDBC URL**         | Строка подключения к БД (например, `jdbc:postgresql://localhost:5432/mydb`) | [🔍 Preview](docs/guides/user/media/config/connection-jdbc.png)     |\n| **HTTP Endpoint**    | URL API Prometheus (например, `http://localhost:9090/api/v1/query`)         | [🔍 Preview](docs/guides/user/media/config/connection-http.png)     |\n| **Запрос SQL**       | Название таблицы, SQL-запрос или название метрики (например, `cpu_usage`)   | [🔍 Preview](docs/guides/user/media/config/query-main.png)          |\n| **Колонка таблицы**  | Колонка таблицы для визуализации данных, тип группировки, формат графика    | [🔍 Preview](docs/guides/user/media/workspace/workspace-column.png) |\n| **Диапазон времени** | Интервал данных для анализа (начальная/конечная дата)                       | [🔍 Preview](docs/guides/user/media/workspace/workspace-range.png)  |\n\n##### Выходные параметры\n\n| Параметр               | Описание                                                           | GUI                                                                              |\n|------------------------|--------------------------------------------------------------------|----------------------------------------------------------------------------------|\n| **График Stacked**     | График временных рядов с несколькими показателями (строки и числа) | [🔍 Preview](docs/guides/user/media/workspace/workspace-stacked.png)             |\n| **График Linear**      | График временных рядов для отображения только числовых данных      | [🔍 Preview](docs/guides/user/media/workspace/workspace-linear.png)              |\n| **График Gantt**       | Диаграммы Gantt-а для визуализации распределения данных            | [🔍 Preview](docs/guides/user/media/workspace/workspace-stacked-gantt.png)       |\n| **График Gantt Pivot** | Сводные таблицы с визуализацией с помощью диаграмм Gantt-а         | [🔍 Preview](docs/guides/user/media/workspace/workspace-stacked-gantt-pivot.png) |\n| **Таблицы данных**     | Представление данных в табличном формате                           | [🔍 Preview](docs/guides/user/media/workspace/workspace-stacked-raw.png)         |\n| **Аномалии**           | График обнаруженных аномалий и повторов в данных                   | [🔍 Preview](docs/guides/user/media/workspace/workspace-analyze-anomaly.png)     |\n| **Прогноз**            | Предиктивная аналитика по данным                                   | [🔍 Preview](docs/guides/user/media/workspace/workspace-analyze-forecast.png)    |\n| **Отчет**              | Визуализации данных в виде отчета в PDF файле                      | [🔍 Preview](docs/guides/user/media/report/report.png)                           |\n\n[Вернуться в Оглавление](#Оглавление)\n\n#### GUI программы\n\n##### Диаграмма последовательности GUI\n\n```mermaid\nsequenceDiagram\n    participant Пользователь as Пользователь\n    participant Программа as Программа\n    participant Профиль as Профиль\n    participant Задача as Задача\n    participant РабочаяОбласть as Рабочая область\n    participant Метрики as Метрики\n    participant Отчетность as Отчетность\n\n    Пользователь-\u003e\u003eПрограмма: Запуск\n    Пользователь-\u003e\u003eПрофиль: Создание Профиля\n    alt Ручной Режим\n        Пользователь-\u003e\u003eЗадача: Заполнение Задачи\n        Задача-\u003e\u003eЗадача: Привязка Соединения\n        Задача-\u003e\u003eЗадача: Указание Запросов\n    else Использование Шаблонов\n        Пользователь-\u003e\u003eПрофиль: Заполнение Профиля с Использованием Шаблонов\n    end\n    Пользователь-\u003e\u003eРабочаяОбласть: Переход к Профилю\n    РабочаяОбласть-\u003e\u003eПрофиль: Запуск через Кнопку Старт\n    Пользователь-\u003e\u003eМетрики: Просмотр Метрик\n    Метрики-\u003e\u003eМетрики: Сравнение\n    Метрики-\u003e\u003eПользователь: Запуск Анализа / Просмотр Истории\n    Пользователь-\u003e\u003eМетрики: Выбор Метрик из Разных Профилей\n    Пользователь-\u003e\u003eОтчетность: Переход к Вкладке Отчетность\n    Отчетность-\u003e\u003eПользователь: Выбор Метрик для Отчета\n    Пользователь-\u003e\u003eAd-Hoc: Переход к Ad-hoc Запросам\n    Ad-Hoc-\u003e\u003eПользователь: Выбор Соединения, Таблицы/Представления\n    Ad-Hoc-\u003e\u003eПользователь: Отображение Данных и Анализ\n    Пользователь-\u003e\u003eПрограмма: Завершение Работы Программы\n```\n\n[Вернуться в Оглавление](#Оглавление)\n\n##### Управление конфигурацией\n- Редактирование и просмотр: Интерфейс предоставляет возможности для просмотра и редактирования профилей и заданий, что упрощает управление сложными конфигурациями.\n- Сбор данных: Пользователь может легко установить параметры сбора данных через интуитивно понятные формы, где можно выбрать источники данных и установить параметры запросов.\n- Настройки хранилища: В GUI можно настроить параметры локального хранения данных. Программа позволяет выбрать форматы хранения и сжатия, что обеспечивает оптимизацию использования дискового пространства.\n- Система шаблонов: GUI позволяет пользователю быстро создавать профили на основе существующих шаблонов, что сокращает время на настройку и начало работы с системой.\n\n[🔍 Preview](docs/guides/user/media/workspace/workspace-stacked.png)\n[🔍 Preview](docs/guides/user/media/config/profile.png)  \n[🔍 Preview](docs/guides/user/media/config/task.png)  \n[🔍 Preview](docs/guides/user/media/config/connection.png)  \n[🔍 Preview](docs/guides/user/media/config/query-main.png)  \n[🔍 Preview](docs/guides/user/media/config/query-metadata.png)  \n[🔍 Preview](docs/guides/user/media/config/query-metrics.png)  \n[🔍 Preview](docs/guides/user/media/template/template.png)  \n\n[Вернуться в Оглавление](#Оглавление)\n\n##### Интерфейс Workspace\n- Представление данных: Через визуальные элементы интерфейса можно легко работать с данными, просматривая их в локальной БД с помощью различных видов графических представлений. \n- Инструменты визуализации: GUI поддерживает различные виды графических представлений, такие как графики временных рядов в stacked и linear формате, Gantt диаграммы и просмотр данных в табличном виде, помогающие лучше анализировать данные.\n- Интерфейс анализа данных: Позволяет пользователю запускать продвинутый анализ временных рядов с использованием алгоритмов, таких как [Matrix profile](https://www.cs.ucr.edu/~eamonn/MatrixProfile.html), визуализируя результаты и выделяя аномалии или тренды.\n\n[🔍 Preview](docs/guides/user/media/workspace/workspace-stacked.png)  \n[🔍 Preview](docs/guides/user/media/workspace/workspace-linear.png)  \n[🔍 Preview](docs/guides/user/media/workspace/workspace-analyze-anomaly.png)  \n[🔍 Preview](docs/guides/user/media/workspace/workspace-analyze-forecast.png)  \n\n[Вернуться в Оглавление](#Оглавление)\n\n##### Интерфейс Dashboard\n- Панель управления: Позволяет пользователю создавать и настраивать информационные панели для отображения метрик в реальном времени, обеспечивая быстрый доступ к критически важным данным.\n\n[🔍 Preview](docs/guides/user/media/dashboard/dashboard-short.png)  \n[🔍 Preview](docs/guides/user/media/dashboard/dashboard-full.png)  \n\n[Вернуться в Оглавление](#Оглавление)\n\n##### Интерфейс Report\n- Инструменты проектирования отчетов: С помощью GUI можно настраивать интерфейсы для генерации отчетов. Пользователь может выбирать данные, формат и представление, чтобы создать отчет, готовый к экспорту в PDF.\n\n[🔍 Preview](docs/guides/user/media/report/report.png)  \n[🔍 Preview](docs/guides/user/media/report/design.png)\n\n[Вернуться в Оглавление](#Оглавление)\n\n##### Интерфейс Ad-hoc\n- Визуализация данных из внешних БД: GUI позволяет пользователю быстро получить доступ к данным временных рядов напрямую из внешних систем по JDBC.\n- Подход No-code: Визуализация данных временных рядов с использованием автоматической генерации SQL-запросов к источникам данных (по денормализированным схемам данных).\n\n[🔍 Preview](docs/guides/user/media/adhoc/ad-hoc-visualize.png)  \n[🔍 Preview](docs/guides/user/media/adhoc/ad-hoc-analyze.png)\n\n[Вернуться в Оглавление](#Оглавление)\n\n## Screencast\n\n|               | Screencast                                                                                     |\n|:--------------|:-----------------------------------------------------------------------------------------------|\n| Configuration | [🔍 Configuration](docs/guides/user/media/config/configuration.gif)                            |\n| Workspace     | [🔍 Workspace](docs/guides/user/media/workspace/workspace.gif)                                 |\n| Dashboard     | [🔍 Dashboard](docs/guides/user/media/dashboard/dashboard.gif)                                 |\n| Dashboard     | [🔍 Dashboard Realtime Filter](docs/guides/user/media/dashboard/dashboard-realtime-filter.gif) |\n| Dashboard     | [🔍 Dashboard History Filter](docs/guides/user/media/dashboard/dashboard-history-filter.gif)   |\n| Report        | [🔍 Report](docs/guides/user/media/report/report.gif)                                          |\n| Ad-hoc        | [🔍 Ad-hoc](docs/guides/user/media/adhoc/adhoc.gif)                                            |\n| Ad-hoc        | [🔍 Ad-hoc filter](docs/guides/user/media/adhoc/adhoc-filter.gif)                              |\n\n[Вернуться в Оглавление](#Оглавление)\n\n### Варианты использования кода\n\n#### Установка темы LaF при старте приложения\n\nЧтобы установить тему оформления приложения, необходимо использовать параметр LaF в настройках виртуальной машины Java (VM options). Это позволяет выбрать между тёмной, светлой или стандартной темами.\n\nПоддерживаемые параметры:\n\n- -DLaF=dark — для установки тёмной темы оформления.\n- -DLaF=light — для установки светлой темы оформления.\n- -DLaF=default — для использования стандартной темы оформления.\n\nПри запуске приложения через командную строку, параметр LaF указывается следующим образом:\n\n```shell\n    %JAVA_EXE% -Xmx1024m -DLaF=dark -Dfile.encoding=UTF8 -jar desktop-1.0-SNAPSHOT-jar-with-dependencies.jar\n```\n\nПодробнее смотри раздел [Установка и настройка](#установка-и-настройка)\n\n## Загрузка\n- Сборка и установка **Dimension DB** (репозитории [**GitFlic**](https://gitflic.ru/project/akardapolov/dimension-db) и [**GitHub**](https://github.com/akardapolov/dimension-db)) из исходных кодов в локальный репозиторий Maven описана в разделе [Сборка проекта](#сборка-проекта).\n\n[Вернуться в Оглавление](#Оглавление)\n\n## Разработка\n- Если вы обнаружили ошибку в коде или у вас есть предложения по улучшению - создайте тикет;\n- Перед началом работы необходимо проверить сборку проекта и успешное прохождение модульных тестов по инструкции из раздела [Сборка проекта](#сборка-проекта);\n\n### CI/CD\nЧтобы использовать CI/CD на проекте с помощью Gitea Actions выполните следующее:\n\n1. Установите gitea 1.20 с помощью [Docker](https://docs.gitea.com/next/installation/install-with-docker);\n2. Добавьте дополнительные конфигурации в app.ini для включения [Actions](https://blog.gitea.io/2022/12/feature-preview-gitea-actions/);\n3. Установите gitea [runner](https://gitea.com/gitea/act_runner) следуя этому [руководству](https://blog.gitea.io/2022/12/feature-preview-gitea-actions/);\n4. Используйте [файл Docker compose](docs/docker/docker-compose.yml);\n5. Создайте pipeline в [build.yaml](.gitea/workflows/build.yaml).\n\n[Вернуться в Оглавление](#Оглавление)\n\n## Документация\n\n| EN                                              | RU                                                            |\n|:------------------------------------------------|:--------------------------------------------------------------|\n| [README in English](README.md)                  | [README на русском](README-RU.md)                             |\n| [User guide](docs/guides/user/user-guide-en.md) | [Руководство пользователя](docs/guides/user/user-guide-ru.md) |\n\n[Вернуться в Оглавление](#Оглавление)\n\n## Лицензия\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\nКод выпущен под лицензией Apache License Version 2.0\n\n[Вернуться в Оглавление](#Оглавление)\n\n## Поддержка\nРазработано при поддержке [\"Фонда содействия инновациям\"](https://fasie.ru/).\n\n## Контакты\n[@akardapolov](mailto:akardapolov@yandex.ru)\n\n[Вернуться в Оглавление](#Оглавление)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakardapolov%2Fdimension-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakardapolov%2Fdimension-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakardapolov%2Fdimension-ui/lists"}