Курсовой проект по курсу "Разработка и эксплуатация Enterprise-приложений на Java и Kotlin без боли и сожалений" stringconcat
https://howto.stringconcat.com/project-carsharing
Система включает в себя приложения с разными арх. характеристиками:
- Программу учета автомобилей и связанными с ними документами
- Автоматический учет пробега и проведения ТО
- Мобильное приложение для наших клиентов
- Аналитическую систему для прогнозирования и оптимизации
Так как подсистемы имеют разные арх. характеристики в будущем предпологается перейти к распределенной архитектуре. Однако, сейчас лучшим решением будет монолит с луковой архитектурой с разделением на модули по Bounded Context-ам. Так как нужно как можно быстрее запуститься, а потом получив прибыль вложиться в распределенность.
В качестве модели ветвления используется GitHub Flow
- mainApp - основной модуль
- В качестве CI-сервера используется GitHub Actions. Наши Workflows.
- Workflows-таски
- Проект разворачивается в ECS Fargate. Таски для деплоя на среды
- Ссылки на среды:
У нас в проекте используется стат. анализатор 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