Сервис для сопровождения процесса/жизненного цикла разработки программ сборки изделий роботами и интеграции программных модулей Фреймворка Робосборщик
Find a file
2023-12-19 18:22:24 +00:00
.vscode crud test controller and class validator mocker generate classes 2023-12-19 21:10:58 +03:00
server crud test controller and class validator mocker generate classes 2023-12-19 21:10:58 +03:00
ui webgl test and class validator mocker 2023-12-19 11:54:47 +03:00
.DS_Store review app 2023-12-03 16:16:08 +03:00
README.md Add README.md with web-service description 2023-12-19 18:22:24 +00:00

Веб-сервис для отладки Robossembler Framework

Необходимость разработки сервиса хранения и просмотра пакетов обусловлена тем, что для корректной работы фреймворка «Робосборщик» необходима согласованная работа разнообразных программный модулей результаты работы одних модулей должны передаваться через стандартизированные интерфейсы другим модулям. Как правило, результатами работы программных модулей являются исполняемые файлы программ, файлы 3D-моделей в форматах STL, FBX, Collada/DAE, OBJ, PLY и т.п., конфигурационные файлы в форматах yaml, json, ini, txt, веса нейронных сетей, описания роботов/сцен в форматах URDF, SDF, MJCF и т.д.. При этом необходимо соблюсти условие соответствия данных файлов/документов друг другу, иметь возможность формировать и отслеживать цепочки вычислений (конвейер, pipeline), которые их порождают.

Данный веб-сервис выполняет следующие функции:

  • Создание процессов (process) команд, запускающих определённые вычисления
  • Создание триггеров (trigger) событий, запускающихся по завершении процесса
  • Создание конвейеров вычислений (pipeline) цепочек из процессов
  • Создание проектов (project) набора конвейеров для выполнения прикладных задач
  • Хранение и просмотр артефактов, порождаемых процессами, а также отслеживание их жизненного цикла
  • Запуск процессов/конвейеров и отслеживание их состояния

Веб-сервис написан на языке TypeScript для среды исполнения NodeJS. Для хранения артефактов используется база данных MongoDB. Исходный код проекта разработан в соответствии с концепцией «Чистой архитектуры», описанной Робертом Мартином в одноимённой книге. Данный подход позволяет систематизировать код, отделить бизнес-логику от остальной части приложения.