Сервис для сопровождения процесса/жизненного цикла разработки программ сборки изделий роботами и интеграции программных модулей Фреймворка Робосборщик
Find a file
2024-04-16 15:44:31 +03:00
.vscode progress 2024-04-11 22:02:57 +03:00
server adding socket listner dataset screen 2024-04-16 15:20:24 +03:00
ui icons add 2024-04-16 15:44:31 +03:00
.DS_Store deleted unnecessary files 2024-04-09 16:31:25 +03:00
.gitignore deleted unnecessary files 2024-04-09 16:31:25 +03:00
.prettierrc progress 2024-04-15 18:24:44 +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