https://github.com/drsensor/autodesk-multirotor-calculator
This repository for joining autodesk hackathon summer 2016
https://github.com/drsensor/autodesk-multirotor-calculator
Last synced: 10 months ago
JSON representation
This repository for joining autodesk hackathon summer 2016
- Host: GitHub
- URL: https://github.com/drsensor/autodesk-multirotor-calculator
- Owner: DrSensor
- License: mit
- Created: 2016-10-30T11:53:36.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-06-16T23:36:12.000Z (about 8 years ago)
- Last Synced: 2025-08-19T19:17:15.587Z (10 months ago)
- Language: JavaScript
- Size: 260 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# model.derivative-nodejs-google.drive.viewer
[](https://nodejs.org/)
[](https://www.npmjs.com/)

[](http://opensource.org/licenses/MIT)
[](http://developer.autodesk.com/)
[](http://developer.autodesk.com/)
[](http://developer.autodesk.com/)
# Description
This sample use [Model Derivative API](https://developer.autodesk.com/en/docs/model-derivative/v2/overview/) to translate [Google Drive](https://drive.google.com) files into [Viewer](https://developer.autodesk.com/en/docs/viewer/v2/overview/). The front-end will look like:

## Live version
See it live at [forgegoogledriveviewer.herokuapp.com](http://forgegoogledriveviewer.herokuapp.com/).
# Setup
For using this sample, you need an Autodesk developer credentials. Visit the [Forge Developer Portal](https://developer.autodesk.com), sign up for an account, then [create an app](https://developer.autodesk.com/myapps/create). For this new app, use http://localhost:3000/api/forge/callback/oauth as Callback URL. Finally take note of the Client ID and Client Secret.
You also need a Google Developer credentials. Visit the [Google APIs Console](https://console.developers.google.com), Log in or Sign up, follow the steps to Create a Credential. For this new app, use http://localhost:3000/api/google/callback/oauth as redirect_uri. Make sure you activate **Google Drive** & **Google People** APIs, this sample uses both scopes. Finally, take note of the client_id and client_secret.
### Run locally
Install [NodeJS](https://nodejs.org).
Clone this project or download it. It's recommended to install [GitHub desktop](https://desktop.github.com/). To clone it via command line, use the following (Terminal on MacOSX/Linux, Git Shell on Windows):
git clone https://github.com/developer-autodesk/model.derivative-nodejs-google.drive.viewer
To run it, install the required packages, set the enviroment variables with your client ID & secret and finally start it. Via command line, navigate to the folder where this repository was cloned and use the following:
Mac OSX/Linux (Terminal)
npm install
export FORGE_CLIENT_ID=<>
export FORGE_CLIENT_SECRET=<>
export GOOGLE_CLIENT_ID=<>
export GOOGLE_CLIENT_SECRET=<>
npm run dev
Windows (use Node.js command line from Start menu)
npm install
set FORGE_CLIENT_ID=<>
set FORGE_CLIENT_SECRET=<>
set GOOGLE_CLIENT_ID=<>
set GOOGLE_CLIENT_SECRET=<>
npm run dev
Open the browser: [http://localhost:3000](http://localhost:3000).
Important: do not use npm start locally, this is intended for PRODUCTION only with HTTPS (SSL) secure cookies.
### Deploy on Heroku
To deploy this application to Heroku, the Callback URL & redirect_uri must use your .herokuapp.com address. After clicking on the button below, at the Heroku Create New App page, set your Client ID & Secret and the correct callback URL.
[](https://heroku.com/deploy)
Watch [this video](https://www.youtube.com/watch?v=Oqa9O20Gj0c) on how deploy this sample to Heroku.
## Packages used
All Autodesk Forge NPM packages are included by default, see complete list of what's available at [NPM website](https://www.npmjs.com/browse/keyword/autodesk). OAuth, Model Derivative and OSS are used. [Google Drive](https://developers.google.com/drive/v3/web/quickstart/nodejs) for NodeJS is [googleapis](https://www.npmjs.com/package/googleapis). Some other non-Autodesk packaged are used, including [express](https://www.npmjs.com/package/express) and its session/cookie middlewares ([express-session](https://www.npmjs.com/package/express-session) and [cookie-parser](https://www.npmjs.com/package/cookie-parser)) for user session handling. The front-end uses [bootsrap](https://www.npmjs.com/package/bootstrap) and [jquery](https://www.npmjs.com/package/jquery).
# Tips & tricks
For local development/testing, consider use [nodemon](https://www.npmjs.com/package/nodemon) package, which auto restart your node application after any modification on your code. To install it, use:
sudo npm install -g nodemon
Then, instead of npm run dev, use the following:
npm run nodemon
Which executes nodemon server.js --ignore www/, where the --ignore parameter indicates that the app should not restart if files under www folder are modified.
## Troubleshooting
After installing Github desktop for Windows, on the Git Shell, if you see a *error setting certificate verify locations* error, use the following:
git config --global http.sslverify "false"
# License
This sample is licensed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Please see the [LICENSE](LICENSE) file for full details.
## Written by
Augusto Goncalves (Forge Partner Development)
http://forge.autodesk.com