Skip to content

Repository files navigation

Orm-Proj — Платформа онлайн-обучения

Orm-Proj — это система для управления курсами, тестами и заданиями. Проект построен на Spring Boot с JPA/Hibernate и PostgreSQL, поддерживает Docker и тестирование через Swagger.


Основные компоненты

  • Controllers — REST API
  • Entities — JPA модели и валидация
  • DTO — объекты для передачи данных
  • Services — бизнес-логика и транзакции
  • Repositories — доступ к данным
  • Mappers — Entity ↔ DTO
  • Exceptions — обработка ошибок
  • Resources — конфигурации и миграции (Liquibase)

Переменные

DB_HOST=localhost
DB_PORT=5432
DB_NAME=orm_proj
DB_USERNAME=postgres
DB_PASSWORD=postgres

Быстрый старт с Gradle

Сборка проекта

  • С тестами:
./gradlew build
  • Без тестов:
./gradlew build -x test

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

  • Все тесты с профилем test (PostgreSQL):
./gradlew test -Dspring.profiles.active=test
  • С профилем testh2 (H2 in-memory):
./gradlew test -Dspring.profiles.active=testh2

Разворачивание с Docker

git clone https://github.com/ferbator/orm-proj.git
cd orm-proj
./gradlew build -x test
docker-compose up -d

Тестировать API можно с помощью Swagger img_1.png


Тестирование и CI

  • Unit и интеграционные тесты настроены для PostgreSQL и H2 img.png

Структура проекта

orm-proj/
├── src/
│   ├── main/java/.../controller/   # REST API
│   ├── main/java/.../entity/       # JPA сущности
│   ├── main/java/.../dto/          # DTO
│   ├── main/java/.../service/      # Бизнес-логика
│   ├── main/java/.../repository/   # Репозитории
│   ├── main/java/.../mapper/       # Мапперы
│   ├── main/java/.../exception/    # Ошибки
│   └── main/resources/             # Конфиги и миграции
├── src/test/java/...               # Unit и интеграционные тесты
├── docker-compose.yml
├── Dockerfile
└── build.gradle

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages