Brickify is a web app that transforms 3D models into step-by-step LEGO brick building instructions. Simply upload your 3D model files and receive detailed instructions for recreating them with LEGO bricks.
The app also supports hybrid 3D-LEGO prototyping, allowing you to rapidly iterate on physical designs by building partial LEGO prototypes before committing to a full 3D print.
$ git clone https://github.com/ad-si/brickify.git
$ cd brickify
Install dependencies: $ npm install
Link git hooks for automatic code tests and style checks:
$ npm run linkHooks
$ npm start
In order to continuously rebuild the project and restart the server
when source files change you can use supervisor.
Install it globally with $ npm install -g supervisor and use it like this:
$ supervisor -i build -e node -- make start
(Only necessary for server-side scripts as front-end gets build on the fly.)
Run $ npm run to list available scripts.
Execute a script like: $ npm run <script-name>
Following scripts are currently available:
build: Builds client and server js filesstart: Starts serverapiDocumentation: Generates API documentationdocumentation: Generates code documentationtest: Executes headless teststestClient: Executes frontend tests in the browserbatchTest: Batch test all models and create a HTML reportprepublish: Prepares publication of project
We use npm for package management. In order to bundle the modules for the browser, we use Vite and Browserify.
The code must be formatted as described in https://github.com/style-guides/JavaScript