With advances in 3D printing and 3D scanning technologies, there is an increasing number of 3D models that are being put online. The goal of this project is to develop an open source Web gallery for 3D models, allowing users to upload and download 3D models without a fee. The gallery also spots several advanced features for interacting and viewing 3D models.
- React
- Redux
- Webpack
- Gulp
- NodeJS
- Express
- MongoDB
- SASS
- Mocha
- Install NodeJS 5.2+
- Install MongoDB 3.0.0
- Clone the Github repository
$ git clone git@github.com:nus-mtp/cubist.git
$ npm install
- If your system is OS X:
brew install homebrew/science/vips
sudo chown -R $(whoami):admin /usr/local
brew update && brew upgrade
- If your system is Ubuntu:
apt-get install libvips libkrb5-dev
- Go to team's Google Drive and download
private.js
. Move the file tosrc/api/config/settings
- Go to team's Google Drive and download
Models for Database/Models_Set.zip
. - Unzip
Models_Set.zip
file and place thestorage
folder in your local repo folder. - Clear MongoDB database for
cubist-api-development
andcubist-api-production
(if necessary) - Install Gulp globally by running:
npm install gulp -g
- Run script
- For basic set of system-friendly models:
gulp script --path src/api/scripts/createData/index.js
- For all available models (including non-system-friendly models):
gulp script --path src/api/scripts/createData/allModels.js
- Replace
script
withprod-script
for production environment
- For basic set of system-friendly models:
$ npm run api-dev
$ npm run webapp-dev
$ npm run api-prod
$ npm run webapp-prod
- For every issue, work on a separate branch
- For every commit, specify clearly the purpose of the commit in this format:
$ git commit -m "[purpose] commit message"
- Run these commands before every commit:
$ npm run lint
$ npm run sasslint
$ npm run test
- When there are new commits in
master
branch, please keep up with it by merging into your branch using command:
$ git merge master --no-commit
$ git commit -m "commit message"
- When your branch is ready, create a pull request through GitHub and assign one of the collaborators to review your work
- After the pull request is approved, you can merge into
master
branch through GitHub or using command:
$ git merge [your-branch-name] --no-ff --no-commit
$ git commit -m "commit message"
For bug reporting, please create issues in Github