{"id":2094,"date":"2017-03-15T14:56:21","date_gmt":"2017-03-15T14:56:21","guid":{"rendered":"http:\/\/myprojects.advchaweb.com\/?p=2094"},"modified":"2017-03-16T08:00:40","modified_gmt":"2017-03-16T08:00:40","slug":"quiz-app-with-angularjs-and-loopback","status":"publish","type":"post","link":"https:\/\/myprojects.advchaweb.com\/index.php\/2017\/03\/15\/quiz-app-with-angularjs-and-loopback\/","title":{"rendered":"Quiz App With AngularJS and Loopback"},"content":{"rendered":"<p>Ref: <a href=\"https:\/\/github.com\/tomchal\/Quiz4All\">https:\/\/github.com\/tomchal\/Quiz4All<\/a><br \/>\nInstallation:<\/p>\n<ol>\n<li>Go to your favorite directory and Clone the app\n<pre class=\"lang:default decode:true \">teddy@teddy-K43SJ:~$ cd Documents\/node\/\r\nteddy@teddy-K43SJ:~\/Documents\/node$ git clone https:\/\/github.com\/tomchal\/Quiz4All.git\r\nCloning into 'Quiz4All'...\r\nremote: Counting objects: 191, done.\r\nremote: Total 191 (delta 0), reused 0 (delta 0), pack-reused 191\r\nReceiving objects: 100% (191\/191), 3.60 MiB | 140.00 KiB\/s, done.\r\nResolving deltas: 100% (8\/8), done.\r\nChecking connectivity... done.<\/pre>\n<\/li>\n<li>Go to the &#8216;Quiz4All&#8217; dir\n<pre class=\"lang:default decode:true \">teddy@teddy-K43SJ:~\/Documents\/node$ cd Quiz4All\/<\/pre>\n<\/li>\n<li>Install the node packages with npm\n<pre class=\"lang:default decode:true \">teddy@teddy-K43SJ:~\/Documents\/node\/Quiz4All$ npm install\r\nnpm WARN deprecated gcloud@0.10.0: gcloud has been renamed to google-cloud. To get new features and bug fixes, you must use the new package.\r\nnpm WARN deprecated node-uuid@1.4.7: use uuid module instead\r\nQuiz4All@1.0.0 \/home\/teddy\/Documents\/node\/Quiz4All\r\n\u251c\u2500\u252c compression@1.6.2 \r\n\u2502 \u251c\u2500\u252c accepts@1.3.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 mime-types@2.1.14 \r\n\u2502 \u2502 \u2514\u2500\u2500 negotiator@0.6.1 \r\n\u2502 \u251c\u2500\u2500 bytes@2.3.0 \r\n\u2502 \u251c\u2500\u252c compressible@2.0.9 \r\n\u2502 \u2502 \u2514\u2500\u2500 mime-db@1.26.0 \r\n\u2502 \u251c\u2500\u252c debug@2.2.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 ms@0.7.1 \r\n\u2502 \u251c\u2500\u2500 on-headers@1.0.1 \r\n\u2502 \u2514\u2500\u2500 vary@1.1.0 \r\n\u251c\u2500\u2500 cors@2.8.1 \r\n\u251c\u2500\u252c eslint@2.13.1 \r\n\u2502 \u251c\u2500\u252c chalk@1.1.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 ansi-styles@2.2.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 escape-string-regexp@1.0.5 \r\n\u2502 \u2502 \u251c\u2500\u2500 has-ansi@2.0.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 strip-ansi@3.0.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 supports-color@2.0.0 \r\n\u2502 \u251c\u2500\u252c concat-stream@1.4.10 \r\n\u2502 \u2502 \u251c\u2500\u2500 inherits@2.0.3 \r\n\u2502 \u2502 \u251c\u2500\u252c readable-stream@1.1.14 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 isarray@0.0.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 string_decoder@0.10.31 \r\n\u2502 \u2502 \u2514\u2500\u2500 typedarray@0.0.6 \r\n\u2502 \u251c\u2500\u252c doctrine@1.5.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 isarray@1.0.0 \r\n\u2502 \u251c\u2500\u252c es6-map@0.1.4 \r\n\u2502 \u2502 \u251c\u2500\u2500 d@0.1.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 es5-ext@0.10.14 \r\n\u2502 \u2502 \u251c\u2500\u2500 es6-iterator@2.0.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 es6-set@0.1.4 \r\n\u2502 \u2502 \u251c\u2500\u2500 es6-symbol@3.1.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 event-emitter@0.3.4 \r\n\u2502 \u251c\u2500\u252c escope@3.6.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 es6-weak-map@2.0.1 \r\n\u2502 \u2502 \u2514\u2500\u252c esrecurse@4.1.0 \r\n\u2502 \u2502   \u251c\u2500\u2500 estraverse@4.1.1 \r\n\u2502 \u2502   \u2514\u2500\u2500 object-assign@4.1.1 \r\n\u2502 \u251c\u2500\u252c espree@3.4.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 acorn@4.0.4 \r\n\u2502 \u2502 \u2514\u2500\u252c acorn-jsx@3.0.1 \r\n\u2502 \u2502   \u2514\u2500\u2500 acorn@3.3.0 \r\n\u2502 \u251c\u2500\u2500 estraverse@4.2.0 \r\n\u2502 \u251c\u2500\u2500 esutils@2.0.2 \r\n\u2502 \u251c\u2500\u252c file-entry-cache@1.3.1 \r\n\u2502 \u2502 \u251c\u2500\u252c flat-cache@1.2.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 circular-json@0.3.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c del@2.2.2 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u252c globby@5.0.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u251c\u2500\u252c array-union@1.0.2 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 array-uniq@1.0.3 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 arrify@1.0.1 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 object-assign@4.1.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 is-path-cwd@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u252c is-path-in-cwd@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 is-path-inside@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 object-assign@4.1.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 pify@2.3.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u252c pinkie-promise@2.0.1 \r\n\u2502 \u2502 \u2502 \u2502   \u2514\u2500\u2500 pinkie@2.0.4 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 graceful-fs@4.1.11 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 write@0.2.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 object-assign@4.1.1 \r\n\u2502 \u251c\u2500\u252c glob@7.1.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 fs.realpath@1.0.0 \r\n\u2502 \u2502 \u251c\u2500\u252c inflight@1.0.6 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 wrappy@1.0.2 \r\n\u2502 \u2502 \u2514\u2500\u2500 once@1.4.0 \r\n\u2502 \u251c\u2500\u2500 globals@9.16.0 \r\n\u2502 \u251c\u2500\u2500 ignore@3.2.5 \r\n\u2502 \u251c\u2500\u2500 imurmurhash@0.1.4 \r\n\u2502 \u251c\u2500\u252c inquirer@0.12.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 ansi-escapes@1.4.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 ansi-regex@2.1.1 \r\n\u2502 \u2502 \u251c\u2500\u252c cli-cursor@1.0.2 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c restore-cursor@1.0.1 \r\n\u2502 \u2502 \u2502   \u251c\u2500\u2500 exit-hook@1.1.1 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u2500 onetime@1.1.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 cli-width@2.1.0 \r\n\u2502 \u2502 \u251c\u2500\u252c figures@1.7.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 object-assign@4.1.1 \r\n\u2502 \u2502 \u251c\u2500\u252c readline2@1.0.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 code-point-at@1.1.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c is-fullwidth-code-point@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 number-is-nan@1.0.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 mute-stream@0.0.5 \r\n\u2502 \u2502 \u251c\u2500\u2500 run-async@0.1.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 rx-lite@3.1.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 string-width@1.0.2 \r\n\u2502 \u2502 \u2514\u2500\u2500 through@2.3.8 \r\n\u2502 \u251c\u2500\u252c is-my-json-valid@2.16.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 generate-function@2.0.0 \r\n\u2502 \u2502 \u251c\u2500\u252c generate-object-property@1.2.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 is-property@1.0.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 jsonpointer@4.0.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 xtend@4.0.1 \r\n\u2502 \u251c\u2500\u252c is-resolvable@1.0.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 tryit@1.0.3 \r\n\u2502 \u251c\u2500\u252c js-yaml@3.8.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 argparse@1.0.9 \r\n\u2502 \u2502 \u2514\u2500\u2500 esprima@3.1.3 \r\n\u2502 \u251c\u2500\u252c json-stable-stringify@1.0.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 jsonify@0.0.0 \r\n\u2502 \u251c\u2500\u252c levn@0.3.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 prelude-ls@1.1.2 \r\n\u2502 \u2502 \u2514\u2500\u2500 type-check@0.3.2 \r\n\u2502 \u251c\u2500\u2500 lodash@4.17.4 \r\n\u2502 \u251c\u2500\u252c mkdirp@0.5.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 minimist@0.0.8 \r\n\u2502 \u251c\u2500\u252c optionator@0.8.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 deep-is@0.1.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 fast-levenshtein@2.0.6 \r\n\u2502 \u2502 \u2514\u2500\u2500 wordwrap@1.0.0 \r\n\u2502 \u251c\u2500\u2500 path-is-absolute@1.0.1 \r\n\u2502 \u251c\u2500\u2500 path-is-inside@1.0.2 \r\n\u2502 \u251c\u2500\u2500 pluralize@1.2.1 \r\n\u2502 \u251c\u2500\u2500 progress@1.1.8 \r\n\u2502 \u251c\u2500\u252c require-uncached@1.0.3 \r\n\u2502 \u2502 \u251c\u2500\u252c caller-path@0.1.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 callsites@0.2.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 resolve-from@1.0.1 \r\n\u2502 \u251c\u2500\u2500 shelljs@0.6.1 \r\n\u2502 \u251c\u2500\u2500 strip-json-comments@1.0.4 \r\n\u2502 \u251c\u2500\u252c table@3.8.3 \r\n\u2502 \u2502 \u251c\u2500\u252c ajv@4.11.5 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 co@4.6.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 ajv-keywords@1.5.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 slice-ansi@0.0.4 \r\n\u2502 \u2502 \u2514\u2500\u252c string-width@2.0.0 \r\n\u2502 \u2502   \u2514\u2500\u2500 is-fullwidth-code-point@2.0.0 \r\n\u2502 \u251c\u2500\u2500 text-table@0.2.0 \r\n\u2502 \u2514\u2500\u252c user-home@2.0.0 \r\n\u2502   \u2514\u2500\u2500 os-homedir@1.0.2 \r\n\u251c\u2500\u2500 eslint-config-loopback@4.0.0 \r\n\u251c\u2500\u252c helmet@1.3.0 \r\n\u2502 \u251c\u2500\u252c connect@3.4.1 \r\n\u2502 \u2502 \u251c\u2500\u252c finalhandler@0.4.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 unpipe@1.0.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 utils-merge@1.0.0 \r\n\u2502 \u251c\u2500\u2500 dns-prefetch-control@0.1.0 \r\n\u2502 \u251c\u2500\u2500 dont-sniff-mimetype@1.0.0 \r\n\u2502 \u251c\u2500\u252c frameguard@1.1.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 lodash.isstring@4.0.1 \r\n\u2502 \u251c\u2500\u252c helmet-csp@1.1.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 camelize@1.0.0 \r\n\u2502 \u2502 \u251c\u2500\u252c content-security-policy-builder@1.0.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 dashify@0.2.2 \r\n\u2502 \u2502 \u251c\u2500\u252c lodash.assign@4.0.4 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 lodash.keys@4.2.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 lodash.rest@4.0.5 \r\n\u2502 \u2502 \u251c\u2500\u2500 lodash.isfunction@3.0.8 \r\n\u2502 \u2502 \u251c\u2500\u252c lodash.reduce@4.2.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 lodash._baseeach@4.1.3 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c lodash._baseiteratee@4.7.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u252c lodash._stringtopath@4.8.0 \r\n\u2502 \u2502 \u2502 \u2502   \u2514\u2500\u2500 lodash._basetostring@4.12.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 lodash._basereduce@3.0.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 lodash.some@4.2.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 platform@1.3.1 \r\n\u2502 \u251c\u2500\u2500 hide-powered-by@1.0.0 \r\n\u2502 \u251c\u2500\u2500 hpkp@1.1.0 \r\n\u2502 \u251c\u2500\u252c hsts@1.0.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 core-util-is@1.0.2 \r\n\u2502 \u251c\u2500\u2500 ienoopen@1.0.0 \r\n\u2502 \u251c\u2500\u2500 nocache@1.0.0 \r\n\u2502 \u2514\u2500\u2500 x-xss-protection@1.0.0 \r\n\u251c\u2500\u252c loopback@2.38.1 \r\n\u2502 \u251c\u2500\u2500 async@2.1.5 \r\n\u2502 \u251c\u2500\u2500 bcryptjs@2.4.3 \r\n\u2502 \u251c\u2500\u252c body-parser@1.17.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 bytes@2.4.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 content-type@1.0.2 \r\n\u2502 \u2502 \u251c\u2500\u252c debug@2.6.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ms@0.7.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 http-errors@1.6.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 iconv-lite@0.4.15 \r\n\u2502 \u2502 \u251c\u2500\u252c on-finished@2.3.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ee-first@1.1.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 qs@6.4.0 \r\n\u2502 \u2502 \u251c\u2500\u252c raw-body@2.2.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 bytes@2.4.0 \r\n\u2502 \u2502 \u2514\u2500\u252c type-is@1.6.14 \r\n\u2502 \u2502   \u2514\u2500\u2500 media-typer@0.3.0 \r\n\u2502 \u251c\u2500\u2500 canonical-json@0.0.4 \r\n\u2502 \u251c\u2500\u252c cookie-parser@1.4.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 cookie@0.3.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 cookie-signature@1.0.6 \r\n\u2502 \u251c\u2500\u2500 depd@1.1.0 \r\n\u2502 \u251c\u2500\u2500 ejs@2.5.6 \r\n\u2502 \u251c\u2500\u252c errorhandler@1.5.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 escape-html@1.0.3 \r\n\u2502 \u251c\u2500\u252c express@4.15.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 array-flatten@1.1.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 content-disposition@0.5.2 \r\n\u2502 \u2502 \u251c\u2500\u252c debug@2.6.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ms@0.7.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 encodeurl@1.0.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 finalhandler@1.0.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 merge-descriptors@1.0.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 methods@1.1.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 path-to-regexp@0.1.7 \r\n\u2502 \u2502 \u251c\u2500\u252c proxy-addr@1.1.3 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 forwarded@0.1.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ipaddr.js@1.2.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 range-parser@1.2.0 \r\n\u2502 \u2502 \u251c\u2500\u252c send@0.15.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 debug@2.6.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 destroy@1.0.4 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 mime@1.3.4 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ms@0.7.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 serve-static@1.12.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 setprototypeof@1.0.3 \r\n\u2502 \u2502 \u2514\u2500\u2500 statuses@1.3.1 \r\n\u2502 \u251c\u2500\u2500 inflection@1.12.0 \r\n\u2502 \u251c\u2500\u2500 isemail@1.2.0 \r\n\u2502 \u251c\u2500\u2500 loopback-connector-remote@1.3.3 \r\n\u2502 \u251c\u2500\u252c loopback-context@1.0.0 \r\n\u2502 \u2502 \u2514\u2500\u252c continuation-local-storage@3.2.0 \r\n\u2502 \u2502   \u251c\u2500\u252c async-listener@0.6.4 \r\n\u2502 \u2502   \u2502 \u251c\u2500\u2500 semver@5.3.0 \r\n\u2502 \u2502   \u2502 \u2514\u2500\u2500 shimmer@1.1.0 \r\n\u2502 \u2502   \u2514\u2500\u252c emitter-listener@1.0.1 \r\n\u2502 \u2502     \u2514\u2500\u2500 shimmer@1.0.0 \r\n\u2502 \u251c\u2500\u252c loopback-phase@1.4.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 async@0.9.2 \r\n\u2502 \u251c\u2500\u252c nodemailer@2.7.2 \r\n\u2502 \u2502 \u251c\u2500\u252c libmime@3.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 libbase64@0.1.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 libqp@1.1.0 \r\n\u2502 \u2502 \u251c\u2500\u252c mailcomposer@4.0.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c buildmail@4.0.1 \r\n\u2502 \u2502 \u2502   \u251c\u2500\u2500 addressparser@1.0.1 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u2500 punycode@1.4.1 \r\n\u2502 \u2502 \u251c\u2500\u252c nodemailer-direct-transport@3.3.2 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c smtp-connection@2.12.0 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u252c httpntlm@1.6.1 \r\n\u2502 \u2502 \u2502     \u251c\u2500\u2500 httpreq@0.4.23 \r\n\u2502 \u2502 \u2502     \u2514\u2500\u2500 underscore@1.7.0 \r\n\u2502 \u2502 \u251c\u2500\u252c nodemailer-shared@1.1.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 nodemailer-fetch@1.6.0 \r\n\u2502 \u2502 \u251c\u2500\u252c nodemailer-smtp-pool@2.8.2 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 nodemailer-wellknown@0.1.10 \r\n\u2502 \u2502 \u251c\u2500\u2500 nodemailer-smtp-transport@2.7.2 \r\n\u2502 \u2502 \u2514\u2500\u252c socks@1.1.9 \r\n\u2502 \u2502   \u251c\u2500\u2500 ip@1.1.5 \r\n\u2502 \u2502   \u2514\u2500\u2500 smart-buffer@1.1.15 \r\n\u2502 \u251c\u2500\u2500 nodemailer-stub-transport@1.1.0 \r\n\u2502 \u251c\u2500\u2500 stable@0.1.5 \r\n\u2502 \u251c\u2500\u252c strong-globalize@2.8.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 async@1.5.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 esprima@2.7.3 \r\n\u2502 \u2502 \u251c\u2500\u252c g11n-pipeline@1.3.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c swagger-client@2.1.32 \r\n\u2502 \u2502 \u2502   \u251c\u2500\u2500 btoa@1.1.2 \r\n\u2502 \u2502 \u2502   \u251c\u2500\u2500 cookiejar@2.1.0 \r\n\u2502 \u2502 \u2502   \u251c\u2500\u2500 lodash-compat@3.10.2 \r\n\u2502 \u2502 \u2502   \u251c\u2500\u2500 q@1.4.1 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u252c superagent@2.3.0 \r\n\u2502 \u2502 \u2502     \u251c\u2500\u2500 component-emitter@1.2.1 \r\n\u2502 \u2502 \u2502     \u2514\u2500\u252c form-data@1.0.0-rc4 \r\n\u2502 \u2502 \u2502       \u2514\u2500\u2500 async@1.5.2 \r\n\u2502 \u2502 \u251c\u2500\u252c htmlparser2@3.9.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 domelementtype@1.3.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 domhandler@2.3.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c domutils@1.5.1 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u252c dom-serializer@0.1.0 \r\n\u2502 \u2502 \u2502 \u2502   \u2514\u2500\u2500 domelementtype@1.1.3 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 entities@1.1.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c readable-stream@2.2.5 \r\n\u2502 \u2502 \u2502   \u251c\u2500\u2500 buffer-shims@1.0.0 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u2500 process-nextick-args@1.0.7 \r\n\u2502 \u2502 \u251c\u2500\u252c md5@2.2.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 charenc@0.0.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 crypt@0.0.2 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 is-buffer@1.1.5 \r\n\u2502 \u2502 \u251c\u2500\u252c mktmpdir@0.1.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 rimraf@2.2.8 \r\n\u2502 \u2502 \u251c\u2500\u2500 optional@0.1.3 \r\n\u2502 \u2502 \u251c\u2500\u252c os-locale@1.4.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c lcid@1.0.0 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u2500 invert-kv@1.0.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 posix-getopt@1.2.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 word-count@0.2.2 \r\n\u2502 \u2502 \u2514\u2500\u2500 yamljs@0.2.8 \r\n\u2502 \u251c\u2500\u252c strong-remoting@2.33.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 eventemitter2@2.2.2 \r\n\u2502 \u2502 \u251c\u2500\u252c jayson@1.2.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c commander@1.3.2 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 keypress@0.1.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 eyes@0.1.8 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c JSONStream@1.0.3 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 jsonparse@1.0.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 lodash@3.6.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 js2xmlparser@1.0.0 \r\n\u2502 \u2502 \u251c\u2500\u252c mux-demux@3.7.9 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 duplex@1.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 json-buffer@2.0.11 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c msgpack-stream@0.0.12 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u252c bops@0.0.6 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 base64-js@0.0.2 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 to-utf8@0.0.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 msgpack-js@0.3.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 through@2.3.4 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c stream-combiner@0.0.2 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 duplexer@0.0.4 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 stream-serializer@1.1.2 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 xtend@1.0.3 \r\n\u2502 \u2502 \u251c\u2500\u252c request@2.81.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 aws-sign2@0.6.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 aws4@1.6.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 caseless@0.12.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c combined-stream@1.0.5 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 delayed-stream@1.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 extend@3.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 forever-agent@0.6.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c form-data@2.1.2 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 asynckit@0.4.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c har-validator@4.2.1 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 har-schema@1.0.5 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c hawk@3.1.3 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 boom@2.10.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 cryptiles@2.0.5 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 hoek@2.16.3 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 sntp@1.0.9 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c http-signature@1.1.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 assert-plus@0.2.0 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u252c jsprim@1.4.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 assert-plus@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 extsprintf@1.0.2 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 json-schema@0.2.3 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 verror@1.3.6 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u252c sshpk@1.11.0 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u2500 asn1@0.2.3 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u2500 assert-plus@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u2500 bcrypt-pbkdf@1.0.1 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u252c dashdash@1.14.1 \r\n\u2502 \u2502 \u2502 \u2502   \u2502 \u2514\u2500\u2500 assert-plus@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u2500 ecc-jsbn@0.1.1 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u252c getpass@0.1.6 \r\n\u2502 \u2502 \u2502 \u2502   \u2502 \u2514\u2500\u2500 assert-plus@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u2500 jodid25519@1.0.2 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u2500 jsbn@0.1.1 \r\n\u2502 \u2502 \u2502 \u2502   \u2514\u2500\u2500 tweetnacl@0.14.5 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 is-typedarray@1.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 isstream@0.1.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 json-stringify-safe@5.0.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 oauth-sign@0.8.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 performance-now@0.2.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 safe-buffer@5.0.1 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 stringstream@0.0.5 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 tough-cookie@2.3.2 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 tunnel-agent@0.6.0 \r\n\u2502 \u2502 \u251c\u2500\u252c sse@0.0.6 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 options@0.0.6 \r\n\u2502 \u2502 \u2514\u2500\u252c xml2js@0.4.17 \r\n\u2502 \u2502   \u251c\u2500\u2500 sax@1.2.2 \r\n\u2502 \u2502   \u2514\u2500\u2500 xmlbuilder@4.2.1 \r\n\u2502 \u251c\u2500\u2500 uid2@0.0.3 \r\n\u2502 \u2514\u2500\u252c underscore.string@3.3.4 \r\n\u2502   \u251c\u2500\u2500 sprintf-js@1.0.3 \r\n\u2502   \u2514\u2500\u2500 util-deprecate@1.0.2 \r\n\u251c\u2500\u252c loopback-boot@2.23.0 \r\n\u2502 \u251c\u2500\u2500 async@0.9.2 \r\n\u2502 \u251c\u2500\u2500 commondir@0.0.1 \r\n\u2502 \u251c\u2500\u2500 lodash@3.10.1 \r\n\u2502 \u251c\u2500\u2500 semver@4.3.6 \r\n\u2502 \u2514\u2500\u2500 toposort@0.2.12 \r\n\u251c\u2500\u252c loopback-component-explorer@2.7.0 \r\n\u2502 \u251c\u2500\u2500 lodash@3.10.1 \r\n\u2502 \u251c\u2500\u252c loopback-swagger@2.9.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 async@1.5.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 lodash@3.10.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 underscore.string@2.3.3 \r\n\u2502 \u2514\u2500\u2500 strong-swagger-ui@21.0.2 \r\n\u251c\u2500\u252c loopback-component-storage@3.2.0 \r\n\u2502 \u251c\u2500\u2500 formidable@1.1.1 \r\n\u2502 \u251c\u2500\u252c pkgcloud@1.4.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 async@0.9.2 \r\n\u2502 \u2502 \u251c\u2500\u252c aws-sdk@2.28.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c buffer@4.9.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 base64-js@1.2.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 ieee754@1.1.8 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 crypto-browserify@1.0.9 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 jmespath@0.15.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 querystring@0.2.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 sax@1.1.5 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c url@0.10.3 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 punycode@1.3.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 uuid@3.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 xml2js@0.4.15 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c xmlbuilder@2.6.2 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u2500 lodash@3.5.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 errs@0.3.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 eventemitter2@0.4.14 \r\n\u2502 \u2502 \u251c\u2500\u2500 fast-json-patch@0.5.7 \r\n\u2502 \u2502 \u251c\u2500\u2500 filed@0.1.0 \r\n\u2502 \u2502 \u251c\u2500\u252c gcloud@0.10.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c duplexify@3.5.0 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u252c end-of-stream@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 once@1.3.3 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 stream-shift@1.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 extend@1.3.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c gapitoken@0.1.5 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u252c jws@3.0.0 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u252c base64url@1.0.6 \r\n\u2502 \u2502 \u2502 \u2502   \u2502 \u2514\u2500\u252c meow@2.0.0 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u251c\u2500\u252c camelcase-keys@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u2502 \u251c\u2500\u2500 camelcase@1.2.1 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u2502 \u2514\u2500\u2500 map-obj@1.0.1 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u251c\u2500\u252c indent-string@1.2.2 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u2502 \u251c\u2500\u2500 get-stdin@4.0.1 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u2502 \u251c\u2500\u2500 minimist@1.2.0 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u2502 \u2514\u2500\u252c repeating@1.1.3 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u2502   \u2514\u2500\u2500 is-finite@1.0.2 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u251c\u2500\u2500 minimist@1.2.0 \r\n\u2502 \u2502 \u2502 \u2502   \u2502   \u2514\u2500\u2500 object-assign@1.0.0 \r\n\u2502 \u2502 \u2502 \u2502   \u2514\u2500\u252c jwa@1.0.2 \r\n\u2502 \u2502 \u2502 \u2502     \u251c\u2500\u2500 base64url@0.0.6 \r\n\u2502 \u2502 \u2502 \u2502     \u251c\u2500\u2500 buffer-equal-constant-time@1.0.1 \r\n\u2502 \u2502 \u2502 \u2502     \u2514\u2500\u252c ecdsa-sig-formatter@1.0.9 \r\n\u2502 \u2502 \u2502 \u2502       \u2514\u2500\u2500 base64url@2.0.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 node-uuid@1.4.7 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c protobufjs@3.8.2 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u252c ascli@0.3.0 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 colour@0.7.1 \r\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 optjs@3.2.2 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u252c bytebuffer@3.5.5 \r\n\u2502 \u2502 \u2502 \u2502   \u251c\u2500\u2500 bufferview@1.0.1 \r\n\u2502 \u2502 \u2502 \u2502   \u2514\u2500\u2500 long@2.4.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c stream-events@1.0.1 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u2500 stubs@1.1.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 ip@0.3.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 lodash@3.10.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 mime@1.2.11 \r\n\u2502 \u2502 \u251c\u2500\u2500 qs@1.2.2 \r\n\u2502 \u2502 \u251c\u2500\u252c request@2.40.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 aws-sign2@0.5.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 forever-agent@0.5.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c form-data@0.1.4 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u252c combined-stream@0.0.7 \r\n\u2502 \u2502 \u2502 \u2502   \u2514\u2500\u2500 delayed-stream@0.0.5 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c hawk@1.1.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 boom@0.4.2 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 cryptiles@0.2.2 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 hoek@0.9.1 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 sntp@0.2.4 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u252c http-signature@0.10.1 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 asn1@0.1.11 \r\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 assert-plus@0.1.5 \r\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 ctype@0.5.3 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 mime-types@1.0.2 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 node-uuid@1.4.7 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 oauth-sign@0.3.0 \r\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 qs@1.0.2 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 tunnel-agent@0.4.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 s3-upload-stream@1.0.7 \r\n\u2502 \u2502 \u251c\u2500\u252c through2@0.6.5 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u252c readable-stream@1.0.34 \r\n\u2502 \u2502 \u2502   \u2514\u2500\u2500 isarray@0.0.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 url-join@0.0.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 xml2js@0.1.14 \r\n\u2502 \u2514\u2500\u2500 uuid@3.0.1 \r\n\u251c\u2500\u252c loopback-connector-mysql@2.4.1 \r\n\u2502 \u251c\u2500\u2500 async@0.9.2 \r\n\u2502 \u251c\u2500\u252c loopback-connector@2.7.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 async@1.5.2 \r\n\u2502 \u2502 \u251c\u2500\u2500 bluebird@3.5.0 \r\n\u2502 \u2502 \u2514\u2500\u252c msgpack5@3.4.1 \r\n\u2502 \u2502   \u2514\u2500\u2500 bl@1.2.0 \r\n\u2502 \u2514\u2500\u252c mysql@2.13.0 \r\n\u2502   \u251c\u2500\u2500 bignumber.js@3.1.2 \r\n\u2502   \u251c\u2500\u252c readable-stream@1.1.14 \r\n\u2502   \u2502 \u2514\u2500\u2500 isarray@0.0.1 \r\n\u2502   \u2514\u2500\u2500 sqlstring@2.2.0 \r\n\u251c\u2500\u252c loopback-datasource-juggler@2.54.1 \r\n\u2502 \u251c\u2500\u2500 async@1.0.0 \r\n\u2502 \u251c\u2500\u252c minimatch@3.0.3 \r\n\u2502 \u2502 \u2514\u2500\u252c brace-expansion@1.1.6 \r\n\u2502 \u2502   \u251c\u2500\u2500 balanced-match@0.4.2 \r\n\u2502 \u2502   \u2514\u2500\u2500 concat-map@0.0.1 \r\n\u2502 \u251c\u2500\u2500 qs@3.1.0 \r\n\u2502 \u251c\u2500\u2500 shortid@2.2.8 \r\n\u2502 \u2514\u2500\u2500 traverse@0.6.6 \r\n\u251c\u2500\u252c nsp@2.6.3 \r\n\u2502 \u251c\u2500\u252c chalk@1.1.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 ansi-styles@2.2.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 escape-string-regexp@1.0.5 \r\n\u2502 \u2502 \u251c\u2500\u252c has-ansi@2.0.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ansi-regex@2.0.0 \r\n\u2502 \u2502 \u251c\u2500\u252c strip-ansi@3.0.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ansi-regex@2.0.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 supports-color@2.0.0 \r\n\u2502 \u251c\u2500\u252c cli-table@0.3.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 colors@1.0.3 \r\n\u2502 \u251c\u2500\u2500 cvss@1.0.1 \r\n\u2502 \u251c\u2500\u252c https-proxy-agent@1.0.0 \r\n\u2502 \u2502 \u251c\u2500\u252c agent-base@2.0.1 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 semver@5.0.3 \r\n\u2502 \u2502 \u251c\u2500\u252c debug@2.2.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ms@0.7.1 \r\n\u2502 \u2502 \u2514\u2500\u2500 extend@3.0.0 \r\n\u2502 \u251c\u2500\u252c joi@6.10.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 hoek@2.16.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 isemail@1.2.0 \r\n\u2502 \u2502 \u251c\u2500\u2500 moment@2.12.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 topo@1.1.0 \r\n\u2502 \u251c\u2500\u2500 nodesecurity-npm-utils@5.0.0 \r\n\u2502 \u251c\u2500\u2500 path-is-absolute@1.0.0 \r\n\u2502 \u251c\u2500\u252c rc@1.1.6 \r\n\u2502 \u2502 \u251c\u2500\u2500 deep-extend@0.4.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 ini@1.3.4 \r\n\u2502 \u2502 \u251c\u2500\u2500 minimist@1.2.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 strip-json-comments@1.0.4 \r\n\u2502 \u251c\u2500\u2500 semver@5.1.0 \r\n\u2502 \u251c\u2500\u252c subcommand@2.0.3 \r\n\u2502 \u2502 \u251c\u2500\u2500 cliclopts@1.1.1 \r\n\u2502 \u2502 \u251c\u2500\u252c debug@2.2.0 \r\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 ms@0.7.1 \r\n\u2502 \u2502 \u251c\u2500\u2500 minimist@1.2.0 \r\n\u2502 \u2502 \u2514\u2500\u2500 xtend@4.0.1 \r\n\u2502 \u2514\u2500\u252c wreck@6.3.0 \r\n\u2502   \u251c\u2500\u2500 boom@2.10.1 \r\n\u2502   \u2514\u2500\u2500 hoek@2.16.3 \r\n\u251c\u2500\u252c serve-favicon@2.4.1 \r\n\u2502 \u251c\u2500\u2500 etag@1.8.0 \r\n\u2502 \u251c\u2500\u2500 fresh@0.5.0 \r\n\u2502 \u251c\u2500\u2500 ms@0.7.2 \r\n\u2502 \u2514\u2500\u2500 parseurl@1.3.1 \r\n\u2514\u2500\u252c strong-error-handler@1.2.1 \r\n  \u251c\u2500\u2500 http-status@0.2.5 \r\n  \u2514\u2500\u252c js2xmlparser@2.0.2 \r\n    \u2514\u2500\u2500 xmlcreate@0.1.1<\/pre>\n<\/li>\n<li>Go to &#8216;client&#8217; dir and use bower to install the packages\n<pre class=\"lang:default decode:true \">teddy@teddy-K43SJ:~\/Documents\/node\/Quiz4All$ cd client\/\r\nteddy@teddy-K43SJ:~\/Documents\/node\/Quiz4All\/client$ bower install\r\nbower not-cached    https:\/\/github.com\/angular-ui\/angular-ui-router-bower.git#^0.3.2\r\nbower resolve       https:\/\/github.com\/angular-ui\/angular-ui-router-bower.git#^0.3.2\r\nbower cached        https:\/\/github.com\/angular\/bower-angular-resource.git#1.6.3\r\nbower validate      1.6.3 against https:\/\/github.com\/angular\/bower-angular-resource.git#^1.6.0\r\nbower cached        https:\/\/github.com\/angular\/bower-angular.git#1.6.3\r\nbower validate      1.6.3 against https:\/\/github.com\/angular\/bower-angular.git#^1.6.0\r\nbower cached        https:\/\/github.com\/twbs\/bootstrap.git#3.3.7\r\nbower validate      3.3.7 against https:\/\/github.com\/twbs\/bootstrap.git#^3.3.7\r\nbower not-cached    https:\/\/github.com\/angular\/bower-material.git#^1.1.1\r\nbower resolve       https:\/\/github.com\/angular\/bower-material.git#^1.1.1\r\nbower not-cached    https:\/\/github.com\/angular-ui\/bootstrap-bower.git#^2.3.2\r\nbower resolve       https:\/\/github.com\/angular-ui\/bootstrap-bower.git#^2.3.2\r\nbower not-cached    https:\/\/github.com\/vitalets\/angular-xeditable.git#^0.6.0\r\nbower resolve       https:\/\/github.com\/vitalets\/angular-xeditable.git#^0.6.0\r\nbower not-cached    https:\/\/github.com\/nervgh\/angular-file-upload.git#^2.4.1\r\nbower resolve       https:\/\/github.com\/nervgh\/angular-file-upload.git#^2.4.1\r\nbower cached        https:\/\/github.com\/FortAwesome\/Font-Awesome.git#4.7.0\r\nbower validate      4.7.0 against https:\/\/github.com\/FortAwesome\/Font-Awesome.git#^4.7.0\r\nbower download      https:\/\/github.com\/angular-ui\/angular-ui-router-bower\/archive\/0.3.2.tar.gz\r\nbower download      https:\/\/github.com\/angular-ui\/bootstrap-bower\/archive\/2.5.0.tar.gz\r\nbower download      https:\/\/github.com\/angular\/bower-material\/archive\/v1.1.3.tar.gz\r\nbower download      https:\/\/github.com\/nervgh\/angular-file-upload\/archive\/2.5.0.tar.gz\r\nbower download      https:\/\/github.com\/vitalets\/angular-xeditable\/archive\/0.6.0.tar.gz\r\nbower cached        https:\/\/github.com\/jquery\/jquery-dist.git#3.1.1\r\nbower validate      3.1.1 against https:\/\/github.com\/jquery\/jquery-dist.git#1.9.1 - 3\r\nbower extract       angular-file-upload#^2.4.1 archive.tar.gz\r\nbower invalid-meta  for:\/tmp\/teddy\/bower\/e60440287b4df1cbc04045e77a8c05f5-9758-VM6j0Z\/bower.json\r\nbower invalid-meta  The \"main\" field cannot contain minified files\r\nbower resolved      https:\/\/github.com\/nervgh\/angular-file-upload.git#2.5.0\r\nbower extract       angular-bootstrap#^2.3.2 archive.tar.gz\r\nbower resolved      https:\/\/github.com\/angular-ui\/bootstrap-bower.git#2.5.0\r\nbower extract       angular-ui-router#^0.3.2 archive.tar.gz\r\nbower resolved      https:\/\/github.com\/angular-ui\/angular-ui-router-bower.git#0.3.2\r\nbower extract       angular-xeditable#^0.6.0 archive.tar.gz\r\nbower resolved      https:\/\/github.com\/vitalets\/angular-xeditable.git#0.6.0\r\nbower progress      angular-material#^1.1.1 received 1.1MB of 1.9MB downloaded, 61%\r\nbower progress      angular-material#^1.1.1 received 1.4MB of 1.9MB downloaded, 74%\r\nbower progress      angular-material#^1.1.1 received 1.7MB of 1.9MB downloaded, 91%\r\nbower extract       angular-material#^1.1.1 archive.tar.gz\r\nbower resolved      https:\/\/github.com\/angular\/bower-material.git#1.1.3\r\nbower cached        https:\/\/github.com\/angular\/bower-angular-animate.git#1.5.11\r\nbower validate      1.5.11 against https:\/\/github.com\/angular\/bower-angular-animate.git#^1.4.8\r\nbower not-cached    https:\/\/github.com\/angular\/bower-angular-aria.git#^1.4.8\r\nbower resolve       https:\/\/github.com\/angular\/bower-angular-aria.git#^1.4.8\r\nbower cached        https:\/\/github.com\/angular\/bower-angular-messages.git#1.5.11\r\nbower validate      1.5.11 against https:\/\/github.com\/angular\/bower-angular-messages.git#^1.4.8\r\nbower download      https:\/\/github.com\/angular\/bower-angular-aria\/archive\/v1.6.3.tar.gz\r\nbower extract       angular-aria#^1.4.8 archive.tar.gz\r\nbower resolved      https:\/\/github.com\/angular\/bower-angular-aria.git#1.6.3\r\nbower new           version for https:\/\/github.com\/angular\/bower-angular-animate.git#^1.4.8\r\nbower resolve       https:\/\/github.com\/angular\/bower-angular-animate.git#^1.4.8\r\nbower new           version for https:\/\/github.com\/angular\/bower-angular-messages.git#^1.4.8\r\nbower resolve       https:\/\/github.com\/angular\/bower-angular-messages.git#^1.4.8\r\nbower download      https:\/\/github.com\/angular\/bower-angular-animate\/archive\/v1.6.3.tar.gz\r\nbower download      https:\/\/github.com\/angular\/bower-angular-messages\/archive\/v1.6.3.tar.gz\r\nbower extract       angular-messages#^1.4.8 archive.tar.gz\r\nbower resolved      https:\/\/github.com\/angular\/bower-angular-messages.git#1.6.3\r\nbower extract       angular-animate#^1.4.8 archive.tar.gz\r\nbower resolved      https:\/\/github.com\/angular\/bower-angular-animate.git#1.6.3\r\nbower install       angular#1.6.3\r\nbower install       angular-resource#1.6.3\r\nbower install       font-awesome#4.7.0\r\nbower install       bootstrap#3.3.7\r\nbower install       jquery#3.1.1\r\nbower install       angular-file-upload#2.5.0\r\nbower install       angular-bootstrap#2.5.0\r\nbower install       angular-ui-router#0.3.2\r\nbower install       angular-xeditable#0.6.0\r\nbower install       angular-material#1.1.3\r\nbower install       angular-aria#1.6.3\r\nbower install       angular-messages#1.6.3\r\nbower install       angular-animate#1.6.3\r\n\r\nangular#1.6.3 bower_components\/angular\r\n\r\nangular-resource#1.6.3 bower_components\/angular-resource\r\n\u2514\u2500\u2500 angular#1.6.3\r\n\r\nfont-awesome#4.7.0 bower_components\/font-awesome\r\n\r\nbootstrap#3.3.7 bower_components\/bootstrap\r\n\u2514\u2500\u2500 jquery#3.1.1\r\n\r\njquery#3.1.1 bower_components\/jquery\r\n\r\nangular-file-upload#2.5.0 bower_components\/angular-file-upload\r\n\u2514\u2500\u2500 angular#1.6.3\r\n\r\nangular-bootstrap#2.5.0 bower_components\/angular-bootstrap\r\n\u2514\u2500\u2500 angular#1.6.3\r\n\r\nangular-ui-router#0.3.2 bower_components\/angular-ui-router\r\n\u2514\u2500\u2500 angular#1.6.3\r\n\r\nangular-xeditable#0.6.0 bower_components\/angular-xeditable\r\n\u2514\u2500\u2500 angular#1.6.3\r\n\r\nangular-material#1.1.3 bower_components\/angular-material\r\n\u251c\u2500\u2500 angular#1.6.3\r\n\u251c\u2500\u2500 angular-animate#1.6.3\r\n\u251c\u2500\u2500 angular-aria#1.6.3\r\n\u2514\u2500\u2500 angular-messages#1.6.3\r\n\r\nangular-aria#1.6.3 bower_components\/angular-aria\r\n\u2514\u2500\u2500 angular#1.6.3\r\n\r\nangular-messages#1.6.3 bower_components\/angular-messages\r\n\u2514\u2500\u2500 angular#1.6.3\r\n\r\nangular-animate#1.6.3 bower_components\/angular-animate\r\n\u2514\u2500\u2500 angular#1.6.3<\/pre>\n<p>&nbsp;<\/li>\n<li>Modify \/server\/datasources.json file. At &#8216;TchMySql&#8217;, match with your database setting. <span class=\"rcp-restricted-content-message\">SORRY, ONLY ADMIN CAN SHOW THIS!<\/span><br \/>\nIf you haven&#8217;t created the database &#8216;Quiz4All&#8217;, please do it manually (via phpmyadmin?).<br \/>\nNOTE: Loopback has a functionality to create the tables and fill the data\/fixture into the tables when the app run for the first time (create &#8216;quiz&#8217; table, create &#8216;user&#8217; table, insert the default user data into the table, etc). It&#8217;s called &#8216;autoMigrate&#8217; (<a href=\"https:\/\/loopback.io\/doc\/en\/lb2\/Creating-a-database-schema-from-models.html#auto-migrate\">https:\/\/loopback.io\/doc\/en\/lb2\/Creating-a-database-schema-from-models.html#auto-migrate<\/a>). It&#8217;d run the scripts in \/server\/boot\/ directory like &#8217;02_create-appusers.js&#8217;, &#8217;04_load_quizzes.js&#8217;, and so on. We know the scripts also load the other scripts to create the tables structure in \/common\/models\/ directory. For example &#8216;quiz.json&#8217; to create &#8216;quiz&#8217; table, &#8216;answer.json&#8217; to create &#8216;answer&#8217; table, and so on. It&#8217;d also fill the tables from the fixture &#8216;quizDane.js&#8217; in \/server\/data\/ directory. In the above scripts &#8217;02_create-appusers.js&#8217; and &#8217;04_load_quizzes.js&#8217;, there is a line responsible to do that (create table, fill the tables with the fixtures) when the app is starting. For example:<\/p>\n<pre class=\"lang:default decode:true \">\/\/02_create-appusers.js\r\n...\r\napp.dataSources.TchMySql.automigrate('appuser', function (err) {\r\n...\r\n\r\n\/\/04_load_quizzes.js\r\n...\r\napp.dataSources.TchMySql.automigrate(['quiz','question','answer'], function (err) {\r\n...<\/pre>\n<p>The loopback link above says:<br \/>\n&#8220;<span style=\"color: #ffff00;\">If there are existing tables in a database, running autoMigrate() will drop and re-create the tables: Therefore, data will be lost. To avoid this problem use auto-update(). Instead of dropping tables and recreating them, autoupdate() calculates the difference between the LoopBack model and the database table definition and alters the table accordingly. This way, the column data will be kept as long as the property is not deleted from the model.<\/span>&#8220;.<br \/>\nBECAUSE WE ONLY NEED\/WANT TO CREATE THE TABLES FOR THE FIRST TIME, THEN MODIFY THE SCRIPTS TO &#8216;autoupdate()&#8217; AFTER THAT OR WE&#8217;D LOST OUR DATA CHANGES AT THE NEXT START! &#8211;&gt; UPDATE: I TRIED TO MODIFY &#8216;.automigrate()&#8217; to &#8216;.autoupdate()&#8217; AFTER THE NEXT START BUT IT DIDN&#8217;T WORK.<\/p>\n<pre class=\"lang:default decode:true \">...\r\n\/home\/teddy\/Documents\/node\/Quiz4All\/node_modules\/mysql\/lib\/protocol\/Parser.js:79\r\n        throw err; \/\/ Rethrow non-MySQL errors\r\n        ^\r\nValidationError: The `appuser` instance is not valid. Details: `email` Email already exists (value: \"admin@q.com\").,ValidationError: The `appuser` instance is not valid. Details: `email` Email already exists (value: \"tchalows@gmail.com\").<\/pre>\n<p>SO WHAT IS WORK IS TO DELETE\/RENAME THE FILES IN \/server\/boot\/ DIRECTORY (I RENAMED THEM TO &#8217;02_create-appusers.js.bak&#8217; AND &#8217;04_load_quizzes.js.bak&#8217;)<\/li>\n<li>Go back to the root app then start the node server\n<pre class=\"lang:default decode:true \">teddy@teddy-K43SJ:~\/Documents\/node\/Quiz4All$ node .\r\n\r\nThe user model \"User\" is attached to an application that does not specify\r\nwhether other sessions should be invalidated when a password or\r\nan email has changed. Session invalidation is important for security\r\nreasons as it allows users to recover from various account breach\r\nsituations.\r\n\r\nWe recommend turning this feature on by setting\r\n\"logoutSessionsOnSensitiveChanges\" to true in\r\nserver\/config.json (unless you have implemented your own solution\r\nfor token invalidation).\r\n\r\nWe also recommend enabling \"injectOptionsFromRemoteContext\" in\r\nUser's settings (typically via common\/models\/*.json file).\r\nThis setting is required for the invalidation algorithm to keep \r\nthe current session valid.\r\n\r\nLearn more in our documentation at\r\nhttps:\/\/loopback.io\/doc\/en\/lb2\/AccessToken-invalidation.html\r\n\r\n\r\nThe user model \"appuser\" is attached to an application that does not specify\r\nwhether other sessions should be invalidated when a password or\r\nan email has changed. Session invalidation is important for security\r\nreasons as it allows users to recover from various account breach\r\nsituations.\r\n\r\nWe recommend turning this feature on by setting\r\n\"logoutSessionsOnSensitiveChanges\" to true in\r\nserver\/config.json (unless you have implemented your own solution\r\nfor token invalidation).\r\n\r\nWe also recommend enabling \"injectOptionsFromRemoteContext\" in\r\nappuser's settings (typically via common\/models\/*.json file).\r\nThis setting is required for the invalidation algorithm to keep \r\nthe current session valid.\r\n\r\nLearn more in our documentation at\r\nhttps:\/\/loopback.io\/doc\/en\/lb2\/AccessToken-invalidation.html\r\n\r\nWeb server listening at: http:\/\/0.0.0.0:3000\r\nBrowse your REST API at http:\/\/0.0.0.0:3000\/explorer\r\nQuiz: 0 created!\r\nQuiz: 1 created!\r\nQuiz: 2 created!\r\nQuiz: 3 created!\r\nQuiz: 4 created!\r\nUsers created: \r\n [ { email: 'admin@q.com',\r\n    password: '$2a$10$3UAUdiHgvY7V0kf.0X9V5e2UEe\/tHf.pE.2h2SD970Nr.eLToGtVC',\r\n    created: 2017-03-15T14:43:06.391Z,\r\n    id: 1 },\r\n  { email: 'tchalows@gmail.com',\r\n    password: '$2a$10$iZZoG4eS39ewJSH6xWogpObGbMPqV0Yi35c9cATPb2e78LpKNlVfS',\r\n    created: 2017-03-15T14:43:06.391Z,\r\n    id: 2 } ]\r\n<\/pre>\n<p>Here are the looks from http:\/\/localhost:3000\/ or http:\/\/localhost:3000\/#!\/quizzes <a href=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-front.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2097\" src=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-front-1024x523.png\" alt=\"\" width=\"840\" height=\"429\" srcset=\"https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-front-1024x523.png 1024w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-front-300x153.png 300w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-front-768x392.png 768w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-front.png 1199w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a>If any user is logged in (or you can also register and login. Here I registered with email: advcha@yahoo.com and password: admin), here is the look<a href=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-user.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2098\" src=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-user-1024x417.png\" alt=\"\" width=\"840\" height=\"342\" srcset=\"https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-user-1024x417.png 1024w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-user-300x122.png 300w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-user-768x312.png 768w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-user-1200x488.png 1200w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-user.png 1202w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a>New quiz (http:\/\/localhost:3000\/#!\/newquiz)<a href=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-new-quiz.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2099\" src=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-new-quiz-1024x512.png\" alt=\"\" width=\"840\" height=\"420\" srcset=\"https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-new-quiz-1024x512.png 1024w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-new-quiz-300x150.png 300w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-new-quiz-768x384.png 768w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-new-quiz-1200x600.png 1200w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-new-quiz.png 1212w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a>Here is the created quiz<a href=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-quiz-created.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2100\" src=\"http:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-quiz-created-1024x562.png\" alt=\"\" width=\"840\" height=\"461\" srcset=\"https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-quiz-created-1024x562.png 1024w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-quiz-created-300x165.png 300w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-quiz-created-768x422.png 768w, https:\/\/myprojects.advchaweb.com\/wp-content\/uploads\/2017\/03\/quiz4all-quiz-created.png 1197w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a>NOTE: DON&#8217;T FORGET TO RENAME THE SCRIPTS IN \/server\/boot\/ DIR TO &#8217;02_create-appusers.js.bak&#8217; AND &#8217;04_load_quizzes.js.bak&#8217; RESPECTIVELY SO THE ABOVE DATA WOULD NOT BE DELETED IF THE NODE SERVER RUN AGAIN!<br \/>\nAnyway this is very good. But I think it needs some improvements like edit the quizzes (if user is logged in), admin panel, user member (student or admin), etc.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Ref: https:\/\/github.com\/tomchal\/Quiz4All Installation: Go to your favorite directory and Clone the app teddy@teddy-K43SJ:~$ cd Documents\/node\/ teddy@teddy-K43SJ:~\/Documents\/node$ git clone https:\/\/github.com\/tomchal\/Quiz4All.git Cloning into &#8216;Quiz4All&#8217;&#8230; remote: Counting objects: 191, done. remote: Total 191 (delta 0), reused 0 (delta 0), pack-reused 191 Receiving objects: 100% (191\/191), 3.60 MiB | 140.00 KiB\/s, done. Resolving deltas: 100% (8\/8), done. Checking connectivity&#8230; &hellip; <a href=\"https:\/\/myprojects.advchaweb.com\/index.php\/2017\/03\/15\/quiz-app-with-angularjs-and-loopback\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Quiz App With AngularJS and Loopback&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,13],"tags":[],"class_list":["post-2094","post","type-post","status-publish","format-standard","hentry","category-node","category-tutorial"],"_links":{"self":[{"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/posts\/2094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/comments?post=2094"}],"version-history":[{"count":7,"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/posts\/2094\/revisions"}],"predecessor-version":[{"id":2096,"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/posts\/2094\/revisions\/2096"}],"wp:attachment":[{"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/media?parent=2094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/categories?post=2094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myprojects.advchaweb.com\/index.php\/wp-json\/wp\/v2\/tags?post=2094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}