Обновление продукта 3DESДобрый день, уважаемые участники проекта 3DES. Сегодня у нас хорошая новость. Мы выпустили долгожданное обновление MVP, и рады его представить Вам.
Техническое описание проведенных работ Вы найдете ниже, мы рады Вашему участию в проекте и предлагаем протестировать обновленную версию продукта.
В настоящее время мы работаем над выходами на биржи, и в ближайшее время сообщим о результатах.
3DES MVP: техническое описание проведенных изменений.Инструменты и технологии В проекте используется следующее: postgresql (база данных), celery (очередь задач), redis (брокер для celery), docker (контейнеризация), django (веб-фреймворк), flask (веб-фреймворк), python (язык программирования).
Компоненты Проект разделен на сервер и клиент. Сервер позволяет загружать 3D-модели и профили для 3D-принтеров. Слайсинг выполняется на клиентах. Клиент и сервер находятся в docker-контейнерах, что позволяет легко и быстро установить их на машину.
Описание работы На сервере используются selery, redis, postgresql и django. Весь сервер написан на django. На нем так же хранятся все загружаемые пользователями 3д-модели, профили принтеров и сгенерированный g-code (результат самого слайсинга), который клиент отправляет автоматически на сервер через API, после того как отслайсил у себя.
Клиент написан на flask. База данных на клиенте — postgresql, в ней хранятся результаты задач слайсинга, которые поступили на клиент. Взаимодействует клиент с сервером через API.
Клиенты подключаются к redis на сервере. Redis хранит в себе задачи слайсинга. Celery распределяет равномерно эти задачи между подключенными клиентами.
Как только в интерфейсе на сервере нажимают «Slice», создается задача, которая попадает в redis, откуда подключенный клиент, посредствам celery, вытаскивает эту задачу. После этого клиент понимает, что он должен начать слайсить. Через API он скачивает с сервера файл 3д-модели и файл профиля принтера и начинает процесс слайсинга. В результате создается файл g-code, который через API отправляется на сервер и удаляется на клиентской машине. Информация о слайсинге (успех, время начала и конца) записывается в локальную базу данных на клиенте и показывается в интерфейсе. На сервере создается запись о результате в базе данных; пользователь, загрузивший модель уведомляется о завершении; и появляется возможность скачать файл g-code, если операция была завершена успешно.
Каждый клиент сейчас может слайсить одновременно до 4 разных моделей.
Скачивание архива с клиентом
https://mvp.3des.network/media/worker_container_mac_linux.ziphttps://mvp.3des.network/media/worker_container_windows.zipИнструкция
#### Подготовка
1. Установить docker и docker-compose
2. Клонировать репозиторий [3DES
worker](
https://gitlab.com/3des_public/mvp_worker_container/-/archive/dev/mvp_worker_container-dev.zip)
3. Зарегистрироваться на сайте [3DES](
https://mvp.3des.network)
\#\#\#\# Запуск на Unix-системах *MacOS, Linux*
cd path/to/mvp_worker_container/docker/
chmod +x start_worker_macOS_linux.sh
./start_worker_macOS_linux.sh
#### Запуск на Windows
Запустить от имени администратора
mvp\_worker\_container/docker/start\_worker\_windows.bat
#### Доступ к интерфейсу
Для доступа к интерфейу клиента необходимо перейти по адресу в браузере:
[127.0.0.1:5000](
http://127.0.0.1:5000)
#### Смена пользователя
Для смены пользователя необходимо открыть файл **.env** и изменить поля
**LOGIN** и **PASS**, после чего перезапустить клиент
#### Остановка клиента
Для остановки клиента используется команда (из директории, где находится
файл **docker-compose.yml**)
docker-compose down