Coder Social home page Coder Social logo

vb6hobbyst7 / printabrick Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hubnedav/printabrick

0.0 1.0 0.0 5.51 MB

Web catalogue of LEGO® parts for 3D printing

Home Page: https://printabrick.org/

License: GNU General Public License v2.0

PHP 78.43% ApacheConf 0.78% JavaScript 3.13% CSS 2.06% HTML 15.44% Shell 0.16%

printabrick's Introduction

PrintABrick

Web catalogue of LEGO® parts for 3D printing

A Symfony project

Install

System requirements

  • PHP needs to be a minimum version of PHP 7.0
  • PHP Extensions
    • FTP
    • SOAP
    • GD
    • PDO
    • Zip
  • date.timezone setting set in php.ini

You can check if your system meets requirements by running $ bin/symfony_requirements

For full requirements see Symfony 3.3 docs.

Required

  • Elasticsearch >= 5

    Instructions for installing and deploying Elasticsearch may be found here.

  • POV-Ray source.

  • stl2pov source.

  • ADMesh

  • LDView OSMesa >= 4.2.1 source.

Installing

Back-end

  1. Make sure your system meets the application requirements
  2. Install dependencies via Composer, $ composer install

Front-end

  1. Install dependencies via npm, $ npm install
  2. Install bower dependencies via bower, $ bower install
  3. Compile assets by running Gulp, $ gulp default [--env production]

Initialization

Setup database
  1. Set application parameters in app/config/parameters.yml
  2. Generate an empty database by running command (if it does not yet exist) $ bin/console doctrine:database:create
  3. Create database tables/schema by running command$ bin/console doctrine:schema:create
  4. Load database fixtures $ bin/console doctrine:fixtures:load
Load data

You can load initial application data by running command $ bin/console app:init

This command consists of multiple subcommands that can be called separately:

  1. Load LDraw models into database by running commad $ bin/console app:load:ldraw [--ldraw=PATH] [--all] [--file=FILE] [--update]
  2. Load Rebrickable data into database by running command $ bin/console app:load:rebrickable
  3. Load relations between LDraw models and Rebrickable parts by running command $ bin/console app:load:relations
  4. Download images of models from rebrickable.com $ bin/console app:load:images [--color=INT] [--rebrickable] [--missing]
  5. Populate Elastisearch index $ bin/console fos:elastica:populate
Adding part relation

Relations between LDraw models and Rebrickable parts are matched automatically by identical (or similar) id/name when executing command $ bin/console app:load:relation.

Unmatched relations can be specified by adding relation of IDs to app/Resources/relations/part_model.yml

Testing

The test database must be created before the first test runs. You can create new one by running:

  1. Generate an empty database by running command (if it does not yet exist) $ bin/console doctrine:database:create --env=test
  2. Create database tables/schema by running command$ bin/console doctrine:schema:create --env=test

You can run complete system tests by $ phpunit. These should cover the main system functions and the functionality of calling the third-party programs that are required are needed to seamlessly retrieve the necessary application data.

printabrick's People

Contributors

hubnedav avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.