{"id":21188504,"url":"https://github.com/drsensor/autodesk-multirotor-calculator","last_synced_at":"2025-08-27T09:37:07.030Z","repository":{"id":71508828,"uuid":"72346489","full_name":"DrSensor/Autodesk-Multirotor-Calculator","owner":"DrSensor","description":"This repository for joining autodesk hackathon summer 2016","archived":false,"fork":false,"pushed_at":"2018-06-16T23:36:12.000Z","size":266,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-19T19:17:15.587Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DrSensor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-30T11:53:36.000Z","updated_at":"2019-12-18T01:34:18.000Z","dependencies_parsed_at":"2023-03-10T08:45:59.247Z","dependency_job_id":null,"html_url":"https://github.com/DrSensor/Autodesk-Multirotor-Calculator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DrSensor/Autodesk-Multirotor-Calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrSensor%2FAutodesk-Multirotor-Calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrSensor%2FAutodesk-Multirotor-Calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrSensor%2FAutodesk-Multirotor-Calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrSensor%2FAutodesk-Multirotor-Calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DrSensor","download_url":"https://codeload.github.com/DrSensor/Autodesk-Multirotor-Calculator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrSensor%2FAutodesk-Multirotor-Calculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272315137,"owners_count":24912512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T18:45:21.673Z","updated_at":"2025-08-27T09:37:06.971Z","avatar_url":"https://github.com/DrSensor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# model.derivative-nodejs-google.drive.viewer\n\n[![Node.js](https://img.shields.io/badge/Node.js-4.4.3-blue.svg)](https://nodejs.org/)\n[![npm](https://img.shields.io/badge/npm-2.15.1-blue.svg)](https://www.npmjs.com/)\n![Platforms](https://img.shields.io/badge/platform-windows%20%7C%20osx%20%7C%20linux-lightgray.svg)\n[![License](http://img.shields.io/:license-mit-blue.svg)](http://opensource.org/licenses/MIT)\n\n[![oAuth2](https://img.shields.io/badge/oAuth2-v1-green.svg)](http://developer.autodesk.com/)\n[![OSS](https://img.shields.io/badge/OSS-v2-green.svg)](http://developer.autodesk.com/)\n[![Model-Derivative](https://img.shields.io/badge/Model%20Derivative-v2-green.svg)](http://developer.autodesk.com/)\n\n# Description\n\nThis 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:\n  \n![](www/img/indexpage.png)\n\n## Live version\n\nSee it live at [forgegoogledriveviewer.herokuapp.com](http://forgegoogledriveviewer.herokuapp.com/). \n\n# Setup\n\nFor 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 \u003cb\u003ehttp://localhost:3000/api/forge/callback/oauth\u003c/b\u003e as Callback URL. Finally take note of the \u003cb\u003eClient ID\u003c/b\u003e and \u003cb\u003eClient Secret\u003c/b\u003e.\n\nYou 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 \u003cb\u003ehttp://localhost:3000/api/google/callback/oauth\u003c/b\u003e as redirect_uri. Make sure you activate **Google Drive** \u0026 **Google People** APIs, this sample uses both scopes. Finally, take note of the \u003cb\u003eclient_id\u003c/b\u003e and \u003cb\u003eclient_secret\u003c/b\u003e.\n\n### Run locally\n\nInstall [NodeJS](https://nodejs.org).\n\nClone 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 (\u003cb\u003eTerminal\u003c/b\u003e on MacOSX/Linux, \u003cb\u003eGit Shell\u003c/b\u003e on Windows):\n\n    git clone https://github.com/developer-autodesk/model.derivative-nodejs-google.drive.viewer\n\nTo run it, install the required packages, set the enviroment variables with your client ID \u0026 secret and finally start it. Via command line, navigate to the folder where this repository was cloned and use the following:\n\nMac OSX/Linux (Terminal)\n\n    npm install\n    export FORGE_CLIENT_ID=\u003c\u003cYOUR CLIENT ID FROM FORGE DEVELOPER PORTAL\u003e\u003e\n    export FORGE_CLIENT_SECRET=\u003c\u003cYOUR FORGE CLIENT SECRET\u003e\u003e\n    export GOOGLE_CLIENT_ID=\u003c\u003cYOUR CLIENT ID FROM GOOGLE DEVELOPER\u003e\u003e\n    export GOOGLE_CLIENT_SECRET=\u003c\u003cYOUR GOOGLE CLIENT SECRET\u003e\u003e\n    npm run dev\n\nWindows (use \u003cb\u003eNode.js command line\u003c/b\u003e from Start menu)\n\n    npm install\n    set FORGE_CLIENT_ID=\u003c\u003cYOUR CLIENT ID FROM FORGE DEVELOPER PORTAL\u003e\u003e\n    set FORGE_CLIENT_SECRET=\u003c\u003cYOUR FORGE CLIENT SECRET\u003e\u003e\n    set GOOGLE_CLIENT_ID=\u003c\u003cYOUR CLIENT ID FROM GOOGLE DEVELOPER\u003e\u003e\n    set GOOGLE_CLIENT_SECRET=\u003c\u003cYOUR GOOGLE CLIENT SECRET\u003e\u003e\n    npm run dev\n\nOpen the browser: [http://localhost:3000](http://localhost:3000).\n\n\u003cb\u003eImportant:\u003c/b\u003e do not use \u003cb\u003enpm start\u003c/b\u003e locally, this is intended for PRODUCTION only with HTTPS (SSL) secure cookies.\n\n### Deploy on Heroku\n\nTo deploy this application to Heroku, the \u003cb\u003eCallback URL\u003c/b\u003e \u0026 \u003cb\u003eredirect_uri\u003c/b\u003e must use your .herokuapp.com address. After clicking on the button below, at the Heroku Create New App page, set your Client ID \u0026 Secret and the correct callback URL.\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n\nWatch [this video](https://www.youtube.com/watch?v=Oqa9O20Gj0c) on how deploy this sample to Heroku.\n\n## Packages used\n\nAll 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).\n\n# Tips \u0026 tricks\n\nFor 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:\n\n    sudo npm install -g nodemon\n\nThen, instead of \u003cb\u003enpm run dev\u003c/b\u003e, use the following:\n\n    npm run nodemon\n\nWhich executes \u003cb\u003enodemon server.js --ignore www/\u003c/b\u003e, where the \u003cb\u003e--ignore\u003c/b\u003e parameter indicates that the app should not restart if files under \u003cb\u003ewww\u003c/b\u003e folder are modified.\n\n## Troubleshooting\n\nAfter installing Github desktop for Windows, on the Git Shell, if you see a \u003cb\u003e*error setting certificate verify locations*\u003c/b\u003e error, use the following:\n\n    git config --global http.sslverify \"false\"\n\n# License\n\nThis sample is licensed under the terms of the [MIT License](http://opensource.org/licenses/MIT).\nPlease see the [LICENSE](LICENSE) file for full details.\n\n## Written by\n\nAugusto Goncalves (Forge Partner Development)\u003cbr /\u003e\nhttp://forge.autodesk.com\u003cbr /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrsensor%2Fautodesk-multirotor-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrsensor%2Fautodesk-multirotor-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrsensor%2Fautodesk-multirotor-calculator/lists"}