Skip to content

MacsiaProduction/QYoga

 
 

Repository files navigation

QYoga

Информационная система йогатерапевта

Требования к инфраструктуре

  • JDK: 21 (Temurin)

Требования к рабочему окружению

  • Docker
  • Docker Compose

Локальная разработка

TDD

Разработку рекомендуется вести преимущественно через TDD - то есть реализация продового кода ведётся в рамках " озеленения" теста.

Запуск инфраструктуры

Опционально можно руками запустить инфраструктуру для тестов c помощью IDEA Run Configuration (далее - ран конфига) " Infra - Tests - Up":

img.png

Это позволит сэкономить полсекунды на запуск тестов, за счёт пропуска инициализации testcontainers.

Вообще у IDEA есть специализированные ран конфиги для Docker Compose, но у меня идея крэшится при их использовании

Остановить инфраструктуру можно ран конфигом "Infra - Tests - Down".

Запуск одного теста

В случае простых/небольших фич и багфиксов можно ограничиться запуском одного класса или теста через гуттер

img.png

Запуск быстрых тестов

Если изменения затрагивают несколько частей системы, их разработку можно драйвить с помощью ран конфига "Tests - Fast":

img.png

Эта конфигурация запускает все тесты, не отмеченные тегом "slow" и её есть смысл запускать, если в рамках решения задачи, был затронут большой процент кода проекта.

Запуск всех тестов

Если разработка совсем вышла из-под контроля и починка одного теста влечёт падение другого, то лучше перейти на ран конфиг "Tests - All":

img.png

Ручное тестирование

Отладка и тестирования вёрстки и динамических частей страниц выполняется в ручном режиме, поэтому для этих целей необходимо запустить проект с помощью ран конфига "QYogaApp":

img.png

В проекте настроена интеграция Spring Boot Docker Compose, поэтому для запуска проекта достаточно запустить только само приложение в IDEA.

При изменении статических файлов (и, зачастую, кода) для их обновления не обязательно перезапускать приложение и достаточно только пересобрать проект (Ctrl+F9).

При необходимости, остановить инфраструктуру можно ран конфигом "Infra - Dev - Down":

img.png

Отладка приложения в контейнере

Для отладки работы приложения в докере можно воспользоваться ран конфигом "System - Local - Up":

img.png

Этот конфиг выполняет сборку приложения в jar-файл (из текущего состояния рабочей директории), после чего собирает докер-контейнер на базе этого файла и затем в терминале запускает композ всей системы.

Композ запускается в интерактивном режиме, поэтому для остановки надо в консоли ввести Ctrl+c.

Проверка перед пушем

Перед пушем рекомендуется запускать Gradle-таск check. Этот таск выполняет все тесты, прогоняет код через detekt и проверяет процент покрытия кода тестами. Для запуска таска можно воспользоваться ран конфигом "Tests - Check":

img.png

Работа с продом

Перед работой с продом на новой машине необходимо выполнить шаги из раздела "Сетап хоста"

Деплой

Для деплоя актуальной версии приложения необходимо выполнить скрипт:

deploy/host/deploy.sh

Этот скрипт подключится к серверу, загрузит последний образ приложения и задеплоит его.

Просмотр логов

deploy/host/logs.sh

Обновление сертификата

deploy/host/update-cert.sh

Сетап хоста

deploy/host/setup-host.sh

Сетап нового сервера

deploy/host/setup-server.sh

About

Mine fork of QYoga

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • CSS 64.0%
  • Kotlin 25.5%
  • HTML 9.3%
  • Jinja 0.7%
  • JavaScript 0.4%
  • Shell 0.1%