The 3DES product updateDear 3DES project participants,
Today we have good news to share with you: we’ve launched the expected MVP update.
The technical work description is provided below. We’re glad you have joined the project and offer you to test the updated product version.
At the moment we are working on entering the exchanges, we will post the results soon.
3DES MVP: the technical description of the updates.
Instruments and technologies
The following ones are used in the project: PostgreSQL (database), celery (task queue), Redis (broker for celery), Docker (containerization), Django (web-framework), Flask (web-framework), Python (programming language).
Components
The project is divided into a server and a client. The server allows uploading 3D-models and profiles for 3D-printers. Slicing proceeds on the clients. The client and server are on docker-containers, which allows to install it on a machine fast and easy.
Work description
Celery, Redis, and Django are used on the server. The server is written using Django. It also stores the 3D-models uploaded by users, the printers’ profiles and the generated g-code (the slicing result), that the client automatically sends to the server using API, after slicing it.
The client is written using Flask. The client’s database is written using PostgreSQL, it stores the slicing tasks results, that the client received. The client and server interact via the API. The clients connect the Redis on the server. Redis stores the slicing tasks. Celery evenly distributes the tasks between the connected clients.
As soon as the “Slice” is activated on the server, it creates a task that goes to Redis, and a connected client gets the task using celery. After that, the client understands that it has to start slicing. It downloads the 3D-model and the 3D-printer profile files from the server via the API, and the slicing process begins. As a result, a g-code file is created, that is sent to the server via API and is deleted on the client’s machine. The slicing information (success, start and end time) is recorded in a local database on the client and is shown in the interface. The result is recorded in the server’s database; the user who uploaded the model is notified about the completion; if the task was completed successfully, the g-code file is available to download.
Every client can simultaneously slice up to 4 models now.
Download the clienthttps://mvp.3des.network/media/worker_container_mac_linux.ziphttps://mvp.3des.network/media/worker_container_windows.zipInstruction:#### Preparing
1. Install docker и docker-compose
2. Clone repository
[Windows](
https://mvp.3des.network/media/worker_container_windows.zip)
[MacOS or Linux](
https://mvp.3des.network/media/worker_container_mac_linux.zip)
3. Register on site [3DES](
https://mvp.3des.network)
#### Launch on Unix-systems *MacOS, Linux*
cd path/to/mvp_worker_container/docker/
chmod +x start_worker_macOS_linux.sh
./start_worker_macOS_linux.sh
#### Launch on Windows
Launch mvp_worker_container/docker/start_worker_windows.bat
#### Access to interface
To get access to interface you need to put this address in your browser
[127.0.0.1:5000](
http://127.0.0.1:5000)
#### User change
To change user you need to .env and change
LOGIN and PASS, and reload client after
#### Shut down the client
To stop client use the command (from directory with file docker-compose.yml)
docker-compose down