webstudio/README.md
2024-02-13 13:07:09 +03:00

3.1 KiB
Raw Blame History

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

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

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

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

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

Before deploy

install mongodb https://www.mongodb.com/

UI

cd ui && npm run build && npm run deploy

Server

cd server && npm run dev