Used modules: - Logging: winston (https://www.npmjs.com/package/winston) - winston-mongodb (https://www.npmjs.com/package/winston-mongodb) - Configuration: config (https://www.npmjs.com/package/config) - Error handling: - express-async-errors - Backend framework: express - Database: mongodb - Requirements: Joi (https://www.npmjs.com/package/joi)
MongoDB model relationship: https://stackoverflow.com/questions/58748173/mongodb-schema-store-id-as-fk-or-whole-document
Difference between module.exports and exports: -https://stackoverflow.com/questions/7137397/module-exports-vs-exports-in-node-js
https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/
NEWS: -https://www.smashingmagazine.com/2021/01/nodejs-api-ethereum-blockchain/ -https://itnext.io/storage-dapp-using-solidity-and-ipfs-62cf371b77dc -https://www.youtube.com/watch?v=RMlo9_wfKYU&ab_channel=Polycode -https://docs.ipfs.tech/concepts/what-is-ipfs/#decentralization -https://www.freecodecamp.org/news/how-to-design-a-secure-backend-for-your-decentralized-application-9541b5d8bddb/ Error: {Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in node_modules/ipfs/package.json} : https://github.com/ipfs/js-ipfs/blob/master/docs/upgrading/v0.62-v0.63.md#esm
IPFS: https://docs.ipfs.tech/basics/js/js-ipfs/#spawn-a-node
NodeJS-Cache: https://www.npmjs.com/package/node-cache https://www.digitalocean.com/community/tutorials/how-to-implement-caching-in-node-js-using-redis
Async: https://blog.risingstack.com/mastering-async-await-in-nodejs/
Async error handling: simpler approach : npm - express-async-errors
--runInBand: (package.json -> Jest) Makes the test suites run serially, not parallel (https://stackoverflow.com/questions/54422849/jest-testing-multiple-test-file-port-3000-already-in-use) --coverage: Coverage generator