Стек технологий

Kotlin, MariaDB, автоматическое развертывание и непрерывная интеграция

Проект написан на строго типизированном языке Kotlin. В роли базы данных используется MariaDB (ответвление MySQL). Система близка к слоистой архитектуре: имеется сервисный слой, слой доступа к данным (базы данных). Частично написаны unit тесты.

Для рендеринга используется шаблонизатор Freemaker, для API используется обычный json ответ. Для работы с каждой валютой пишутся специальные клиенты на языке Kotlin, которые обращаются по json/rpc api к нодам для того, чтобы получить определенные данные: адреса, транзакции, определенные блоки, проверка транзакций и так далее.

Для сборки проекта используется Gradle, который работает с пакетами из Maven. Для автоматизации развертывания используется контейнеризация на Docker. Несколько контейнеров собираются через docker-compose. Деплой происходит с помощью непрерывной интеграции в системе сборки TeamCity, проходят тесты и затем выгружаются на продакшен, stage и ревью перед деплоем пока отсутствует.