Контекст проекта

Проект был спроектирован и разработан в рамках выпускной квалификационной работы бакалавра по направлению "Информатика и вычислительная техника". В проекте используются современный стек технологий на момент 2023 года (Kotlin, Spring boot 3.0, postgres 14, docker & docker compose).
Проект создан в рамках одной задачи: создание системы интеграции CAD моделей в VR тренажер, написанный с использованием игрового движка Unity. В данном проекте реализовано небольшое web приложение для систематизации и хранения оптимизированных моделей в базе данных.

Что можно улучшить?

  1. Авторизация через OAuth2. В данный момент очень костыльно впихана авторизация через bearer токен, парсинг и создание которого реализованна в данном приложение. Необходимо создать отдельный микросервис, который будет заниматься созданием токенов.
  2. База данных. Нужно улучшить модель пользователя. Сейчас там просто хранятся креды. Так же добавить в модель контейнера CAD моделей добавить цену и улучшить связь многие ко многим, превратив эту связь в правильную модель библиотеки.
  3. Привязать "тупой" платежный сервис. Простая эмуляция, для того, чтобы было понятно, что тут есть возможность встроить оплату.
  4. Дописать MVC тесты. Доработать покрытие тестов так, чтобы покрыто было ВСЕ.
  5. Доработать ошибки. Плохо завязываться на IllegalStateException)

Настройка проекта

В проекте используется система сборки gradle и система контейнеризации docker

Построение проекта

В корене проекта достаточно прописать команду

./gradlew copyArchive

Создание докер контейнера

На этом шаге необходимо перейти в директорию:

cd src/docker

и выполнить команду

docker-compose up -d

Требования

На целевой машине необходимо установить Docker или Docker desktop. Для системы семейсвтва Windows дополнительно нужно установить WSL 2.