.vscode | ||
server | ||
ui | ||
.DS_Store | ||
.gitignore | ||
README.md |
Веб-сервис для отладки 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