Skip to content

VovaStelmashchuk/nest2d

Repository files navigation

NestApp

The online platform for Nest algorithm.

screen of working

How to use?

What is Nest Problem?

Given a square piece of material and some letters to be laser-cut:

We want to pack all the letters into the square, using as little material as possible. If a single square is not enough, we also want to minimize the number of squares used.

In the CNC world this is called "nesting", and software that does this is typically targeted at industrial customers and very expensive. for more detail , please go to SVGNest

Current development status

Curretly, the projest in refactoring stage. The project originaly based on Nest4J fork. I aleardy migarte the nesting algorithm to the Rust library by JeroenGar.

I want to make change in the project quickly. So I decide to remove the Java backend and use the Nuxt for both backend and frontend. In case your interested in the java backend source code, you can find it Release 0.5.4 last release with java backend

The repository based on few github project, I keep the original history of commits.

Also, i have some plane to modify the project. The project will be support DXF file. The SVG format available only for the preview. The project will be migrate to Kotlin fully or majority.

Fill free to create issues or pull requests. The main goal of the project is mainly free and open source solution for nesting problem. I try to find the way to compensate the price of cloud server. You Star of the project can help to apply to some open source program.

Big Thanks to JeroenGar

He is the author of jagua-rs. I use his project as the core service for the service. Without his project, I can't make this project.

I use slightly modified version of his project. Can be found here

Credits:

Also special thanks to:

Development setup

Make sure to install dependencies:

# npm
npm install

Development Server

Start the development server on http://localhost:3000:

# npm
npm run dev

Production

Build the application for production:

# npm
npm run build

Locally preview production build:

# npm
npm run preview

Secrets

Project use docker secrets for storing sensitive data. For local development create .secret.json file in the root of the project. In case you want to getting secret from other file change the .env file.

Sample of .secret.json file:

{
  "mongoUri": "mongodb://<user>:<pass>@<ip>:<port>/<dbname>?<connection specific options>"
}

Referenced Paper