{"id":15020853,"url":"https://github.com/vovastelmashchuk/nest2d","last_synced_at":"2025-07-02T20:34:17.208Z","repository":{"id":219628735,"uuid":"749433978","full_name":"VovaStelmashchuk/nest2d","owner":"VovaStelmashchuk","description":"Nesting For plotters, laser \u0026 plasma cutters, and other CNC machines.","archived":false,"fork":false,"pushed_at":"2025-06-22T16:57:50.000Z","size":13866,"stargazers_count":50,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T23:37:26.143Z","etag":null,"topics":["bin-packing","cutting-and-packing","geometry","laser-cutter","laser-cutting","nest","nest-backend","nest2d","nesting","no-fit-polygon","sheetmetal"],"latest_commit_sha":null,"homepage":"https://nest2d.stelmashchuk.dev/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VovaStelmashchuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-28T15:21:40.000Z","updated_at":"2025-06-22T16:57:53.000Z","dependencies_parsed_at":"2024-03-17T13:39:55.235Z","dependency_job_id":"062e2975-70b8-4514-a0f3-ad348e6b3f2e","html_url":"https://github.com/VovaStelmashchuk/nest2d","commit_stats":{"total_commits":220,"total_committers":11,"mean_commits":20.0,"dds":0.4409090909090909,"last_synced_commit":"79815951b83e33e7958cf113fd1c5969ff9602c0"},"previous_names":["vovastelmashchuk/nest2d"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/VovaStelmashchuk/nest2d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VovaStelmashchuk%2Fnest2d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VovaStelmashchuk%2Fnest2d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VovaStelmashchuk%2Fnest2d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VovaStelmashchuk%2Fnest2d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VovaStelmashchuk","download_url":"https://codeload.github.com/VovaStelmashchuk/nest2d/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VovaStelmashchuk%2Fnest2d/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263211053,"owners_count":23431245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bin-packing","cutting-and-packing","geometry","laser-cutter","laser-cutting","nest","nest-backend","nest2d","nesting","no-fit-polygon","sheetmetal"],"created_at":"2024-09-24T19:55:46.054Z","updated_at":"2025-07-02T20:34:17.195Z","avatar_url":"https://github.com/VovaStelmashchuk.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nest2d\n\nNesting For plotters, laser \u0026 plasma cutters, and other CNC machines.\n\n![screen of working](./doc/web_screen.png)\n\n## How to use?\n\n#### [Visit Nest2D](https://nest2d.stelmashchuk.dev/)\n\n# What is Nest Problem?\n\nGiven a square piece of material and some letters to be laser-cut:\n\nWe want to pack all the letters into the square, using as little material as possible. If a single square is not enough,\nwe also want to minimize the number of squares used.\n\nIn 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](https://github.com/Jack000/SVGnest)\n\n## Current development status\n\nCurretly, the projest in refactoring stage. The project originaly based on Nest4J fork. I aleardy migarte the nesting algorithm to the Rust library by [JeroenGar](https://github.com/JeroenGar).\n\nI 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](https://github.com/VovaStelmashchuk/nest2d/releases/tag/0.5.4)\n\n## The repository based on few github project, I keep the original history of commits.\n\nAlso, i have some plane to modify the project. The project will be support DXF file. The SVG format available only for\nthe preview. The project will be migrate to Kotlin fully or majority.\n\nFill free to create issues or pull requests. The main goal of the project is mainly free and open source solution for\nnesting problem. I try to find the way to compensate the price of cloud server. **You Star of the project can help to\napply to some open source program.**\n\n### Big Thanks to [JeroenGar](https://github.com/JeroenGar)\n\nHe is the author of [jagua-rs](https://github.com/JeroenGar/jagua-rs). I use his project as the core service for the\nservice. Without his project, I can't make this project.\n\nI use slightly modified version of his project. Can be found [here](https://github.com/VovaStelmashchuk/jagua-rs)\n\n### Credits:\n\n- [SVGNest](https://github.com/Jack000/SVGnest)\n- [DXFReader](https://github.com/wholder/DXFReader)\n- [NEST4J fork](https://github.com/micycle1/Nest4J/tree/master)\n- [Dexus](https://github.com/Dexus)\n- [Deepnest](https://github.com/deepnest-next)\n\nAlso special thanks to:\n\n- [Autocad dxf](https://github.com/Asaye/autocad-dxf/tree/main)\n\n## Development setup\n\nMake sure to install dependencies:\n\n```bash\n# npm\nnpm install\n```\n\n## Development Server\n\nStart the development server on `http://localhost:3000`:\n\n```bash\n# npm\nnpm run dev\n```\n\n## Production\n\nBuild the application for production:\n\n```bash\n# npm\nnpm run build\n```\n\nLocally preview production build:\n\n```bash\n# npm\nnpm run preview\n```\n\n## Secrets\n\nProject use docker secrets for storing sensitive data. For local development create `.secret.json` file in the root of the project.\nIn case you want to getting secret from other file change the `.env` file.\n\nSample of `.secret.json` file:\n\n```json\n{\n  \"mongoUri\": \"mongodb://\u003cuser\u003e:\u003cpass\u003e@\u003cip\u003e:\u003cport\u003e/\u003cdbname\u003e?\u003cconnection specific options\u003e\"\n}\n```\n\n### Referenced Paper\n\n- [López-Camacho _et al._ 2013](http://www.cs.stir.ac.uk/~goc/papers/EffectiveHueristic2DAOR2013.pdf)\n- [Kendall 2000](http://www.graham-kendall.com/papers/k2001.pdf)\n- [E.K. Burke _et al._ 2006](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.440.379\u0026rep=rep1\u0026type=pdf)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvovastelmashchuk%2Fnest2d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvovastelmashchuk%2Fnest2d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvovastelmashchuk%2Fnest2d/lists"}