pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/ergonomic-code/Trainer-Advisor

bassets.com/assets/primer-70be7debc79a8eff.css" /> GitHub - ergonomic-code/Trainer-Advisor: Информационная система йогатерапевта и демонстрационный проект Эргономичного подхода · GitHub
Skip to content

ergonomic-code/Trainer-Advisor

Repository files navigation

Trainer Advisor

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

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

Посты с описанием проекта можно найти у меня в блоге и Telegram-канале.

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

  • JDK: 25 (Temurin)
  • PostgreSQL 15.2

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

  • 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. Этот таск выполняет все тесты и проверяет процент покрытия кода тестами. Для запуска таска можно воспользоваться ран конфигом "Tests - Check":

img.png

Локальная разработка фронта в контейнере

Запуск контейнера

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

docker compose -f deploy/qyoga/docker-compose-infra-base.yml -f deploy/qyoga/docker-compose-front-dev.yml up --build app 

При первом запуске будут длительные задержки - это качаяются зависимости. Повторые запуски будут проходить быстро.

В случае успешного запуска, в логах докера должна появиться строка

pro.qyoga.app.QYogaAppKt - Started QYogaAppKt in 1.938 seconds (process running for 2.224)

После этого приложение будет доступно по URL http://localhost:8080, а все изменения в HTML/CSS/JavaScript в директории src/main/resources будут видимы сразу после сохранения файла.

Пересборка контейнера

Для того чтобы обновить бэк в контейнере (напирмер, после переключения ветки), необходимо удалить старый компоуз-проект:

docker compose -f deploy/qyoga/docker-compose-infra-base.yml -f deploy/qyoga/docker-compose-front-dev.yml down

После чего запустить контейнер заново

About

Информационная система йогатерапевта и демонстрационный проект Эргономичного подхода

Topics

Resources

Stars

Watchers

Forks

Contributors

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy