-
open terminal in '\back-end\loopback-academy-api'
npm install
-
run server: npm start
-
open terminal in '\front-end'
npm install
npm start
https://hackmd.io/@nndkhoa9/wnc-online-academy
mongodb-join: https://stackoverflow.com/questions/35813854/how-to-join-multiple-collections-with-lookup-in-mongodb
https://docs.mongodb.com/manual/text-search/
https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/
https://docs.mongodb.com/drivers/node/fundamentals/crud/write-operations/change-a-document
https://stackoverflow.com/questions/48348869/nodejs-express-server-not-closing
https://stackoverflow.com/questions/14031763/doing-a-cleanup-action-just-before-node-js-exits
https://github.com/ajv-validator/ajv/blob/master/docs/json-schema.md#type
https://stackoverflow.com/a/45530751/13602669
https://loopback.io/doc/en/lb3/Operation-hooks.html#loaded
https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript
https://stackoverflow.com/questions/767486/how-do-you-check-if-a-variable-is-an-array-in-javascript
https://www.regextester.com/19
https://stackoverflow.com/questions/40282519/split-string-by-multiple-spaces-nodejs
https://stackoverflow.com/questions/28945700/dynamically-name-mongo-key-field
https://stackoverflow.com/questions/57938609/dynamic-match-variable-mongodb
https://stackoverflow.com/questions/13895006/unwind-empty-array
https://stackoverflow.com/questions/16662405/mongo-group-query-how-to-keep-fields
https://stackoverflow.com/questions/35352638/react-how-to-get-parameter-value-from-query-string
https://classicalrehan.wordpress.com/2019/01/28/how-to-set-default-value-in-react-draft-wysiwyg/