Skip to content

Latest commit

 

History

History
79 lines (52 loc) · 3.39 KB

File metadata and controls

79 lines (52 loc) · 3.39 KB

Лабораторная 2 — примечания и технические детали

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

Выбор системы сборки

  • Разрешается использовать Gradle.
  • Сторонние зависимости (JUnit, Hibernate, PostgreSQL‑драйвер и т.п.) должны подтягиваться через систему сборки, а не вручную.

Модули проекта

явно разделяются:

  • слой доступа к данным;
  • слой сервисов;
  • запускной модуль приложения.

Подключение PostgreSQL

  • Установите локально PostgreSQL или используйте контейнер (рекомендуется Docker).
  • Создайте отдельную БД для лабораторной, например banks_lab.
  • Настройки подключения (URL, логин, пароль, драйвер, диалект) должны храниться в ресурсах модуля Data Access.
  • Подключите JDBC‑драйвер PostgreSQL и Hibernate / JPA как зависимости в системе сборки.

Опционально можно использовать миграции БД (например, Flyway), но это не является жёстким требованием.

JUnit и тестирование

  • Для unit‑тестов подключите JUnit.
  • Тесты бизнес‑логики должны использовать:
    • моки/заглушки вместо реальных репозиториев;
    • проверки корректных изменений баланса, истории операций и расчёта комиссий.

Интеграция с CI (GitHub Actions)

Структура для GitHub Actions

  1. В корне репозитория создайте папку .github/workflows.
  2. В ней создайте файл, например, java.yml.

Пример для Gradle

name: Java CI
on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up JDK 21
        uses: actions/setup-java@v4
        with:
          java-version: '21'
          distribution: 'temurin'

      - name: Validate Gradle wrapper
        uses: gradle/actions/wrapper-validation@v4

      - name: Setup Gradle
        uses: gradle/actions/setup-gradle@v4

      - name: Build with Gradle
        run: ./gradlew build

‼️ В данных скриптах указана версия JDK 21. Если вы используете другую версию, измените параметр java-version.

Для решения проблем с правами на gradlew (часто возникает у пользователей Windows) можно выполнить:

git update-index --chmod=+x gradlew

После этого сделайте commit и push (можно напрямую в main или master без PR, если политика репозитория это допускает).