/stringconcat-carsharing

Курсовой проект по курсу "Разработка и эксплуатация Enterprise-приложений на Java и Kotlin без боли и сожалений" stringconcat

Primary LanguageKotlin

stringconcat-carsharing

Курсовой проект по курсу "Разработка и эксплуатация Enterprise-приложений на Java и Kotlin без боли и сожалений" stringconcat

Onboarding

Описание

https://howto.stringconcat.com/project-carsharing

Архитектурные решения

Система включает в себя приложения с разными арх. характеристиками:

  • Программу учета автомобилей и связанными с ними документами
  • Автоматический учет пробега и проведения ТО
  • Мобильное приложение для наших клиентов
  • Аналитическую систему для прогнозирования и оптимизации

Так как подсистемы имеют разные арх. характеристики в будущем предпологается перейти к распределенной архитектуре. Однако, сейчас лучшим решением будет монолит с луковой архитектурой с разделением на модули по Bounded Context-ам. Так как нужно как можно быстрее запуститься, а потом получив прибыль вложиться в распределенность.

Модель ветвления

В качестве модели ветвления используется GitHub Flow

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

  • mainApp - основной модуль

CI/CD

Среды

Настройка среды разработки

У нас в проекте используется стат. анализатор detekt. Поэтому, чтобы не огребать сюрпризов на сборке/запуске лучше установить в IDEA соответствующий плагин и указать в нем наш detekt-config. Сделать это можно тут File | Settings | Tools | detekt

Полезные скрипты и команды

  • Локально запустить проект можно так:
./runAllLocally.sh
  • Список зависимостей, которые можно обновить, можно получить так:
./gradlew dependencyUpdates

или так

./showDependencyUpdates.sh
  • Установка git hooks:
./gradlew installGitHooks

или так

./installGitHooks.sh
  • Отключение git hooks Обычно git-команды можно выполнять минуя hooks с помощью флага --no-verify. Например,
git push --no-verify
  • Удаление git hooks:
./gradlew removeGitHooks

или так

./removeGitHooks.sh