{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.learncodeacademy/node-tutorials","documentNamespace":"https://spdx.org/spdxdocs/protobom/53df2f05-32c1-495b-ad26-89e3cc6df183","creationInfo":{"creators":["Tool: protobom-v0.0.0-20260130170711-0b8e67cacb3b+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-02-10T00:38:33Z"},"packages":[{"name":"mocha","SPDXID":"SPDXRef-npm-mocha-2.5.3-e44e9a","versionInfo":"^2.5.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mocha@%5E2.5.3"}]},{"name":"axios","SPDXID":"SPDXRef-npm-axios-0.12.0-ceca3b","versionInfo":"^0.12.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/axios@%5E0.12.0"}]},{"name":"lodash","SPDXID":"SPDXRef-npm-lodash-4.13.1-d6a59d","versionInfo":"^4.13.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/lodash@%5E4.13.1"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.1-ede207","versionInfo":"~1.15.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@~1.15.1"}]},{"name":"cookie-parser","SPDXID":"SPDXRef-npm-cookie-parser-1.4.3-0d5ac3","versionInfo":"~1.4.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/cookie-parser@~1.4.3"}]},{"name":"debug","SPDXID":"SPDXRef-npm-debug-2.2.0-82aa90","versionInfo":"~2.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/debug@~2.2.0"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.13.4-cecf52","versionInfo":"~4.13.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@~4.13.4"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-46518e","versionInfo":"~0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@~0.0.6"}]},{"name":"morgan","SPDXID":"SPDXRef-npm-morgan-1.7.0-368142","versionInfo":"~1.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/morgan@~1.7.0"}]},{"name":"node-sass-middleware","SPDXID":"SPDXRef-npm-node-sass-middleware-0.8.0-7c3e9d","versionInfo":"0.8.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2013+ Andrew Nesbitt., Copyright (c) 2014 Andrew Nesbitt","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/node-sass-middleware@0.8.0"}]},{"name":"serve-favicon","SPDXID":"SPDXRef-npm-serve-favicon-2.3.0-7abbfe","versionInfo":"~2.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/serve-favicon@~2.3.0"}]},{"name":"bcrypt-nodejs","SPDXID":"SPDXRef-npm-bcrypt-nodejs-0.0.3-1ed6d6","versionInfo":"0.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-3-Clause","copyrightText":"Copyright (c) 2012 Nevins Bartolomeo \u003cnevins.bartolomeo@gmail.com\u003e, Copyright (c) 2012 Shane Girish \u003cshaneGirish@gmail.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/bcrypt-nodejs@0.0.3"}]},{"name":"passport-local","SPDXID":"SPDXRef-npm-passport-local-1.0.0-eab2bd","versionInfo":"^1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-local@%5E1.0.0"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-adc515","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"knex","SPDXID":"SPDXRef-npm-knex-0.11.10-2dd61e","versionInfo":"^0.11.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/knex@%5E0.11.10"}]},{"name":"passport","SPDXID":"SPDXRef-npm-passport-0.3.2-7a6306","versionInfo":"^0.3.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport@%5E0.3.2"}]},{"name":"express-session","SPDXID":"SPDXRef-npm-express-session-1.14.1-40bd34","versionInfo":"^1.14.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express-session@%5E1.14.1"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.10.2-776c11","versionInfo":"^1.10.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.10.2"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-05ddd7","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-6a7540","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-1081b4","versionInfo":"0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@0.0.6"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.11.1-d6d9b2","versionInfo":"^2.11.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.11.1"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-8d01e5","versionInfo":"0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@0.0.6"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-df3277","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.10.2-513738","versionInfo":"^1.10.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.10.2"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-c3cb93","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"knex","SPDXID":"SPDXRef-npm-knex-0.11.10-80a393","versionInfo":"^0.11.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/knex@%5E0.11.10"}]},{"name":"passport","SPDXID":"SPDXRef-npm-passport-0.3.2-1a9910","versionInfo":"^0.3.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport@%5E0.3.2"}]},{"name":"passport-local","SPDXID":"SPDXRef-npm-passport-local-1.0.0-fd3eae","versionInfo":"^1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-local@%5E1.0.0"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-8b75c8","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.11.1-6b3025","versionInfo":"^2.11.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.11.1"}]},{"name":"bcrypt-nodejs","SPDXID":"SPDXRef-npm-bcrypt-nodejs-0.0.3-b04297","versionInfo":"0.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-3-Clause","copyrightText":"Copyright (c) 2012 Nevins Bartolomeo \u003cnevins.bartolomeo@gmail.com\u003e, Copyright (c) 2012 Shane Girish \u003cshaneGirish@gmail.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/bcrypt-nodejs@0.0.3"}]},{"name":"express-session","SPDXID":"SPDXRef-npm-express-session-1.14.1-04adde","versionInfo":"^1.14.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express-session@%5E1.14.1"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-8d6b04","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-27ec76","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-b3d3af","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-093c49","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-9768ba","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-50d5e4","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"serve-favicon","SPDXID":"SPDXRef-npm-serve-favicon-2.3.0-b1682b","versionInfo":"^2.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/serve-favicon@%5E2.3.0"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-b54135","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-41e133","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-b26f9d","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-0b2b54","versionInfo":"0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@0.0.6"}]},{"name":"knex","SPDXID":"SPDXRef-npm-knex-0.11.7-68ee54","versionInfo":"^0.11.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/knex@%5E0.11.7"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.11.1-61fa9b","versionInfo":"^2.11.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.11.1"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-19f099","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"express-session","SPDXID":"SPDXRef-npm-express-session-1.14.1-8c7c60","versionInfo":"^1.14.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express-session@%5E1.14.1"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.10.2-473378","versionInfo":"^1.10.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.10.2"}]},{"name":"passport","SPDXID":"SPDXRef-npm-passport-0.3.2-856ca2","versionInfo":"^0.3.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport@%5E0.3.2"}]},{"name":"passport-github","SPDXID":"SPDXRef-npm-passport-github-1.1.0-45596d","versionInfo":"^1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-github@%5E1.1.0"}]},{"name":"knex","SPDXID":"SPDXRef-npm-knex-0.11.10-0c7d76","versionInfo":"^0.11.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/knex@%5E0.11.10"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-a4a779","versionInfo":"0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@0.0.6"}]},{"name":"passport-local","SPDXID":"SPDXRef-npm-passport-local-1.0.0-a04323","versionInfo":"^1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-local@%5E1.0.0"}]},{"name":"bcrypt-nodejs","SPDXID":"SPDXRef-npm-bcrypt-nodejs-0.0.3-09515e","versionInfo":"0.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-3-Clause","copyrightText":"Copyright (c) 2012 Nevins Bartolomeo \u003cnevins.bartolomeo@gmail.com\u003e, Copyright (c) 2012 Shane Girish \u003cshaneGirish@gmail.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/bcrypt-nodejs@0.0.3"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.11.0-64545c","versionInfo":"^1.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.11.0"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-4cafef","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-229690","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.11.1-8369d5","versionInfo":"^2.11.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.11.1"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-42b567","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-2a29a0","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"passport","SPDXID":"SPDXRef-npm-passport-0.3.2-6dfd3e","versionInfo":"^0.3.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport@%5E0.3.2"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.11.0-c91dd5","versionInfo":"^1.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.11.0"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-1a2f59","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"ioredis","SPDXID":"SPDXRef-npm-ioredis-2.4.0-239bbc","versionInfo":"^2.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/ioredis@%5E2.4.0"}]},{"name":"passport-github","SPDXID":"SPDXRef-npm-passport-github-1.1.0-b1847d","versionInfo":"^1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-github@%5E1.1.0"}]},{"name":"express-session","SPDXID":"SPDXRef-npm-express-session-1.14.1-422398","versionInfo":"^1.14.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express-session@%5E1.14.1"}]},{"name":"knex","SPDXID":"SPDXRef-npm-knex-0.11.10-5c7742","versionInfo":"^0.11.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/knex@%5E0.11.10"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-259c21","versionInfo":"0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@0.0.6"}]},{"name":"passport-local","SPDXID":"SPDXRef-npm-passport-local-1.0.0-4ef490","versionInfo":"^1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-local@%5E1.0.0"}]},{"name":"connect-redis","SPDXID":"SPDXRef-npm-connect-redis-3.1.0-162882","versionInfo":"^3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/connect-redis@%5E3.1.0"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.10.2-de30b2","versionInfo":"^1.10.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.10.2"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.11.1-83cbf6","versionInfo":"^2.11.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.11.1"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-f4c3b9","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"express-redis-cache","SPDXID":"SPDXRef-npm-express-redis-cache-0.5.0-be72b8","versionInfo":"^0.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express-redis-cache@%5E0.5.0"}]},{"name":"bcrypt-nodejs","SPDXID":"SPDXRef-npm-bcrypt-nodejs-0.0.3-e4845f","versionInfo":"0.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-3-Clause","copyrightText":"Copyright (c) 2012 Nevins Bartolomeo \u003cnevins.bartolomeo@gmail.com\u003e, Copyright (c) 2012 Shane Girish \u003cshaneGirish@gmail.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/bcrypt-nodejs@0.0.3"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-5f13c3","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"mongodb","SPDXID":"SPDXRef-npm-mongodb-2.2.10-97f78b","versionInfo":"^2.2.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mongodb@%5E2.2.10"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.11.0-8a3053","versionInfo":"^1.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.11.0"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-b97588","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-006946","versionInfo":"0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@0.0.6"}]},{"name":"serve-favicon","SPDXID":"SPDXRef-npm-serve-favicon-2.3.0-5ea8a1","versionInfo":"^2.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/serve-favicon@%5E2.3.0"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-7a76f9","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"knex","SPDXID":"SPDXRef-npm-knex-0.11.7-11daa7","versionInfo":"^0.11.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/knex@%5E0.11.7"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.11.1-7b4ef8","versionInfo":"^2.11.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.11.1"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.9.2-b7953d","versionInfo":"^1.9.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.9.2"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-c0a050","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-186c5e","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"passport","SPDXID":"SPDXRef-npm-passport-0.3.2-8ed394","versionInfo":"^0.3.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport@%5E0.3.2"}]},{"name":"passport-local","SPDXID":"SPDXRef-npm-passport-local-1.0.0-b09195","versionInfo":"^1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-local@%5E1.0.0"}]},{"name":"hjs","SPDXID":"SPDXRef-npm-hjs-0.0.6-154d33","versionInfo":"0.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/hjs@0.0.6"}]},{"name":"bcrypt-nodejs","SPDXID":"SPDXRef-npm-bcrypt-nodejs-0.0.3-c1490a","versionInfo":"0.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-3-Clause","copyrightText":"Copyright (c) 2012 Nevins Bartolomeo \u003cnevins.bartolomeo@gmail.com\u003e, Copyright (c) 2012 Shane Girish \u003cshaneGirish@gmail.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/bcrypt-nodejs@0.0.3"}]},{"name":"ioredis","SPDXID":"SPDXRef-npm-ioredis-2.4.0-c94482","versionInfo":"^2.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/ioredis@%5E2.4.0"}]},{"name":"express-session","SPDXID":"SPDXRef-npm-express-session-1.14.1-40a09a","versionInfo":"^1.14.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express-session@%5E1.14.1"}]},{"name":"connect-redis","SPDXID":"SPDXRef-npm-connect-redis-3.1.0-ed5ca2","versionInfo":"^3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/connect-redis@%5E3.1.0"}]},{"name":"passport-github","SPDXID":"SPDXRef-npm-passport-github-1.1.0-b046ac","versionInfo":"^1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/passport-github@%5E1.1.0"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-47a9b9","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.11.0-b63233","versionInfo":"^1.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.11.0"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.11.1-092aee","versionInfo":"^2.11.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.11.1"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-1.10.2-7e4a0c","versionInfo":"^1.10.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E1.10.2"}]},{"name":"express-redis-cache","SPDXID":"SPDXRef-npm-express-redis-cache-0.5.0-1a0800","versionInfo":"^0.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express-redis-cache@%5E0.5.0"}]},{"name":"knex","SPDXID":"SPDXRef-npm-knex-0.11.10-d9175d","versionInfo":"^0.11.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/knex@%5E0.11.10"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.15.2-e3d160","versionInfo":"^1.15.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.15.2"}]},{"name":"pm2","SPDXID":"SPDXRef-npm-pm2-2.0.18-b44cc4","versionInfo":"^2.0.18","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/pm2@%5E2.0.18"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.14.0-21c80e","versionInfo":"^4.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.14.0"}]},{"name":"com.github.learncodeacademy/node-tutorials","SPDXID":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","versionInfo":"master","downloadLocation":"git+https://github.com/learncodeacademy/node-tutorials","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/learncodeacademy/node-tutorials@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mocha-2.5.3-e44e9a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-axios-0.12.0-ceca3b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-lodash-4.13.1-d6a59d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.1-ede207","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-cookie-parser-1.4.3-0d5ac3","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-debug-2.2.0-82aa90","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.13.4-cecf52","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-46518e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-morgan-1.7.0-368142","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-node-sass-middleware-0.8.0-7c3e9d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-serve-favicon-2.3.0-7abbfe","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-bcrypt-nodejs-0.0.3-1ed6d6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-local-1.0.0-eab2bd","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-adc515","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-knex-0.11.10-2dd61e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-0.3.2-7a6306","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-session-1.14.1-40bd34","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.10.2-776c11","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-05ddd7","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-6a7540","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-1081b4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mysql-2.11.1-d6d9b2","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-8d01e5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-df3277","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.10.2-513738","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-c3cb93","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-knex-0.11.10-80a393","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-0.3.2-1a9910","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-local-1.0.0-fd3eae","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-8b75c8","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mysql-2.11.1-6b3025","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-bcrypt-nodejs-0.0.3-b04297","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-session-1.14.1-04adde","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-8d6b04","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-27ec76","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-b3d3af","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-093c49","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-9768ba","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-50d5e4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-serve-favicon-2.3.0-b1682b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-b54135","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-41e133","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-b26f9d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-0b2b54","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-knex-0.11.7-68ee54","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mysql-2.11.1-61fa9b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-19f099","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-session-1.14.1-8c7c60","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.10.2-473378","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-0.3.2-856ca2","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-github-1.1.0-45596d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-knex-0.11.10-0c7d76","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-a4a779","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-local-1.0.0-a04323","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-bcrypt-nodejs-0.0.3-09515e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.11.0-64545c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-4cafef","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-229690","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mysql-2.11.1-8369d5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-42b567","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-2a29a0","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-0.3.2-6dfd3e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.11.0-c91dd5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-1a2f59","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-ioredis-2.4.0-239bbc","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-github-1.1.0-b1847d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-session-1.14.1-422398","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-knex-0.11.10-5c7742","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-259c21","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-local-1.0.0-4ef490","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-connect-redis-3.1.0-162882","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.10.2-de30b2","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mysql-2.11.1-83cbf6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-f4c3b9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-redis-cache-0.5.0-be72b8","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-bcrypt-nodejs-0.0.3-e4845f","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-5f13c3","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mongodb-2.2.10-97f78b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.11.0-8a3053","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-b97588","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-006946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-serve-favicon-2.3.0-5ea8a1","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-7a76f9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-knex-0.11.7-11daa7","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mysql-2.11.1-7b4ef8","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.9.2-b7953d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-c0a050","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-186c5e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-0.3.2-8ed394","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-local-1.0.0-b09195","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-hjs-0.0.6-154d33","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-bcrypt-nodejs-0.0.3-c1490a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-ioredis-2.4.0-c94482","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-session-1.14.1-40a09a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-connect-redis-3.1.0-ed5ca2","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-passport-github-1.1.0-b046ac","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-47a9b9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.11.0-b63233","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-mysql-2.11.1-092aee","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-nodemon-1.10.2-7e4a0c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-redis-cache-0.5.0-1a0800","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-knex-0.11.10-d9175d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-body-parser-1.15.2-e3d160","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-pm2-2.0.18-b44cc4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relatedSpdxElement":"SPDXRef-npm-express-4.14.0-21c80e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-learncodeacademy-node-tutorials-master-af591b","relationshipType":"DESCRIBES"}]}