1. Об этом документе Данный документ содержит информацию о используемых языках программирования, стилей, разметки, средствах компиляции, а также информацию о месте хранения исходного кода.
2. Используемые языки программирования, стилей и разметки компонентов программного комплекса
Компонент
Язык
Core backend
Java 17
Front end application
TypeScript (angular framework)
CSS
HTML
Плагин для работы с кассами r-keeper, iiko
C#
3. Технические средства хранения и компиляции исходного кода 3.1 Хранение исходного кода Технические средства хранения исходного кода – Gitlab. Данный продукт представляет собой систему контроля версий для совместной разработки проектов развёрнутый на серверах, предоставленных ООО Яндекс.Облако (см.также – п.3.5 настоящего документа).
3.2 Развертывание программного комплекса Обновления программного обеспечения осуществляются автоматически посредством встроенного CI/CD-процесса. После внесения изменений в релизную ветку репозитория запускается автоматизированный процесс сборки и развертывания: приложение упаковывается в контейнер Docker и разворачивается на рабочем сервере, размещенном в облачной инфраструктуре. Все обновления происходят без прерывания работы сервиса, без простоев для пользователей. Для контроля стабильности реализована система автоматических проверок работоспособности, которая с заданным интервалом отслеживает состояние сервиса и инициирует перезапуск, если обнаружены отклонения. При необходимости возможно оперативное возвращение к предыдущей стабильной версии. Инфраструктура (информация о серверах– п.3.5 настоящего документа):
GitLab — репозиторий кода и система CI/CD.
GitLab Runner — установлен на выделенном сервере в Яндекс.Облако, принимает и выполняет pipeline’ы;
Целевая ВМ — виртуальная машина в Яндекс.Облако, на которую осуществляется развертывание (доступ по SSH);
Docker — используется для сборки и упаковки приложения.
3.3 Компиляция исходного кода
Язык программирования
Средства компиляции
Java
javac (Java Compiler), поставляется вместе с JDK
Инструмент сборки: Maven
TypeScript
TypeScript (версия 3.2.4, совместимая с Angular 7)
Сборщик: Angular CLI (@angular/cli), основанный на Webpack
3.4 Описание технических средств, необходимых для активации, выпуска, распространения, управления лицензионными ключами программного обеспечения Технические средства, необходимые для активации, выпуска, распространения, управления лицензионными ключами программного комплекса – отсутствуют.
3.5. Расположение серверов Разработка, хранение исходного текста, компиляция исходного текста, тестирование программных компонентов, равно как и все процессы, связанные с разработкой программного комплекса, осуществляются на серверах, расположенных в Российской Федерации. Используются сервера, представляемые сервисом ООО Яндекс.Облако, расположенные на территории Российской Федерации (см.– отдельно прилагаемое письмо указанного сервиса и договор между ООО «Луна ИИ» и ООО «Луна Софт»; обращаем внимание, что ООО «Луна ИИ» заключило договор с ООО «Яндекс.Облако», а затем ООО «Луна ИИ» по договору предоставило право использования данной инфраструктуры ООО «Луна Софт» - лицу, являющемуся Заявителем в Реестр отечественного ПО и соответственно правообладателем указанного в настоящем документе программного обеспечения).