Сервис для сопровождения процесса/жизненного цикла разработки программ сборки изделий роботами и интеграции программных модулей Фреймворка Робосборщик
Find a file
2024-02-19 14:40:55 +03:00
.vscode mark debug 2024-02-16 14:16:35 +03:00
server Merge branch 'main' of https://gitlab.com/robossembler/webservice into 14-fix/sticky-objects 2024-02-19 14:40:55 +03:00
ui Merge branch 'main' of https://gitlab.com/robossembler/webservice into 14-fix/sticky-objects 2024-02-19 14:40:55 +03:00
.DS_Store review app 2023-12-03 16:16:08 +03:00
README.md README format 2024-02-13 14:00:36 +03: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. Исходный код проекта разработан в соответствии с концепцией «Чистой архитектуры», описанной Робертом Мартином в одноимённой книге. Данный подход позволяет систематизировать код, отделить бизнес-логику от остальной части приложения.

Установка

Требования

  • Node.js
  • MongoDB

Сборка UI

  • cd ui && npm i && npm run build && npm run deploy

Запуск сервиса

  • cd server && npm run dev