diff --git a/README.md b/README.md index 68b7e6e..3b97a73 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Каждая фаза жизненного цикла имеет своё представление в виде страницы в веб-сервисе: -1. Создание проекта сборки, загрузка CAD-проекта изделия - "Проекты", вкладки "Детали", "Сборки" +1. Создание проекта сборки, загрузка CAD-проекта изделия - "Проекты" 2. Подготовка и генерация датасета для навыков машинного зрения - Вкладка "Датасеты" 3. Конфигурация сцены - Scene Builder - Вкладка "Сцена" 4. Создание дерева поведения из навыков - Вкладка "Поведение" @@ -23,39 +23,74 @@ ## Требования -- Node.js -- MongoDB +- Node.js (версия >= 20.11.1) +- MongoDB (версия >= 7.0.15) - BlenderProc (для генерации датасетов) -## Клонирование проекта +## Последовательность команд для установки зависимостей ```bash +# установка nvm +curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | bash +source ~/.bashrc +# установка Node.js +nvm install 20.11.1 +nvm alias default 20.11.1 +nvm use default + +# MongoDB +# импортировать открытый ключ для MongoDB +curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor +# добавить репозиторий MongoDB 7.0 в директорию /etc/apt/sources.list.d +echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list +# установка MongoDB +apt-get update && apt-get install -y mongodb-org +# запуск +sudo systemctl start mongod +``` +Убедиться в том, что сервер MongoDB работает, можно посмотрев его состояние: +```bash +sudo systemctl status mongod +``` +Статус должен быть 'active' +``` +● mongod.service - MongoDB Database Server + Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) + Active: active (running) since Wed 2024-12-11 10:34:58 MSK; 1h 24min ago + Docs: https://docs.mongodb.org/manual + Main PID: 2439 (mongod) + Memory: 256.7M + CPU: 24.168s + CGroup: /system.slice/mongod.service + └─2439 /usr/bin/mongod --config /etc/mongod.conf +``` + +## Установка веб-сервиса + +```bash +# клонирование исходников +cd ~/ git clone https://gitlab.com/robossembler/webservice +# сборка сервера +cd webservice/server +npm i tsc-watch -g +npm i +# сборка фронтэнда +cd .. +cd ui +npm i ``` -## Настройка переменных окружения - -Для работы Генератора Датасетов нужно задать следующие переменные в окружении `bash` - -```bash -export PYTHON_BLENDER="/путь_к_директории_с_файлами_из/rcg_pipeline" -export PYTHON_BLENDER_PROC="/путь_к_генератору_датасетов_/renderBOPdataset.py" -export PYTHON_EDUCATION="absolute_path/webp/education.py" -export PYTHON_ROBOT_BUILDER="/путь_к_генератору_датасетов_/robot_builder.py" -export GET_INTERFACES="/путь_к_директории_WEB_P/get_interfaces.py" -``` -## Запуск сервера - -Из директории `server` в корне репозитория +## Запуск веб-сервиса +Необходимо открыть два терминала. В первом нужно запустить сервер: ```bash +cd ~/webservice/server npm run dev ``` - -## Сборка и запуск UI - -Из директории `ui` в корне репозитория - +Во втором запустить UI: ```bash -npm i && npm run build && npm run deploy +cd ~/webservice/ui +npm run dev ``` +Если установка была успешной, откроется браузер, на странице http://localhost:3000/ "Проекты".