# Установка среды разработки IntelliJ IDEA

Для разработки приложений на Kotlin удобно использовать IDE IntelliJ IDEA. Достаточно `community` версии. Можно использовать: 
- [ToolBox](https://www.jetbrains.com/toolbox-app/) (легче получать обновления)
- Скачать версию вручную [release](https://github.com/JetBrains/intellij-community/releases#release-idea/2026.1.4)

# Клонирование репозиториев

Приложения находятся в двух репозиториях:
- **MaxScale Visualizer** в репозитории [maxscale-test-visualizer](https://github.com/mariadb-corporation/maxscale-test-visualizer) 
(склонировать `git clone git@github.com:mariadb-corporation/maxscale-test-visualizer.git`)
- **MDBE Visualizer** и **BuildBot Dashboards** в репозитории [mariadbenterprise-buildbot](https://github.com/mariadb-corporation/mariadbenterprise-buildbot)
(склонировать `git clone git@github.com:mariadb-corporation/mariadbenterprise-buildbot.git`)

После клонирования репозитория и установки IDE можно в ней Открыть существующий проект, выбрав нужный каталог:
- `mariadbenterprise-buildbot/mdbe-test-results-visualizer/server-2023` -- MDBE Visualizer server;
- `mariadbenterprise-buildbot/mdbe-test-results-visualizer/web-client` -- MDBE Visualizer web-client;
- `mariadbenterprise-buildbot/buildbot-dashboards` -- BuildBot Dashboards;
- `maxscale-test-visualizer/http4k-app` -- MaxScale Visualizer;

# Сборка веб-приложения

Веб-приложение реализовано на технологиях Kotlin/JVM. Для разработки приложения
на компьютер необходимо установить JDK версии 25. Нужную версию можно получить:

- [С сайта Adoptium JDK](https://adoptium.net/temurin/releases?version=25&os=any&arch=any)
- [С помощью системы SDKMAN](https://sdkman.io/)

Для сборки и запуска приложения используется сборочная система Gradle (поставляется с приложением).
Для запуска приложения после установки JVM необходимо:

- Обеспечить доступность внешних систем, СУБД.
- Настроить параметры запуска системы.
- Выполнить команду `./gradlew run`

## Параметры запуска системы для BuildBot Dashboards

> Для разработки рекомендуется использовать подключение к продуктовым базам данных BuildBot и MaxScale Visualizer,
> так как панели не содержат миграции баз данных, им доступно только чтение.

Параметры запуска системы описываются в файле `mariadbenterprise-buildbot/buildbot-dashboards/properties.yaml`.
Для локальной разработки необходимо добавить `properties.yaml` файл.

Дополнительная информация приведена в документации в репозитории в [readme.md](https://github.com/mariadb-corporation/mariadbenterprise-buildbot/tree/master/buildbot-dashboards#readme).

## Параметры запуска системы для MaxScale Visualizer

> Для разработки используйте локальную базу данных, не подключайтесь к продуктовой,
> так как при запуске приложения будут применяться миграции базы данных.
> Нельзя допустить, чтобы они применились к продуктовой базе данных во время разработки.

Параметры запуска системы описываются в файле `maxscale-test-visualizer/http4k-app/app.properties`.
Для локальной разработки с использованием локальной СУБД достаточно
скопировать файл `app.properties.example` в файл `app.properties` и вписать свои значения.

Дополнительная информация приведена в документации в репозитории в [readme.md](https://github.com/mariadb-corporation/maxscale-test-visualizer/tree/master/http4k-app#readme).

## Параметры запуска системы для MDBE Visualizer

> Для разработки используйте локальную базу данных, не подключайтесь к продуктовой,
> так как при запуске приложения будут применяться миграции базы данных.
> Нельзя допустить, чтобы они применились к продуктовой базе данных во время разработки.

Параметры запуска сервера описываются в файле `mariadbenterprise-buildbot/mdbe-test-results-visualizer/server-2023/app.properties`.
Для локальной разработки с использованием локальной СУБД достаточно
скопировать файл `app.properties.example` в файл `app.properties` и вписать свои значения.

Необходимо добавить секреты. Для этого создайте каталог `mariadbenterprise-buildbot/mdbe-test-results-visualizer/server-2023/secrets` и добавьте в него файл `jira_private_key.pem`.

Параметры запуска клиента описываются в файле `mariadbenterprise-buildbot/mdbe-test-results-visualizer/web-client/.env.development`.

Так же для получения данных для авторизации необходимо создать свой клиент на Google Auth Platform.

Дополнительная информация приведена в документации в репозитории в [readme.md](https://github.com/mariadb-corporation/mariadbenterprise-buildbot/tree/master/mdbe-test-results-visualizer#development-deployment-process).
