Skip to content

ad-si/Brickify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,277 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Brickify

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.

Installation

$ 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

Start Server

$ 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.)

Scripts

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 files
  • start: Starts server
  • apiDocumentation: Generates API documentation
  • documentation: Generates code documentation
  • test: Executes headless tests
  • testClient: Executes frontend tests in the browser
  • batchTest: Batch test all models and create a HTML report
  • prepublish: Prepares publication of project

Package management

We use npm for package management. In order to bundle the modules for the browser, we use Vite and Browserify.

Styleguide

The code must be formatted as described in https://github.com/style-guides/JavaScript