├── LICENSE
└── README.md
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Ashokkumar
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # NodeJS Study Guide
2 |
3 | Table of Contents
4 | =================
5 |
6 | - [Learn NodeJS](#learn-nodejs)
7 | - [Coding standards](#coding-standards)
8 | - [NodeJS frameworks](#nodejs-frameworks)
9 | - [Performance Optimizations](#performance-optimizations)
10 | - [Nodejs Architecture](#nodejs-architecture)
11 | - [NodeJS with Typescript](#nodejs-with-typescript)
12 | - [Projects](#projects)
13 | - [MERN](#mern)
14 | - [Nodejs with Nginx](#nodejs-with-nginx)
15 | - [Nodejs Logging](#nodejs-logging)
16 | - [Nodejs Error Handling](#nodejs-error-handling)
17 | - [Tips and tricks](#tips-and-tricks)
18 | - [Micro services](#micro-services)
19 | - [NodeJS pattern](#nodejs-pattern)
20 | - [NodeJS cheatSheet](#nodejs-cheatsheet)
21 | - [NodeJS Interview](#nodejs-interview)
22 | - [NestJS](#nestjs)
23 | - [NodeJS Unit testing](#nodejs-unit-testing)
24 | - [NodeJS with Typescript](#nodejs-with-typescript)
25 | - [NodeJS best practices](#nodejs-best-practices)
26 | - [API practices](#api-practices)
27 | - [Package Manager](#package-manager)
28 | - [NodeJS tools](#nodejs-tools)
29 | - [NodeJS security](#nodejs-security)
30 | - [NodeJS Migration](#nodejs-migration)
31 | - [NodeJS deployment](#nodejs-deployment)
32 | - [NodeJS with GraphQL](#nodejs-with-graphql)
33 | - [NodeJS with Redis](#nodejs-with-redis)
34 | - [NodeJS Auth](#nodejs-auth)
35 | - [NodeJS with MongoDB](#nodejs-with-mongodb)
36 | - [NodeJS Guide](#nodejs-guide)
37 | - [NodeJS Queue](#nodejs-queue)
38 | - [NodeJS library](#nodejs-library)
39 | - [NodeJS Steaming](#nodejs-steaming)
40 | - [NodeJS Serverless](#nodejs-serverless)
41 | - [NodeJS documentation](#nodejs-documentation)
42 |
43 | ## Learn NodeJS
44 | - [https://javascript.plainenglish.io/core-concepts-of-node-js-in-just-6-min-c4702fcc55a7](https://javascript.plainenglish.io/core-concepts-of-node-js-in-just-6-min-c4702fcc55a7)
45 | - [https://dev.to/geraldmuvengei06/how-use-environment-variables-env-in-expressjs-3bpc](https://dev.to/geraldmuvengei06/how-use-environment-variables-env-in-expressjs-3bpc)
46 | - [https://enlear.academy/nodejs-backpressuring-in-streams-52638f505e1b](https://enlear.academy/nodejs-backpressuring-in-streams-52638f505e1b)
47 | - [https://blog.logrocket.com/creating-custom-repl-node-js/](https://blog.logrocket.com/creating-custom-repl-node-js/)
48 | - [https://enlear.academy/reactjs-what-is-a-component-state-props-lifecycle-b2ed60adca1f](https://enlear.academy/reactjs-what-is-a-component-state-props-lifecycle-b2ed60adca1f)
49 | - [https://www.freecodecamp.org/news/nodejs-eventloop-tutorial/](https://www.freecodecamp.org/news/nodejs-eventloop-tutorial/)
50 | - [https://www.javacodegeeks.com/session-management-in-node-js.html](https://www.javacodegeeks.com/session-management-in-node-js.html)
51 | - [https://dev.to/altamashali/nodejs-event-loop-in-action-d5o](https://dev.to/altamashali/nodejs-event-loop-in-action-d5o)
52 | - [https://dev.to/codesphere/getting-started-with-web-sockets-in-nodejs-49n0](https://dev.to/codesphere/getting-started-with-web-sockets-in-nodejs-49n0)
53 | - [https://blog.bitsrc.io/node-js-event-loop-and-multi-threading-e42e5fd16a77](https://blog.bitsrc.io/node-js-event-loop-and-multi-threading-e42e5fd16a77)
54 | - [https://dev.to/nickytonline/what-are-your-go-to-nodejs-resources-3mma](https://dev.to/nickytonline/what-are-your-go-to-nodejs-resources-3mma)
55 | - [https://helewud.com/how-to-build-an-authorization-system-with-jwt-using-nodejs](https://helewud.com/how-to-build-an-authorization-system-with-jwt-using-nodejs)
56 | - [https://devdojo.com/dastasoft/intro-to-mongodb-and-mongoose-how-every-web-developer-can-become-fullstack-with-nodejs](https://devdojo.com/dastasoft/intro-to-mongodb-and-mongoose-how-every-web-developer-can-become-fullstack-with-nodejs)
57 | - [https://towardsdev.com/node-js-event-loop-3ee5b841adda](https://towardsdev.com/node-js-event-loop-3ee5b841adda)
58 | - [https://mudit.hashnode.dev/backend-development-is-not-hard](https://mudit.hashnode.dev/backend-development-is-not-hard)
59 | - [https://blog.devgenius.io/node-js-modeling-relationalship-between-connected-data-mongodb-9dc208a950e6](https://blog.devgenius.io/node-js-modeling-relationalship-between-connected-data-mongodb-9dc208a950e6)
60 | - [https://www.freecodecamp.org/news/introduction-to-nodejs/](https://www.freecodecamp.org/news/introduction-to-nodejs/)
61 | - [https://medium.com/@gustavoinzunza/how-to-set-up-node-and-tailwind-with-docker-step-by-step-e40a4cff05b3](https://medium.com/@gustavoinzunza/how-to-set-up-node-and-tailwind-with-docker-step-by-step-e40a4cff05b3)
62 | - [https://towardsdev.com/await-without-async-in-nodejs-2af573c81aa2](https://towardsdev.com/await-without-async-in-nodejs-2af573c81aa2)
63 | - [https://towardsdev.com/package-json-package-lock-json-1ea34560f555](https://towardsdev.com/package-json-package-lock-json-1ea34560f555)
64 | - [https://www.freecodecamp.org/news/apis-for-beginners/](https://www.freecodecamp.org/news/apis-for-beginners/)
65 | - [https://www.freecodecamp.org/news/message-queues-in-distributed-systesms/](https://www.freecodecamp.org/news/message-queues-in-distributed-systesms/)
66 | - [https://mojoauth.com/blog/best-practices-for-jwt-tokens/](https://mojoauth.com/blog/best-practices-for-jwt-tokens/)
67 | - [https://latesthackingnews.com/2023/02/23/top-7-reasons-why-use-node-js-in-your-next-web-development-project/](https://latesthackingnews.com/2023/02/23/top-7-reasons-why-use-node-js-in-your-next-web-development-project/)
68 | - [https://snyk.io/blog/node-js-multithreading-worker-threads-pros-cons/](https://snyk.io/blog/node-js-multithreading-worker-threads-pros-cons/)
69 | - [https://www.builder.io/blog/nodejs-module-exports-vs-exports](https://www.builder.io/blog/nodejs-module-exports-vs-exports)
70 | - [https://javascript.plainenglish.io/nodejs-developer-roadmap-2023-4e2fccc0ff54](https://javascript.plainenglish.io/nodejs-developer-roadmap-2023-4e2fccc0ff54)
71 | - [https://betterprogramming.pub/execution-types-models-in-node-js-46f70d71abb](https://betterprogramming.pub/execution-types-models-in-node-js-46f70d71abb)
72 | - [https://blog.francescociulla.com/nodejs-development-setup](https://blog.francescociulla.com/nodejs-development-setup)
73 | - [https://devhoangkien.com/node-js-19-a-whimsical-adventure-through-async-magic-and-javascript-enchantment-b338ebcea5ad](https://devhoangkien.com/node-js-19-a-whimsical-adventure-through-async-magic-and-javascript-enchantment-b338ebcea5ad)
74 | - [https://www.builder.io/blog/visual-guide-to-nodejs-event-loop](https://www.builder.io/blog/visual-guide-to-nodejs-event-loop)
75 | - [https://www.freecodecamp.org/news/how-to-build-a-command-line-application-with-nodejs/](https://www.freecodecamp.org/news/how-to-build-a-command-line-application-with-nodejs/)
76 | - [https://www.thisdot.co/blog/state-of-nodejs-wrap-up](https://www.thisdot.co/blog/state-of-nodejs-wrap-up)
77 | - [https://www.youtube.com/watch?v=GDe8DFZcgoI&list=PLSJnlFr3D-mEn4JLpA4F7UCAX_e5Nmx3q](https://www.youtube.com/watch?v=GDe8DFZcgoI&list=PLSJnlFr3D-mEn4JLpA4F7UCAX_e5Nmx3q)
78 | - [https://javascript.plainenglish.io/nodejs-developer-roadmap-2023-4e2fccc0ff54](https://javascript.plainenglish.io/nodejs-developer-roadmap-2023-4e2fccc0ff54)
79 | - [https://medium.com/@tony.infisical/why-you-should-stop-using-env-files-in-node-js-f62fffecf5a3](https://medium.com/@tony.infisical/why-you-should-stop-using-env-files-in-node-js-f62fffecf5a3)
80 | - [https://www.freecodecamp.org/news/get-started-with-nodejs/](https://www.freecodecamp.org/news/get-started-with-nodejs/)
81 | - [https://medium.com/@kalkidant/7-node-js-best-practices-2023-37063634eef](https://medium.com/@kalkidant/7-node-js-best-practices-2023-37063634eef)
82 | - [https://www.30secondsofcode.org/articles/s/cors-explained/](https://www.30secondsofcode.org/articles/s/cors-explained/)
83 | - [https://www.topnewsarticles.com/technology/top-8-must-have-electronic-gadgets-in-2023/](https://www.topnewsarticles.com/technology/top-8-must-have-electronic-gadgets-in-2023/)
84 | - [https://medium.com/@tony.infisical/guide-to-nodes-crypto-module-for-encryption-decryption-65c077176980](https://medium.com/@tony.infisical/guide-to-nodes-crypto-module-for-encryption-decryption-65c077176980)
85 | - [https://compile7.org/decompile/how-event-loop-works-in-nodejs/](https://compile7.org/decompile/how-event-loop-works-in-nodejs/)
86 | - [https://reflectoring.io/organize-code-with-nodejs-tutorial/]([)](https://reflectoring.io/organize-code-with-nodejs-tutorial/)
87 | - [https://www.freecodecamp.org/news/what-exactly-is-node-guide-for-beginners/](https://www.freecodecamp.org/news/what-exactly-is-node-guide-for-beginners/)
88 | - [https://amplication.com/blog/using-parallel-processing-in-nodejs-and-limitations](https://amplication.com/blog/using-parallel-processing-in-nodejs-and-limitations)
89 | - [https://tsh.io/blog/why-use-nodejs/](https://tsh.io/blog/why-use-nodejs/)
90 | - [https://robiul.dev/what-is-nodejs-exactly-real-world-example](https://robiul.dev/what-is-nodejs-exactly-real-world-example)
91 | - [https://www.freecodecamp.org/news/what-is-node-js-explained/](https://www.freecodecamp.org/news/what-is-node-js-explained/)
92 | - [https://code.likeagirl.io/what-is-node-js-a-beginners-guide-32f50da3b072](https://code.likeagirl.io/what-is-node-js-a-beginners-guide-32f50da3b072)
93 | - [https://www.thisdot.co/blog/building-a-multi-response-streaming-api-with-node-js-express-and-react/](https://www.thisdot.co/blog/building-a-multi-response-streaming-api-with-node-js-express-and-react/)
94 | - [https://dzone.com/articles/a-comprehensive-exploration-of-nodejs-a-practical](https://dzone.com/articles/a-comprehensive-exploration-of-nodejs-a-practical)
95 | - [https://itnext.io/evolution-of-server-side-javascript-314a8d408da4](https://itnext.io/evolution-of-server-side-javascript-314a8d408da4)
96 | - [https://reflectoring.io/tutorial-nodejs-rate-limiter/?ref=dailydev](https://reflectoring.io/tutorial-nodejs-rate-limiter/?ref=dailydev)
97 | - [https://www.sitepoint.com/fetch-api-node-deno-bun/?utm_source=rss&ref=dailydev](https://www.sitepoint.com/fetch-api-node-deno-bun/?utm_source=rss&ref=dailydev)
98 | - [https://blog.appsignal.com/2023/11/08/how-to-use-timeouts-in-nodejs.html?ref=dailydev](https://blog.appsignal.com/2023/11/08/how-to-use-timeouts-in-nodejs.html?ref=dailydev)
99 | - [https://www.freecodecamp.org/news/javascript-concepts-to-know-before-learning-node-js/](https://www.freecodecamp.org/news/javascript-concepts-to-know-before-learning-node-js/)
100 | - [https://www.freecodecamp.org/news/crud-api-with-node-js-express-mongodb/?ref=dailydev](https://www.freecodecamp.org/news/crud-api-with-node-js-express-mongodb/?ref=dailydev)
101 | - [https://www.freecodecamp.org/news/how-to-work-with-files-in-node-js/](https://www.freecodecamp.org/news/how-to-work-with-files-in-node-js/)
102 | - [https://coinsbench.com/understanding-nodes-a-beginners-guide-a89172a04bfe](https://coinsbench.com/understanding-nodes-a-beginners-guide-a89172a04bfe)
103 | - [https://medium.com/@manikmudholkar831995/the-v8-javascript-engine-d1434ca77c96](https://medium.com/@manikmudholkar831995/the-v8-javascript-engine-d1434ca77c96)
104 | - [https://www.devsecurely.com/blog/2024/06/cors-the-ultimate-guide?ref=dailydev](https://www.devsecurely.com/blog/2024/06/cors-the-ultimate-guide?ref=dailydev)
105 | - [https://blog.platformatic.dev/introducing-the-node-application-platform?ref=dailydev](https://blog.platformatic.dev/introducing-the-node-application-platform?ref=dailydev)
106 | - [https://pavel-romanov.com/understanding-nodejs-buffer?ref=dailydev](https://pavel-romanov.com/understanding-nodejs-buffer?ref=dailydev)
107 | - [https://medium.com/@modywmbadr/how-dynamic-array-works-in-node-js-3d4e15c9ce73](https://medium.com/@modywmbadr/how-dynamic-array-works-in-node-js-3d4e15c9ce73)
108 | - [https://blog.platformatic.dev/handling-environment-variables-in-nodejs?ref=dailydev](https://blog.platformatic.dev/handling-environment-variables-in-nodejs?ref=dailydev)
109 | - [https://jsdev.space/files-dirs-nodejs/?ref=dailydev](https://jsdev.space/files-dirs-nodejs/?ref=dailydev)
110 | - [https://blog.appsignal.com/2024/12/11/a-deep-dive-into-commonjs-and-es-modules-in-nodejs.html?ref=dailydev](https://blog.appsignal.com/2024/12/11/a-deep-dive-into-commonjs-and-es-modules-in-nodejs.html?ref=dailydev)
111 | - [https://www.youtube.com/playlist?list=PLjFTSVBcNC2q2rxyts8sN4leF2CFrhg1S](https://www.youtube.com/playlist?list=PLjFTSVBcNC2q2rxyts8sN4leF2CFrhg1S)
112 | - [https://leapcell.io/blog/inside-nodejs-event-loop-deep-dive?ref=dailydev](https://leapcell.io/blog/inside-nodejs-event-loop-deep-dive?ref=dailydev)
113 | - [https://marvinh.dev/blog/modern-way-to-write-javascript-servers/?ref=dailydev](https://marvinh.dev/blog/modern-way-to-write-javascript-servers/?ref=dailydev)
114 | - [https://kmcd.dev/posts/grpc-from-scratch/?ref=dailydev](https://kmcd.dev/posts/grpc-from-scratch/?ref=dailydev)
115 | - [https://itnext.io/understanding-cors-4157bf640e11]()https://itnext.io/understanding-cors-4157bf640e11
116 | - [https://www.youtube.com/watch?v=rOpEN1JDaD0](https://www.youtube.com/watch?v=rOpEN1JDaD0)
117 |
118 |
119 | ## Coding standards
120 | - [https://github.com/a8hok/NodeJS-interview.git](https://github.com/a8hok/NodeJS-interview.git)
121 | - [https://css-tricks.com/how-to-implement-logging-in-a-node-js-application-with-pino-logger/](https://css-tricks.com/how-to-implement-logging-in-a-node-js-application-with-pino-logger/)
122 | - [https://bestcodingpractices.dev/catalog/62a710375029ab9ca974ab6b](https://bestcodingpractices.dev/catalog/62a710375029ab9ca974ab6b)
123 | - [https://medium.com/bitsrc/nodejs-design-patterns-must-know-8ef0a73b3339](https://medium.com/bitsrc/nodejs-design-patterns-must-know-8ef0a73b3339)
124 |
125 |
126 | ## NodeJS frameworks
127 | - [https://devdojo.com/chapagainashik/stripe-checkout-with-nextjs](https://devdojo.com/chapagainashik/stripe-checkout-with-nextjs)
128 | - [https://snyk.io/blog/comparing-node-js-web-frameworks/](https://snyk.io/blog/comparing-node-js-web-frameworks/)
129 | - [https://dev.to/rahulladumor/10-trending-nodejs-libraries-and-frameworks-to-boost-your-web-development-3aa5](https://dev.to/rahulladumor/10-trending-nodejs-libraries-and-frameworks-to-boost-your-web-development-3aa5)
130 | - [https://blog.bitsrc.io/top-5-nodejs-frameworks-in-2024-32c7fe9d49c6](https://blog.bitsrc.io/top-5-nodejs-frameworks-in-2024-32c7fe9d49c6)
131 | - [https://dev.to/encore/nodejs-frameworks-roundup-2024-elysia-hono-nest-encore-which-should-you-pick-19oj?ref=dailydev](https://dev.to/encore/nodejs-frameworks-roundup-2024-elysia-hono-nest-encore-which-should-you-pick-19oj?ref=dailydev)
132 | - [https://blog.stackademic.com/top-10-backend-frameworks-ranked-the-good-the-bad-and-the-ugly-aa0d06186293](https://blog.stackademic.com/top-10-backend-frameworks-ranked-the-good-the-bad-and-the-ugly-aa0d06186293)
133 | - [https://leapcell.io/blog/mastering-express-js-deep-dive?ref=dailydev](https://leapcell.io/blog/mastering-express-js-deep-dive?ref=dailydev)
134 | - [https://nahidulislam11.medium.com/nestjs-vs-express-a-comprehensive-framework-comparison-for-modern-node-js-development-a971c6750701](https://nahidulislam11.medium.com/nestjs-vs-express-a-comprehensive-framework-comparison-for-modern-node-js-development-a971c6750701)
135 |
136 |
137 |
138 | ## Performance Optimizations
139 | - [https://blog.joshsoftware.com/2021/09/11/performance-optimizations-in-nodejs%F0%9F%92%81/](https://blog.joshsoftware.com/2021/09/11/performance-optimizations-in-nodejs%F0%9F%92%81/)
140 | - [https://blog.devgenius.io/5-tips-to-speed-up-your-node-js-performance-1166451308b4](https://blog.devgenius.io/5-tips-to-speed-up-your-node-js-performance-1166451308b4)
141 | - [https://www.digitalocean.com/community/tutorials/how-to-scale-node-js-applications-with-clustering](https://www.digitalocean.com/community/tutorials/how-to-scale-node-js-applications-with-clustering)
142 | - [https://devhoangkien.com/interview-questions-related-to-optimizing-application-performance-in-node-js-40ad0aea91d](https://devhoangkien.com/interview-questions-related-to-optimizing-application-performance-in-node-js-40ad0aea91d)
143 | - [https://medium.com/@codeeverywhere/5-tips-to-speed-up-your-node-js-performance-8977153490c1](https://medium.com/@codeeverywhere/5-tips-to-speed-up-your-node-js-performance-8977153490c1)
144 | - [https://medium.com/@ben.dev.io/best-practices-for-building-large-scale-node-js-applications-b45ab29b757a](https://medium.com/@ben.dev.io/best-practices-for-building-large-scale-node-js-applications-b45ab29b757a)
145 | - [https://amplication.com/blog/7-tips-to-build-scalable-nodejs-applications](https://amplication.com/blog/7-tips-to-build-scalable-nodejs-applications)
146 | - [https://medium.com/@kalkidant/7-node-js-best-practices-2023-37063634eef](https://medium.com/@kalkidant/7-node-js-best-practices-2023-37063634eef)
147 | - [https://dzone.com/articles/nodejs-architectural-gems-and-best-practices-for-d](https://dzone.com/articles/nodejs-architectural-gems-and-best-practices-for-d)
148 | - [https://tsh.io/blog/simple-guide-concurrency-node-js/](https://tsh.io/blog/simple-guide-concurrency-node-js/)
149 | - [https://medium.com/javarevisited/optimizing-node-js-performance-tips-and-tricks-4052a0d43f88](https://medium.com/javarevisited/optimizing-node-js-performance-tips-and-tricks-4052a0d43f88)
150 | - [https://www.netguru.com/blog/node-js-performance?ref=dailydev](https://www.netguru.com/blog/node-js-performance?ref=dailydev)
151 | - [https://dev.to/alisamir/writing-clean-secure-nodejs-apis-a-checklist-youll-actually-use-3loc?ref=dailydev](https://dev.to/alisamir/writing-clean-secure-nodejs-apis-a-checklist-youll-actually-use-3loc?ref=dailydev)
152 | - [https://itnext.io/performance-benchmark-node-js-vs-go-9dbad158c3b0](https://itnext.io/performance-benchmark-node-js-vs-go-9dbad158c3b0)
153 | - [https://blog.platformatic.dev/optimizing-nodejs-performance-v8-memory-management-and-gc-tuning?ref=dailydev](https://blog.platformatic.dev/optimizing-nodejs-performance-v8-memory-management-and-gc-tuning?ref=dailydev)
154 |
155 |
156 | ## Nodejs Architecture
157 | - [https://itnext.io/clean-architecture-making-node-js-api-shine-38134b8f9b5c](https://itnext.io/clean-architecture-making-node-js-api-shine-38134b8f9b5c)
158 | - [https://dev.to/altamashali/deep-dive-into-nodejs-architecture-5190](https://dev.to/altamashali/deep-dive-into-nodejs-architecture-5190)
159 | - [https://betterprogramming.pub/clean-node-js-architecture-with-nestjs-and-typescript-34b9398d790f](https://betterprogramming.pub/clean-node-js-architecture-with-nestjs-and-typescript-34b9398d790f)
160 | - [https://malikatique.medium.com/node-js-code-architecture-for-scalable-projects-bc0b5f2da74a](https://malikatique.medium.com/node-js-code-architecture-for-scalable-projects-bc0b5f2da74a)
161 | - [https://blog.lorensr.me/building-reliable-distributed-systems-in-node-aff92fa45ad8](https://blog.lorensr.me/building-reliable-distributed-systems-in-node-aff92fa45ad8)
162 | - [https://temporal.io/blog/building-reliable-distributed-systems-in-node](https://temporal.io/blog/building-reliable-distributed-systems-in-node)
163 | - [https://adventures.nodeland.dev/archive/security-releases-in-the-nodejs-ecosystem-fastify/](https://adventures.nodeland.dev/archive/security-releases-in-the-nodejs-ecosystem-fastify/)
164 | - [https://amplication.com/blog/nodejs-asynchronous-flow-control-and-event-loop](https://amplication.com/blog/nodejs-asynchronous-flow-control-and-event-loop)
165 | - [https://dev.to/sasithwarnakafonseka/nodejs-architectural-patterns-with-examples-1335](https://dev.to/sasithwarnakafonseka/nodejs-architectural-patterns-with-examples-1335)
166 | - [https://nextcodeblock.com/posts/api-architectural-styles/](https://nextcodeblock.com/posts/api-architectural-styles/)
167 | - [https://semaphoreci.com/blog/securing-nodejs](https://semaphoreci.com/blog/securing-nodejs)
168 | - [https://medium.com/@manikmudholkar831995/event-loop-in-nodejs-999f6db7eb04](https://medium.com/@manikmudholkar831995/event-loop-in-nodejs-999f6db7eb04)
169 | - [https://developers.redhat.com/blog/2021/03/08/introduction-to-the-node-js-reference-architecture-part-1-overview?ref=dailydev#](https://developers.redhat.com/blog/2021/03/08/introduction-to-the-node-js-reference-architecture-part-1-overview?ref=dailydev#)
170 | - [https://www.platformatichq.com/node-principles?ref=dailydev](https://www.platformatichq.com/node-principles?ref=dailydev)
171 | - [https://medium.com/@hnasr/nodejs-internals-and-architecture-0c3488c3fc49](https://medium.com/@hnasr/nodejs-internals-and-architecture-0c3488c3fc49)
172 | - []()
173 |
174 |
175 | ## NodeJS with Typescript
176 | - [https://towardsdev.com/creating-a-gateway-service-with-node-js-typescript-and-fastify-54cb9c17b0e1](https://towardsdev.com/creating-a-gateway-service-with-node-js-typescript-and-fastify-54cb9c17b0e1)
177 | - [https://itnext.io/modern-node-part-1-architecting-and-scaffolding-a-typescript-express-api-22e87fee054c](https://itnext.io/modern-node-part-1-architecting-and-scaffolding-a-typescript-express-api-22e87fee054c)
178 | - [https://dev.to/macmacky/get-better-with-typescript-using-express-3ik6](https://dev.to/macmacky/get-better-with-typescript-using-express-3ik6)
179 | - [https://dev.to/nayanpatil1998/how-to-create-an-api-using-nodejs-express-and-typescript-89d](https://dev.to/nayanpatil1998/how-to-create-an-api-using-nodejs-express-and-typescript-89d)
180 | - [https://vicman.hashnode.dev/setting-up-node-application-with-typescript](https://vicman.hashnode.dev/setting-up-node-application-with-typescript)
181 | - [https://dev.to/about14sheep/streaming-data-from-aws-s3-using-nodejs-stream-api-and-typescript-3dj0](https://dev.to/about14sheep/streaming-data-from-aws-s3-using-nodejs-stream-api-and-typescript-3dj0)
182 | - [https://betterprogramming.pub/handling-class-libraries-in-node-js-with-and-without-typescript-39b73b2186b6](https://betterprogramming.pub/handling-class-libraries-in-node-js-with-and-without-typescript-39b73b2186b6)
183 | - [https://rohitpaulscodism.hashnode.dev/mastering-nodejs-streams-with-typescript-a-complete-guide?ref=dailydev](https://rohitpaulscodism.hashnode.dev/mastering-nodejs-streams-with-typescript-a-complete-guide?ref=dailydev)
184 | - [https://jsdev.space/howto/env-ts-zod?ref=dailydev](https://jsdev.space/howto/env-ts-zod?ref=dailydev)
185 |
186 |
187 | ## Projects
188 | - [https://dev.to/anderrv/web-scraping-with-javascript-and-node-js-2d](https://dev.to/anderrv/web-scraping-with-javascript-and-node-js-2d)
189 | - [https://dev.to/sm0ke/node-js-react-soft-dashboard-free-version-1k5g](https://dev.to/sm0ke/node-js-react-soft-dashboard-free-version-1k5g)
190 | - [https://towardsdatascience.com/building-a-real-time-web-app-in-nodejs-express-with-socket-io-library-d9b50aded6e6](https://towardsdatascience.com/building-a-real-time-web-app-in-nodejs-express-with-socket-io-library-d9b50aded6e6)
191 | - [https://dev.to/koladev/authentication-and-authorization-with-jwts-in-node-expressjs-5a9a](https://dev.to/koladev/authentication-and-authorization-with-jwts-in-node-expressjs-5a9a)
192 | - [https://devdojo.com/teri/how-to-build-a-web-scraper-with-nodejs](https://devdojo.com/teri/how-to-build-a-web-scraper-with-nodejs)
193 | - [https://javascript.plainenglish.io/google-api-authentication-using-oauth2-0-and-passport-js-in-nodejs-7b2d9b73c513](https://javascript.plainenglish.io/google-api-authentication-using-oauth2-0-and-passport-js-in-nodejs-7b2d9b73c513)
194 | - [https://www.bezkoder.com/node-express-sequelize-postgresql/](https://www.bezkoder.com/node-express-sequelize-postgresql/)
195 | - [https://kirablog.hashnode.dev/rest-api-using-nodejs](https://kirablog.hashnode.dev/rest-api-using-nodejs)
196 | - [https://reactjsexample.com/docker-tutorial-nodejs-express-mongodb-react-redis-nginx/](https://reactjsexample.com/docker-tutorial-nodejs-express-mongodb-react-redis-nginx/)
197 | - [https://blog.avneesh.tech/building-a-crud-api-with-nodejs-and-mongodb](https://blog.avneesh.tech/building-a-crud-api-with-nodejs-and-mongodb)
198 | - [https://dev.to/nerdjfpb/how-to-build-simple-crud-restful-api-with-nodejs-expressjs-and-mongodb-in-2022-4756](https://dev.to/nerdjfpb/how-to-build-simple-crud-restful-api-with-nodejs-expressjs-and-mongodb-in-2022-4756)
199 | - [https://reactjsexample.com/a-fullstack-web-application-built-using-mern-stack-mongodb-express-react-nodejs/](https://reactjsexample.com/a-fullstack-web-application-built-using-mern-stack-mongodb-express-react-nodejs/)
200 | - [https://devdojo.com/usmanwrites/build-a-whatsapp-api-using-node-express](https://devdojo.com/usmanwrites/build-a-whatsapp-api-using-node-express)
201 | - [https://redis.com/blog/how-to-build-a-music-sharing-app-using-nodejs-and-redis/](https://redis.com/blog/how-to-build-a-music-sharing-app-using-nodejs-and-redis/)
202 | - [https://towardsdev.com/creating-a-nodejs-restful-api-without-expressjs-part-1-123933e7141a](https://towardsdev.com/creating-a-nodejs-restful-api-without-expressjs-part-1-123933e7141a)
203 | - [https://www.freecodecamp.org/news/build-a-realtime-chat-app-with-react-express-socketio-and-harperdb/](https://www.freecodecamp.org/news/build-a-realtime-chat-app-with-react-express-socketio-and-harperdb/)
204 | - [https://www.telerik.com/blogs/modern-apis-fastify-node](https://www.telerik.com/blogs/modern-apis-fastify-node)
205 | - [https://dev.to/permify/build-a-team-permissions-system-in-nodejs-app-using-auth0-and-permify-part-1-52bo](https://dev.to/permify/build-a-team-permissions-system-in-nodejs-app-using-auth0-and-permify-part-1-52bo)
206 | - [https://hackernoon.com/building-a-simple-telegram-bot-with-nodejs-and-grammy?source=rss](https://hackernoon.com/building-a-simple-telegram-bot-with-nodejs-and-grammy?source=rss)
207 | - [https://www.freecodecamp.org/news/how-to-build-a-command-line-application-with-nodejs/](https://www.freecodecamp.org/news/how-to-build-a-command-line-application-with-nodejs/)
208 | - [https://dzone.com/articles/your-go-to-guide-to-develop-cryptocurrency-blockch](https://dzone.com/articles/your-go-to-guide-to-develop-cryptocurrency-blockch)
209 | - [https://dev.to/francescoxx/build-a-crud-rest-api-in-javascript-using-nodejs-express-postgres-docker-jkb](https://dev.to/francescoxx/build-a-crud-rest-api-in-javascript-using-nodejs-express-postgres-docker-jkb)
210 | - [https://blog.erickwendel.com.br/implementing-the-websocket-protocol-from-scratch-using-nodejs](https://blog.erickwendel.com.br/implementing-the-websocket-protocol-from-scratch-using-nodejs)
211 | - [https://deno.com/blog/build-api-express-typescript](https://deno.com/blog/build-api-express-typescript)
212 | - [https://towardsdev.com/custom-api-server-with-basic-crud-apollo-graphql-mongodb-8c107523a09a](https://towardsdev.com/custom-api-server-with-basic-crud-apollo-graphql-mongodb-8c107523a09a)
213 | - [https://blog.logrocket.com/best-node-js-web-scrapers-use-case/](https://blog.logrocket.com/best-node-js-web-scrapers-use-case/)
214 | - [https://dev.to/wesleymreng7/uploading-multiple-files-at-the-same-time-using-multithreading-in-nodejs-3ib4](https://dev.to/wesleymreng7/uploading-multiple-files-at-the-same-time-using-multithreading-in-nodejs-3ib4)
215 | - [https://reflectoring.io/tutorial-graphql-apollo-server-nodejs-mongodb/](https://reflectoring.io/tutorial-graphql-apollo-server-nodejs-mongodb/)
216 | - [https://blog.javascripttoday.com/blog/build-a-rest-api-in-javascript/](https://blog.javascripttoday.com/blog/build-a-rest-api-in-javascript/)
217 | - [https://blog.javascripttoday.com/blog/creating-a-url-shortener-with-node/](https://blog.javascripttoday.com/blog/creating-a-url-shortener-with-node/)
218 | - [https://rapidapi.com/blog/nodejs-express-rest-api-example/](https://rapidapi.com/blog/nodejs-express-rest-api-example/)
219 | - [https://blog.erickwendel.com.br/how-to-create-e2e-tests-in-nodejs-with-no-frameworks-step-by-step](https://blog.erickwendel.com.br/how-to-create-e2e-tests-in-nodejs-with-no-frameworks-step-by-step)
220 | - [https://antman-does-software.com/implementing-the-outbox-pattern-in-nodejs-and-postgres](https://antman-does-software.com/implementing-the-outbox-pattern-in-nodejs-and-postgres)
221 | - [https://dev.to/pavanbelagatti/build-a-real-time-chat-application-with-socketio-and-nodejs-with-automated-testing-38h8](https://dev.to/pavanbelagatti/build-a-real-time-chat-application-with-socketio-and-nodejs-with-automated-testing-38h8)
222 | - [https://www.thisdot.co/blog/implementing-a-task-scheduler-in-node-using-redis](https://www.thisdot.co/blog/implementing-a-task-scheduler-in-node-using-redis)
223 | - [https://www.freecodecamp.org/news/how-to-use-elastic-beanstalk-to-deploy-node-js-app/](https://www.freecodecamp.org/news/how-to-use-elastic-beanstalk-to-deploy-node-js-app/)
224 | - [https://www.freecodecamp.org/news/how-to-work-with-files-in-node-js/](https://www.freecodecamp.org/news/how-to-work-with-files-in-node-js/)
225 | - [https://levelup.gitconnected.com/api-development-with-nodejs-express-and-typescript-from-scratch-dto-interface-and-54ebab8c447e](https://levelup.gitconnected.com/api-development-with-nodejs-express-and-typescript-from-scratch-dto-interface-and-54ebab8c447e)
226 | - [https://www.freecodecamp.org/news/build-a-secure-server-with-node-and-express/](https://www.freecodecamp.org/news/build-a-secure-server-with-node-and-express/)
227 | - [https://hackernoon.com/web-scraping-using-a-headless-browser-in-nodejs?source=rss](https://hackernoon.com/web-scraping-using-a-headless-browser-in-nodejs?source=rss)
228 | - [https://code.tutsplus.com/token-based-authentication-with-angularjs-nodejs--cms-22543t](https://code.tutsplus.com/token-based-authentication-with-angularjs-nodejs--cms-22543t)
229 | - [https://hackernoon.com/creating-a-nodejs-server-with-postgres-and-knex-on-express?source=rss](https://hackernoon.com/creating-a-nodejs-server-with-postgres-and-knex-on-express?source=rss)
230 | - [https://hackernoon.com/how-to-extract-and-generate-json-data-with-gpts-langchain-and-nodejs?source=rss](https://hackernoon.com/how-to-extract-and-generate-json-data-with-gpts-langchain-and-nodejs?source=rss)
231 | - [https://hackernoon.com/build-a-personal-shopping-assistant-using-brainjs-and-nodejs?source=rss](https://hackernoon.com/build-a-personal-shopping-assistant-using-brainjs-and-nodejs?source=rss)
232 | - [https://blog.javascripttoday.com/blog/web-scraping-bright-data-nodejs/](https://blog.javascripttoday.com/blog/web-scraping-bright-data-nodejs/)
233 | - [https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/](https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/)
234 | - [https://www.freecodecamp.org/news/build-an-online-image-to-pdf-converter-with-html-css-js-nodejs/](https://www.freecodecamp.org/news/build-an-online-image-to-pdf-converter-with-html-css-js-nodejs/)
235 | - [https://alexmaina.hashnode.dev/sending-emails-using-resend?ref=dailydev](https://alexmaina.hashnode.dev/sending-emails-using-resend?ref=dailydev)
236 | - [https://www.freecodecamp.org/news/build-a-custom-api-gateway-with-node-js/?ref=dailydev](https://www.freecodecamp.org/news/build-a-custom-api-gateway-with-node-js/?ref=dailydev)
237 | - [https://www.freecodecamp.org/news/create-crud-api-project/](https://www.freecodecamp.org/news/create-crud-api-project/)
238 | - [https://www.cerbos.dev/blog/node-js-authorization?ref=dailydev](https://www.cerbos.dev/blog/node-js-authorization?ref=dailydev)
239 | - [https://www.sitepoint.com/sending-email-using-node-js/?ref=dailydev](https://www.sitepoint.com/sending-email-using-node-js/?ref=dailydev)
240 | - [https://dev.to/silentwatcher_95/legendary-emails-in-node-js-with-mjml-4gp9?ref=dailydev](https://dev.to/silentwatcher_95/legendary-emails-in-node-js-with-mjml-4gp9?ref=dailydev)
241 | - [https://github.com/JawherKl/graphql-nodejs-ecom?ref=dailydev](https://github.com/JawherKl/graphql-nodejs-ecom?ref=dailydev)
242 |
243 | ## MERN
244 | - [https://dev.to/crackingdemon/register-and-login-system-in-mern-stack-1n98](https://dev.to/crackingdemon/register-and-login-system-in-mern-stack-1n98)
245 | - [https://dev.to/collins87mbathi/building-a-dating-app-with-mern-478h](https://dev.to/collins87mbathi/building-a-dating-app-with-mern-478h)
246 | - [https://dev.to/ronyfr3/web-push-notification-using-react-and-node-js-oc9](https://dev.to/ronyfr3/web-push-notification-using-react-and-node-js-oc9)
247 | - [https://systemweakness.com/secure-database-connection-in-nodejs-application-3c3979566741](https://systemweakness.com/secure-database-connection-in-nodejs-application-3c3979566741)
248 | - [https://levelup.gitconnected.com/build-an-autocomplete-search-project-using-elasticsearch-fastapi-and-angular-part-i-backend-741a8cddde8f](https://levelup.gitconnected.com/build-an-autocomplete-search-project-using-elasticsearch-fastapi-and-angular-part-i-backend-741a8cddde8f)
249 | - [https://www.javacodegeeks.com/2023/05/node-js-execution-type-models.html](https://www.javacodegeeks.com/2023/05/node-js-execution-type-models.html)
250 | - [https://dev.to/itsfarhankhan28/user-authentication-in-mern-stack-part-1-4bj3](https://dev.to/itsfarhankhan28/user-authentication-in-mern-stack-part-1-4bj3)
251 | - [https://www.freecodecamp.org/news/simplify-your-file-upload-process-in-express-js/](https://www.freecodecamp.org/news/simplify-your-file-upload-process-in-express-js/)
252 | - [https://awstip.com/mean-stack-on-aws-5462948185a7](https://awstip.com/mean-stack-on-aws-5462948185a7)
253 | - [https://dev.to/idurar/building-an-invoice-pdf-system-with-reactjs-redux-and-nodejs-5g1a](https://dev.to/idurar/building-an-invoice-pdf-system-with-reactjs-redux-and-nodejs-5g1a)
254 | - [https://awstip.com/the-backend-part-of-mnnn-stack-mongodb-nestjs-nextjs-and-nodejs-6bde9adfedd9](https://awstip.com/the-backend-part-of-mnnn-stack-mongodb-nestjs-nextjs-and-nodejs-6bde9adfedd9)
255 | - [https://www.freecodecamp.org/news/full-stack-project-tutorial-create-a-notes-app-using-react-and-node-js/](https://www.freecodecamp.org/news/full-stack-project-tutorial-create-a-notes-app-using-react-and-node-js/)
256 | - [https://awstip.com/building-a-scalable-mern-stack-application-on-aws-using-a-three-tier-architecture-0b12dea74713](https://awstip.com/building-a-scalable-mern-stack-application-on-aws-using-a-three-tier-architecture-0b12dea74713)
257 |
258 | ## Nodejs with Nginx
259 | - [https://blog.logrocket.com/how-to-run-a-node-js-server-with-nginx/](https://blog.logrocket.com/how-to-run-a-node-js-server-with-nginx/)
260 |
261 | ## Nodejs Logging
262 | - [https://blog.logrocket.com/comparing-node-js-logging-tools/](https://blog.logrocket.com/comparing-node-js-logging-tools/)
263 | - [https://blog.appsignal.com/2021/09/01/best-practices-for-logging-in-nodejs.html](https://blog.appsignal.com/2021/09/01/best-practices-for-logging-in-nodejs.html)
264 | - [https://hackernoon.com/the-10-best-nodejs-logging-libraries?source=rss](https://hackernoon.com/the-10-best-nodejs-logging-libraries?source=rss)
265 | - [https://betterstack.com/community/guides/logging/logging-framework/?ref=dailydev](https://betterstack.com/community/guides/logging/logging-framework/?ref=dailydev)
266 | - [https://blog.platformatic.dev/handling-environment-variables-in-nodejs?ref=dailydev](https://blog.platformatic.dev/handling-environment-variables-in-nodejs?ref=dailydev)
267 | - [https://www.youtube.com/watch?v=I2mWnh66Bkg&t=3s](https://www.youtube.com/watch?v=I2mWnh66Bkg&t=3s)
268 | - [https://last9.io/blog/node-js-logging-libraries/?ref=dailydev](https://last9.io/blog/node-js-logging-libraries/?ref=dailydev)
269 | - [https://leapcell.io/blog/nodejs-logging-tools-detailed-analysis-comparison?ref=dailydev](https://leapcell.io/blog/nodejs-logging-tools-detailed-analysis-comparison?ref=dailydev)
270 |
271 | ## Nodejs Error Handling
272 | - [https://blog.logrocket.com/error-handling-node-js/](https://blog.logrocket.com/error-handling-node-js/)
273 | - [https://medium.com/ovrsea/power-up-your-node-js-debugging-and-error-handling-with-the-new-error-cause-feature-4136c563126a](https://medium.com/ovrsea/power-up-your-node-js-debugging-and-error-handling-with-the-new-error-cause-feature-4136c563126a)
274 | - [https://blog.shiftleft.io/node-js-vulnerability-cheatsheet-447b0c9bdb99](https://blog.shiftleft.io/node-js-vulnerability-cheatsheet-447b0c9bdb99)
275 | - [https://www.builder.io/blog/debug-nodejs](https://www.builder.io/blog/debug-nodejs)
276 | - [https://blog.appsignal.com/2023/03/15/how-to-build-an-error-handling-layer-in-nodejs.html](https://blog.appsignal.com/2023/03/15/how-to-build-an-error-handling-layer-in-nodejs.html)
277 | - [https://blog.openreplay.com/an-introduction-to-debugging-in-nodejs/](https://blog.openreplay.com/an-introduction-to-debugging-in-nodejs/)
278 | - [https://pprathameshmore.medium.com/error-handing-in-express-js-node-js-based-application-0da14e13fa63](https://pprathameshmore.medium.com/error-handing-in-express-js-node-js-based-application-0da14e13fa63)
279 |
280 | ## Tips and tricks
281 | - [https://javascript.plainenglish.io/node-js-backend-engineers-best-practices-overview-for-beginner-to-advance-caae74b53df](https://javascript.plainenglish.io/node-js-backend-engineers-best-practices-overview-for-beginner-to-advance-caae74b53df)
282 | - [https://dzone.com/articles/creating-a-secure-rest-api-in-nodejs-1](https://dzone.com/articles/creating-a-secure-rest-api-in-nodejs-1)
283 | - [https://dev.to/amoled27/best-practices-for-nodejs-development-5ao5](https://dev.to/amoled27/best-practices-for-nodejs-development-5ao5)
284 | - [https://faun.pub/best-practices-for-better-restful-api-a54b4e374cab](https://faun.pub/best-practices-for-better-restful-api-a54b4e374cab)
285 | - [https://blog.appsignal.com/2022/03/09/a-complete-guide-to-nodejs-process-management-with-pm2.html](https://blog.appsignal.com/2022/03/09/a-complete-guide-to-nodejs-process-management-with-pm2.html)
286 | - [https://dev.to/imaroof07/an-ideal-rest-api-best-practices-4k89](https://dev.to/imaroof07/an-ideal-rest-api-best-practices-4k89)
287 | - [https://infosecwriteups.com/ssrf-server-side-request-forgery-2865e87efc3](https://infosecwriteups.com/ssrf-server-side-request-forgery-2865e87efc3)
288 | - [https://amplication.com/blog/understanding-and-preventing-memory-leaks-in-nodejs](https://amplication.com/blog/understanding-and-preventing-memory-leaks-in-nodejs)
289 | - [https://github.com/goldbergyoni/nodebestpractices?ref=dailydev#readme](https://github.com/goldbergyoni/nodebestpractices?ref=dailydev#readme)
290 | - [https://medium.com/@akshaykumar12527/unlocking-the-power-of-multithreading-in-node-js-efficient-workloads-without-event-loop-blocking-915caa72de10](https://medium.com/@akshaykumar12527/unlocking-the-power-of-multithreading-in-node-js-efficient-workloads-without-event-loop-blocking-915caa72de10)
291 | - [https://dev.to/this-is-learning/understanding-tree-shaking-in-javascript-a-comprehensive-guide-5e86?ref=dailydev](https://dev.to/this-is-learning/understanding-tree-shaking-in-javascript-a-comprehensive-guide-5e86?ref=dailydev)
292 |
293 |
294 | ## Micro services
295 | - [https://fauna.com/blog/how-to-build-microservices-with-node-js](https://fauna.com/blog/how-to-build-microservices-with-node-js)
296 | - [https://www.digitalocean.com/community/tutorials/how-to-build-a-node-js-application-with-docker](https://www.digitalocean.com/community/tutorials/how-to-build-a-node-js-application-with-docker)
297 | - [https://redis.com/blog/graphql-and-redis/](https://redis.com/blog/graphql-and-redis/)
298 | - [https://medium.com/@akinnurun.samuel/writing-a-microservice-using-node-js-14ce992c2003](https://medium.com/@akinnurun.samuel/writing-a-microservice-using-node-js-14ce992c2003)
299 |
300 | ## NodeJS pattern
301 | - [https://dev.to/fyapy/repository-pattern-with-typescript-and-nodejs-25da](https://dev.to/fyapy/repository-pattern-with-typescript-and-nodejs-25da)
302 | - [https://itnext.io/decoupling-the-crazy-taming-your-application-services-with-pub-sub-outbox-patterns-and-nodejs-9b00b47de373](https://itnext.io/decoupling-the-crazy-taming-your-application-services-with-pub-sub-outbox-patterns-and-nodejs-9b00b47de373)
303 | - [https://www.codeflashbacks.com/announcing-the-enterprise-node-js-service-template/](https://www.codeflashbacks.com/announcing-the-enterprise-node-js-service-template/)
304 |
305 | ## NodeJS cheatSheet
306 | - [https://devdojo.com/devbookmark/the-nodejs-ultimate-beginner-to-pro-cheatsheet-in-2021](https://devdojo.com/devbookmark/the-nodejs-ultimate-beginner-to-pro-cheatsheet-in-2021)
307 | - [https://morioh.com/p/7e75bc6e5041](https://morioh.com/p/7e75bc6e5041)
308 | - [https://www.javacodegeeks.com/node-js-cheatsheet.html?ref=dailydev](https://www.javacodegeeks.com/node-js-cheatsheet.html?ref=dailydev)
309 |
310 | ## NodeJS Interview
311 | - [https://www.edureka.co/blog/interview-questions/top-node-js-interview-questions-2016/](https://www.edureka.co/blog/interview-questions/top-node-js-interview-questions-2016/)
312 | - [https://codedamn.com/problem-list/nodejs?utm_source=email-inbox&utm_medium=email&utm_campaign=14may](https://codedamn.com/problem-list/nodejs?utm_source=email-inbox&utm_medium=email&utm_campaign=14may)
313 | - [https://hackernoon.com/nodejs-background-jobs-for-modern-developers-interview-with-startups-of-the-year-nominee-defer?source=rss](https://hackernoon.com/nodejs-background-jobs-for-modern-developers-interview-with-startups-of-the-year-nominee-defer?source=rss)
314 |
315 | ## NestJS
316 | - [https://blog.logrocket.com/full-stack-app-tutorial-nestjs-react/](https://blog.logrocket.com/full-stack-app-tutorial-nestjs-react/)
317 | - [https://dev.to/fekabas/learning-to-build-an-api-in-nestjs-node-typescript-3i1o](https://dev.to/fekabas/learning-to-build-an-api-in-nestjs-node-typescript-3i1o)
318 | - [https://www.paulsblog.dev/use-nestjs-mongodb-and-docker-to-create-an-url-shortener/](https://www.paulsblog.dev/use-nestjs-mongodb-and-docker-to-create-an-url-shortener/)
319 | - [https://hackernoon.com/5-steps-for-dockerizing-nestjs-with-prisma?source=rss](https://hackernoon.com/5-steps-for-dockerizing-nestjs-with-prisma?source=rss)
320 | - [https://betterprogramming.pub/nestjs-the-good-the-bad-and-the-ugly-d51aea04f267](https://betterprogramming.pub/nestjs-the-good-the-bad-and-the-ugly-d51aea04f267)
321 | - [https://dev.to/krtirtho/nestjs-the-framework-of-nodejs-part-3-database-integration-typeorm-4gab](https://dev.to/krtirtho/nestjs-the-framework-of-nodejs-part-3-database-integration-typeorm-4gab)
322 | - [https://faun.pub/nodejs-framework-express-vs-nestjs-which-one-will-work-best-for-your-project-bb0131c5cd83](https://faun.pub/nodejs-framework-express-vs-nestjs-which-one-will-work-best-for-your-project-bb0131c5cd83)
323 | - [https://blog.logrocket.com/build-project-using-angular-nestjs/](https://blog.logrocket.com/build-project-using-angular-nestjs/)
324 | - [https://blog.logrocket.com/understanding-guards-nestjs/](https://blog.logrocket.com/understanding-guards-nestjs/)
325 | - [https://planetscale.com/blog/build-a-user-management-api-with-nestjs-mysql](https://planetscale.com/blog/build-a-user-management-api-with-nestjs-mysql)
326 | - [https://blog.logrocket.com/exploring-nestjs-middleware-benefits-use-cases/](https://blog.logrocket.com/exploring-nestjs-middleware-benefits-use-cases/)
327 | - [https://dev.to/francescoxx/typescript-crud-rest-api-using-nestjs-typeorm-postgres-docker-and-docker-compose-33al](https://dev.to/francescoxx/typescript-crud-rest-api-using-nestjs-typeorm-postgres-docker-and-docker-compose-33al)
328 | - [https://amplication.com/blog/working-with-microservices-with-nestjs](https://amplication.com/blog/working-with-microservices-with-nestjs)
329 | - [https://devhoangkien.com/optimizing-application-performance-with-node-js-typescript-and-nest-js-tips-and-tricks-fb45ed87ebee](https://devhoangkien.com/optimizing-application-performance-with-node-js-typescript-and-nest-js-tips-and-tricks-fb45ed87ebee)
330 | - [https://dev.to/samchon/nestia-boost-up-your-nestjs-server-much-faster-and-easier-maximum-20000x-faster-59o5](https://dev.to/samchon/nestia-boost-up-your-nestjs-server-much-faster-and-easier-maximum-20000x-faster-59o5)
331 | - [https://hashnode.knulst.de/use-nestjs-mongodb-and-docker-to-create-an-url-shortener](https://hashnode.knulst.de/use-nestjs-mongodb-and-docker-to-create-an-url-shortener)
332 | - [https://www.tomray.dev/resources/nestjs-first-principles/part-1?ck_subscriber_id=2227267103&utm_campaign=Landing%20Page%20or%20Form%20-%204864903&utm_medium=email&utm_source=convertkit](https://www.tomray.dev/resources/nestjs-first-principles/part-1?ck_subscriber_id=2227267103&utm_campaign=Landing%20Page%20or%20Form%20-%204864903&utm_medium=email&utm_source=convertkit)
333 | - [https://aws.plainenglish.io/deploy-nestjs-application-into-aws-elastic-beanstalk-c5474e19a6b4](https://aws.plainenglish.io/deploy-nestjs-application-into-aws-elastic-beanstalk-c5474e19a6b4)
334 | - [https://www.permit.io/blog/how-to-protect-a-url-inside-a-nestjs-app-using-rbac-authorization](https://www.permit.io/blog/how-to-protect-a-url-inside-a-nestjs-app-using-rbac-authorization)
335 | - [https://www.tomray.dev/resources/nestjs-first-principles/part-1?ck_subscriber_id=2227267103&utm_campaign=Landing%20Page%20or%20Form%20-%204864903&utm_medium=email&utm_source=convertkit](https://www.tomray.dev/resources/nestjs-first-principles/part-1?ck_subscriber_id=2227267103&utm_campaign=Landing%20Page%20or%20Form%20-%204864903&utm_medium=email&utm_source=convertkit)
336 | - [https://hackernoon.com/the-complete-guide-to-deploying-nestjs-application-on-render?source=rss](https://hackernoon.com/the-complete-guide-to-deploying-nestjs-application-on-render?source=rss)
337 | - [https://awstip.com/understanding-nestjs-architecture-f257d054211d](https://awstip.com/understanding-nestjs-architecture-f257d054211d)
338 | - [https://medium.com/@dev.muhammet.ozen/advanced-transaction-management-with-nestjs-typeorm-43a839363491](https://medium.com/@dev.muhammet.ozen/advanced-transaction-management-with-nestjs-typeorm-43a839363491)
339 | - [https://www.freecodecamp.org/news/message-queues-with-rabbitmq-in-nest-js/?ref=dailydev](https://www.freecodecamp.org/news/message-queues-with-rabbitmq-in-nest-js/?ref=dailydev)
340 | - [https://www.freecodecamp.org/news/how-to-add-filtering-sorting-limiting-pagination-to-nestjs-app/?ref=dailydev](https://www.freecodecamp.org/news/how-to-add-filtering-sorting-limiting-pagination-to-nestjs-app/?ref=dailydev)
341 | - [https://www.freecodecamp.org/news/how-to-use-nodemailer-in-nestjs/?ref=dailydev](https://www.freecodecamp.org/news/how-to-use-nodemailer-in-nestjs/?ref=dailydev)
342 | - [https://www.freecodecamp.org/news/how-to-setup-typeorm-datasource-nestjs-app/?ref=dailydev](https://www.freecodecamp.org/news/how-to-setup-typeorm-datasource-nestjs-app/?ref=dailydev)
343 | - [https://www.freecodecamp.org/news/how-to-setup-typeorm-datasource-nestjs-app/](https://www.freecodecamp.org/news/how-to-setup-typeorm-datasource-nestjs-app/)
344 | - [https://itnext.io/building-microservices-with-nestjs-tcp-and-typescript-dda33aad8b89](https://itnext.io/building-microservices-with-nestjs-tcp-and-typescript-dda33aad8b89)
345 | - [https://medium.com/@zigbalthazar/implement-retry-pattern-in-nest-js-2ad505324960](https://medium.com/@zigbalthazar/implement-retry-pattern-in-nest-js-2ad505324960)
346 | - [https://coinsbench.com/building-a-balancer-price-retrieval-api-with-nestjs-5ad53e72e2cf](https://coinsbench.com/building-a-balancer-price-retrieval-api-with-nestjs-5ad53e72e2cf)
347 | - [https://www.freecodecamp.org/news/build-a-crud-rest-api-with-nestjs-docker-swagger-prisma/](https://www.freecodecamp.org/news/build-a-crud-rest-api-with-nestjs-docker-swagger-prisma/)
348 | - [https://blog.stackademic.com/mastering-microservices-in-nestjs-powerful-design-patterns-for-flexibility-resilience-and-64309ae219e8](https://blog.stackademic.com/mastering-microservices-in-nestjs-powerful-design-patterns-for-flexibility-resilience-and-64309ae219e8)
349 | - [https://medium.com/@swapnilsuman65/generate-pdfs-dynamically-in-nodejs-nestjs-398fe3617a4a](https://medium.com/@swapnilsuman65/generate-pdfs-dynamically-in-nodejs-nestjs-398fe3617a4a)
350 | - [https://medium.com/@abeythilakeudara3/nestjs-framework-fundamentals-part-01-7e2fa9e91bad](https://medium.com/@abeythilakeudara3/nestjs-framework-fundamentals-part-01-7e2fa9e91bad)
351 | - [https://blog.stackademic.com/mastering-microservices-in-nestjs-powerful-design-patterns-for-flexibility-resilience-and-64309ae219e8](https://blog.stackademic.com/mastering-microservices-in-nestjs-powerful-design-patterns-for-flexibility-resilience-and-64309ae219e8)
352 | - [https://blog.stackademic.com/mastering-microservices-in-nestjs-powerful-design-patterns-for-flexibility-resilience-and-64309ae219e8](https://blog.stackademic.com/mastering-microservices-in-nestjs-powerful-design-patterns-for-flexibility-resilience-and-64309ae219e8)
353 | - [https://www.freecodecamp.org/news/comprehensive-nestjs-course/](https://www.freecodecamp.org/news/comprehensive-nestjs-course/)
354 | - [https://dev.to/rayenmabrouk/best-tech-stack-for-startups-in-2025-5h2l](https://dev.to/rayenmabrouk/best-tech-stack-for-startups-in-2025-5h2l)
355 | - [https://medium.com/better-programming/nestjs-the-good-the-bad-and-the-ugly-d51aea04f267](https://medium.com/better-programming/nestjs-the-good-the-bad-and-the-ugly-d51aea04f267)
356 | - [https://blog.logrocket.com/nestjs-interceptors-guide-use-cases/?ref=dailydev](https://blog.logrocket.com/nestjs-interceptors-guide-use-cases/?ref=dailydev)
357 | - [https://github.com/andrea-acampora/nestjs-ddd-devops?ref=dailydev](https://github.com/andrea-acampora/nestjs-ddd-devops?ref=dailydev)
358 | - [https://github.com/OwaliShawon/MicroservicesArchitecture-NestJS-RabbitMQ?ref=dailydev](https://github.com/OwaliShawon/MicroservicesArchitecture-NestJS-RabbitMQ?ref=dailydev)
359 |
360 |
361 | ## NodeJS Unit testing
362 | - [https://github.com/goldbergyoni/javascript-testing-best-practices?utm_campaign=javascript-and-node-testing-best-practic](https://github.com/goldbergyoni/javascript-testing-best-practices?utm_campaign=javascript-and-node-testing-best-practic)
363 | - [https://semaphoreci.com/blog/unit-tests-nodejs-jest](https://semaphoreci.com/blog/unit-tests-nodejs-jest)
364 | - [https://dzone.com/articles/web-application-testing-tutorial-a-comprehensive-g](https://dzone.com/articles/web-application-testing-tutorial-a-comprehensive-g)
365 | - [https://circleci.com/blog/mocking-api-requests-with-mirage/](https://circleci.com/blog/mocking-api-requests-with-mirage/)
366 | - [https://developers.redhat.com/articles/2023/07/27/introduction-nodejs-reference-architecture-testing](https://developers.redhat.com/articles/2023/07/27/introduction-nodejs-reference-architecture-testing)
367 | - [https://blog.appsignal.com/2024/10/16/best-testing-practices-in-nodejs.html?ref=dailydev](https://blog.appsignal.com/2024/10/16/best-testing-practices-in-nodejs.html?ref=dailydev)
368 | - [https://blog.appsignal.com/2025/04/23/how-to-write-unit-tests-in-nodejs-using-mocha.html?ref=dailydev](https://blog.appsignal.com/2025/04/23/how-to-write-unit-tests-in-nodejs-using-mocha.html?ref=dailydev)
369 |
370 | ## NodeJS with Typescript
371 | - [https://itnext.io/simple-cqrs-in-nodejs-with-typescript-6da6d3e8a420](https://itnext.io/simple-cqrs-in-nodejs-with-typescript-6da6d3e8a420)
372 | - [https://deno.com/blog/build-api-express-typescript-pt2](https://deno.com/blog/build-api-express-typescript-pt2)
373 | - [https://wundergraph.com/blog/the-backend-for-frontend-pattern-using-nextjs](https://wundergraph.com/blog/the-backend-for-frontend-pattern-using-nextjs)
374 | - [https://dev.to/wizdomtek/typescript-express-building-robust-apis-with-nodejs-1fln](https://dev.to/wizdomtek/typescript-express-building-robust-apis-with-nodejs-1fln)
375 | - [https://medium.com/before-semicolon/how-to-setup-a-typescript-nodejs-server-2023-16f3874f2ce5](https://medium.com/before-semicolon/how-to-setup-a-typescript-nodejs-server-2023-16f3874f2ce5)
376 | - [https://losikov.medium.com/part-1-project-initial-setup-typescript-node-js-31ba3aa7fbf1](https://losikov.medium.com/part-1-project-initial-setup-typescript-node-js-31ba3aa7fbf1)
377 |
378 | ## NodeJS best practices
379 | - [https://systemweakness.com/why-helmet-js-is-essential-for-securing-your-express-js-application-416e0044fc2](https://systemweakness.com/why-helmet-js-is-essential-for-securing-your-express-js-application-416e0044fc2)
380 | - [https://blog.javascripttoday.com/blog/node-js-server-vulnerabilities/](https://blog.javascripttoday.com/blog/node-js-server-vulnerabilities/)
381 |
382 | ## API practices
383 | - [https://mojoauth.com/blog/rest-api-authentication/](https://mojoauth.com/blog/rest-api-authentication/)
384 | - [https://nerdleveltech.com/a-full-guide-understand-everything-about-apis-with-examples/](https://nerdleveltech.com/a-full-guide-understand-everything-about-apis-with-examples/)
385 | - [https://blog.logrocket.com/communicating-between-node-js-microservices-with-grpc/](https://blog.logrocket.com/communicating-between-node-js-microservices-with-grpc/)
386 | - [https://www.strongdm.com/blog/api-security](https://www.strongdm.com/blog/api-security)
387 | - [https://blog.bytebytego.com/p/ep49-api-architectural-styles](https://blog.bytebytego.com/p/ep49-api-architectural-styles)
388 | - [https://blog.logrocket.com/using-helmet-node-js-secure-application/](https://blog.logrocket.com/using-helmet-node-js-secure-application/)
389 | - [https://cerbos.dev/blog/should-you-choose-grpc-over-rest-when-designing-your-apis](https://cerbos.dev/blog/should-you-choose-grpc-over-rest-when-designing-your-apis)
390 | - [https://www.freecodecamp.org/news/public-apis-for-developers/](https://www.freecodecamp.org/news/public-apis-for-developers/)
391 | - [https://dzone.com/articles/the-ultimate-api-development-guide-strategy-tools](https://dzone.com/articles/the-ultimate-api-development-guide-strategy-tools)
392 | - [https://unzip.dev/0x012-trpc/](https://unzip.dev/0x012-trpc/)
393 | - [https://www.telerik.com/blogs/11-api-security-best-practices-secure-business](https://www.telerik.com/blogs/11-api-security-best-practices-secure-business)
394 | - [https://amplication.com/blog/rest-vs-grpc-whats-the-difference](https://amplication.com/blog/rest-vs-grpc-whats-the-difference)
395 | - [https://betterprogramming.pub/build-faster-and-easier-apis-with-user-sessions-b73b8902222d](https://betterprogramming.pub/build-faster-and-easier-apis-with-user-sessions-b73b8902222d)
396 | - [https://www.freecodecamp.org/news/use-apis-to-practice-coding-skills/](https://www.freecodecamp.org/news/use-apis-to-practice-coding-skills/)
397 | - [https://www.freecodecamp.org/news/build-consume-and-document-a-rest-api/](https://www.freecodecamp.org/news/build-consume-and-document-a-rest-api/)
398 | - [https://blog.bytebytego.com/p/api-design](https://blog.bytebytego.com/p/api-design)
399 | - [https://medium.com/api-center/api-documentation-rules-192c127cf401](https://medium.com/api-center/api-documentation-rules-192c127cf401)
400 | - [https://mehranjnf.medium.com/preventing-cross-site-request-forgery-csrf-in-node-js-82a989a41642](https://mehranjnf.medium.com/preventing-cross-site-request-forgery-csrf-in-node-js-82a989a41642)
401 | - [https://medium.com/api-center/api-design-practice-7fce69e6336c](https://medium.com/api-center/api-design-practice-7fce69e6336c)
402 | - [https://blog.postman.com/how-to-choose-between-rest-vs-graphql-vs-grpc-vs-soap/](https://blog.postman.com/how-to-choose-between-rest-vs-graphql-vs-grpc-vs-soap/)
403 | - [https://www.apriorit.com/dev-blog/776-cloud-api-scaling](https://www.apriorit.com/dev-blog/776-cloud-api-scaling)
404 | - [https://www.wallarm.com/what/api-security-tutorial](https://www.wallarm.com/what/api-security-tutorial)
405 | - [https://brainhub.eu/library/api-expressjs-and-hadron](https://brainhub.eu/library/api-expressjs-and-hadron)
406 | - [https://blog.bytebytego.com/p/the-foundation-of-rest-api-http](https://blog.bytebytego.com/p/the-foundation-of-rest-api-http)
407 | - [https://www.freecodecamp.org/news/api-integration-patterns/?ref=dailydev](https://www.freecodecamp.org/news/api-integration-patterns/?ref=dailydev)
408 | - [https://www.freecodecamp.org/news/master-api-testing-with-postman/](https://www.freecodecamp.org/news/master-api-testing-with-postman/)
409 | - [https://www.freecodecamp.org/news/what-are-api-gateways/](https://www.freecodecamp.org/news/what-are-api-gateways/)
410 | - [https://www.freecodecamp.org/news/api-documentation-best-practices-course/](https://www.freecodecamp.org/news/api-documentation-best-practices-course/)
411 | - [https://www.youtube.com/watch?v=_gQaygjm_hg](https://www.youtube.com/watch?v=_gQaygjm_hg)
412 | - [https://blog.amigoscode.com/p/api-development-roadmap-for-developers?r=22x1kh&ref=dailydev&triedRedirect=true](https://blog.amigoscode.com/p/api-development-roadmap-for-developers?r=22x1kh&ref=dailydev&triedRedirect=true)
413 | - [https://www.freecodecamp.org/news/learn-how-to-secure-api-servers/](https://www.freecodecamp.org/news/learn-how-to-secure-api-servers/)
414 | - [https://dev.to/msnmongare/best-practices-for-naming-api-endpoints-2n5o?ref=dailydev](https://dev.to/msnmongare/best-practices-for-naming-api-endpoints-2n5o?ref=dailydev)
415 | - [https://www.thoughtworks.com/insights/blog/rest-api-design-resource-modeling?ref=dailydev](https://www.thoughtworks.com/insights/blog/rest-api-design-resource-modeling?ref=dailydev)
416 | - [https://www.freecodecamp.org/news/api-documentation-best-practices-course/](https://www.freecodecamp.org/news/api-documentation-best-practices-course/)
417 | - [https://newsletter.techworld-with-milan.com/p/how-to-learn-api?ref=dailydev](https://newsletter.techworld-with-milan.com/p/how-to-learn-api?ref=dailydev)
418 | - [https://www.freecodecamp.org/news/api-testing-with-postman-a-step-by-step-guide-using-the-spotify-api/?ref=dailydev](https://www.freecodecamp.org/news/api-testing-with-postman-a-step-by-step-guide-using-the-spotify-api/?ref=dailydev)
419 | - [https://newsletter.techworld-with-milan.com/p/how-to-learn-api?ref=dailydev](https://newsletter.techworld-with-milan.com/p/how-to-learn-api?ref=dailydev)
420 | - [https://implementing.substack.com/p/how-to-make-the-best-use-of-api-pagination?ref=dailydev&triedRedirect=true](https://implementing.substack.com/p/how-to-make-the-best-use-of-api-pagination?ref=dailydev&triedRedirect=true)
421 | - [https://blogs.halodoc.io/improving-api-latency-guide/?ref=dailydev](https://blogs.halodoc.io/improving-api-latency-guide/?ref=dailydev)
422 | - [https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-a0261cdf8886](https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-a0261cdf8886)
423 | - [https://pixel506.com/insights/how-much-traffic-can-nodejs-handle?ref=dailydev](https://pixel506.com/insights/how-much-traffic-can-nodejs-handle?ref=dailydev)
424 | - [https://blog.openreplay.com/how-to-debug-api-issues-with-jwt-decoders/?ref=dailydev](https://blog.openreplay.com/how-to-debug-api-issues-with-jwt-decoders/?ref=dailydev)
425 | - [https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-a0261cdf8886](https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-a0261cdf8886)
426 | - [https://leapcell.io/blog/bulletproof-api-design?ref=dailydev](https://leapcell.io/blog/bulletproof-api-design?ref=dailydev)
427 | - [https://www.netguru.com/blog/how-to-create-an-api?ref=dailydev](https://www.netguru.com/blog/how-to-create-an-api?ref=dailydev)
428 | - [https://docs.kony.com/konylibrary/visualizer/viz_api_dev_guide/content/language_apis.htm](https://docs.kony.com/konylibrary/visualizer/viz_api_dev_guide/content/language_apis.htm)
429 | - [https://newsletter.systemdesigncodex.com/p/key-api-design-considerations?ref=dailydev](https://newsletter.systemdesigncodex.com/p/key-api-design-considerations?ref=dailydev)
430 |
431 | ## Package Manager
432 | - [https://howtocrackit.com/pnpm-vs-npm-and-yarn-why-you-should-switch-and-how-to-do-it/](https://howtocrackit.com/pnpm-vs-npm-and-yarn-why-you-should-switch-and-how-to-do-it/)
433 |
434 | ## NodeJS tools
435 | - [https://brainhub.eu/library/node-js-tools-for-developers](https://brainhub.eu/library/node-js-tools-for-developers)
436 |
437 | ## NodeJS security
438 | - [https://www.telerik.com/blogs/all-you-need-to-know-cors-errors](https://www.telerik.com/blogs/all-you-need-to-know-cors-errors)
439 | - [https://tsh.io/blog/dependency-injection-in-node-js/](https://tsh.io/blog/dependency-injection-in-node-js/)
440 | - [https://amplication.com/blog/how-to-use-dependency-injection-with-nodejs](https://amplication.com/blog/how-to-use-dependency-injection-with-nodejs)
441 | - [https://blog.openreplay.com/securing-front-end-apps-with-cors-and-csp/](https://blog.openreplay.com/securing-front-end-apps-with-cors-and-csp/)
442 | - [https://reflectoring.io/tutorial-nodejs-rate-limiter/?ref=dailydev](https://reflectoring.io/tutorial-nodejs-rate-limiter/?ref=dailydev)
443 | - [https://dev.to/mohammadfaisal/nodejs-security-best-practices-34ck?ref=dailydev](https://dev.to/mohammadfaisal/nodejs-security-best-practices-34ck?ref=dailydev)
444 | - [https://www.strongdm.com/blog/api-security-best-practices?ref=dailydev](https://www.strongdm.com/blog/api-security-best-practices?ref=dailydev)
445 | - [https://developer.mozilla.org/en-US/blog/securing-apis-express-rate-limit-and-slow-down/?ref=dailydev](https://developer.mozilla.org/en-US/blog/securing-apis-express-rate-limit-and-slow-down/?ref=dailydev)
446 | - [https://medium.com/@modywmbadr/securing-node-js-in-production-f11822ab20b7](https://medium.com/@modywmbadr/securing-node-js-in-production-f11822ab20ab7)
447 | - [https://www.toptal.com/nodejs/secure-rest-api-in-nodejs?ref=dailydev](https://www.toptal.com/nodejs/secure-rest-api-in-nodejs?ref=dailydev)
448 | - [https://leapcell.io/blog/restful-api-principles-design-and-best-practices?ref=dailydev](https://leapcell.io/blog/restful-api-principles-design-and-best-practices?ref=dailydev)
449 | - [https://www.freecodecamp.org/news/how-to-harden-your-nodejs-apis-security-best-practices/?ref=dailydev](https://www.freecodecamp.org/news/how-to-harden-your-nodejs-apis-security-best-practices/?ref=dailydev)
450 |
451 | ## NodeJS Migration
452 | - [https://blog.appsignal.com/2023/06/28/migrate-your-express-application-to-fastify.html](https://blog.appsignal.com/2023/06/28/migrate-your-express-application-to-fastify.html)
453 |
454 | ## NodeJS deployment
455 | - [https://aws.plainenglish.io/upload-images-on-aws-s3-using-node-js-c3d3b9e81ddc](https://aws.plainenglish.io/upload-images-on-aws-s3-using-node-js-c3d3b9e81ddc)
456 | - [https://aws.plainenglish.io/deploy-node-js-server-to-aws-ec2-with-docker-78687493b53](https://aws.plainenglish.io/deploy-node-js-server-to-aws-ec2-with-docker-78687493b53)
457 | - [https://blog.risingstack.com/how-to-debug-a-node-js-app-in-a-docker-container/?ref=dailydev](https://blog.risingstack.com/how-to-debug-a-node-js-app-in-a-docker-container/?ref=dailydev)
458 |
459 | ## NodeJS with GraphQL
460 | - [https://medium.com/neo4j/improving-a-node-js-graphql-server-performance-645a4ae711c3](https://medium.com/neo4j/improving-a-node-js-graphql-server-performance-645a4ae711c3)
461 | - [https://www.freecodecamp.org/news/graphql-queries-for-everyone/](https://www.freecodecamp.org/news/graphql-queries-for-everyone/)
462 | - [https://javascript.plainenglish.io/an-introduction-to-federated-graphql-and-wundergraph-cosmo-b802599a338c](https://javascript.plainenglish.io/an-introduction-to-federated-graphql-and-wundergraph-cosmo-b802599a338c)
463 | - [https://www.youtube.com/watch?v=uH0SxYdsjv4](https://www.youtube.com/watch?v=uH0SxYdsjv4)
464 |
465 | ## NodeJS with Redis
466 | - [https://www.freecodecamp.org/news/how-to-use-queues-in-web-applications/](https://www.freecodecamp.org/news/how-to-use-queues-in-web-applications/)
467 | - [https://blog.bytebytego.com/p/a-crash-course-in-redis](https://blog.bytebytego.com/p/a-crash-course-in-redis)
468 | - [https://blog.bytebytego.com/p/the-6-most-impactful-ways-redis-is?ref=dailydev](https://blog.bytebytego.com/p/the-6-most-impactful-ways-redis-is?ref=dailydev)
469 | - [https://awstip.com/unlock-the-power-of-redis-part-1-55ccdf43d8f0](https://awstip.com/unlock-the-power-of-redis-part-1-55ccdf43d8f0)
470 | - [https://implementing.substack.com/p/implement-leaderboard-with-redis-sorted-sets?ref=dailydev](https://implementing.substack.com/p/implement-leaderboard-with-redis-sorted-sets?ref=dailydev)
471 |
472 | ## NodeJS Auth
473 | - [https://hackernoon.com/a-practical-guide-to-implementing-user-authentication-using-javascript-and-express?source=rss](https://hackernoon.com/a-practical-guide-to-implementing-user-authentication-using-javascript-and-express?source=rss)
474 | - [https://www.permit.io/blog/authentication-vs-authorization?ref=dailydev](https://www.permit.io/blog/authentication-vs-authorization?ref=dailydev)
475 | - [https://www.permit.io/blog/differences-between-oauth-vs-jwt?ref=dailydev](https://www.permit.io/blog/differences-between-oauth-vs-jwt?ref=dailydev)
476 | - [https://arindam1729.hashnode.dev/jwt-authentication-in-nodejs?ref=dailydev](https://arindam1729.hashnode.dev/jwt-authentication-in-nodejs?ref=dailydev)
477 | - [https://ssojet.com/blog/navigating-the-world-of-jwt-a-comprehensive-guide/?ref=dailydev](https://ssojet.com/blog/navigating-the-world-of-jwt-a-comprehensive-guide/?ref=dailydev)
478 | - [https://medium.com/@iamprovidence/authentication-history-basic-digest-cookie-session-token-jwt-api-key-55d6c21be90b](https://medium.com/@iamprovidence/authentication-history-basic-digest-cookie-session-token-jwt-api-key-55d6c21be90b)
479 | - [https://www.syncfusion.com/blogs/post/secure-jwt-storage-best-practices?ref=dailydev](https://www.syncfusion.com/blogs/post/secure-jwt-storage-best-practices?ref=dailydev)
480 | - [https://blog.logrocket.com/understanding-jwt-oauth-bearer-tokens/?ref=dailydev](https://blog.logrocket.com/understanding-jwt-oauth-bearer-tokens/?ref=dailydev)
481 | - [https://hackernoon.com/build-a-login-and-logout-api-using-expressjs-nodejs?ref=dailydev](https://hackernoon.com/build-a-login-and-logout-api-using-expressjs-nodejs?ref=dailydev)
482 | - [https://neon.tech/blog/wtf-are-jwts?ref=dailydev](https://neon.tech/blog/wtf-are-jwts?ref=dailydev)
483 | - [https://www.cerbos.dev/blog/role-based-access-control-best-practices?ref=dailydev](https://www.cerbos.dev/blog/role-based-access-control-best-practices?ref=dailydev)
484 | - [https://medium.com/procedureflow-engineering/building-api-authentication-at-procedureflow-4d1fe78bb293](https://medium.com/procedureflow-engineering/building-api-authentication-at-procedureflow-4d1fe78bb293)
485 | - [https://www.permit.io/blog/how-to-use-jwts-for-authorization-best-practices-and-common-mistakes?ref=dailydev](https://www.permit.io/blog/how-to-use-jwts-for-authorization-best-practices-and-common-mistakes?ref=dailydev)
486 | - [https://microservices.io/post/architecture/2025/05/28/microservices-authn-authz-part-2-authentication.html?ref=dailydev](https://microservices.io/post/architecture/2025/05/28/microservices-authn-authz-part-2-authentication.html?ref=dailydev)
487 |
488 | ## NodeJS with MongoDB
489 | - [https://blog.appsignal.com/2023/08/09/how-to-use-mongodb-and-mongoose-for-nodejs.html](https://blog.appsignal.com/2023/08/09/how-to-use-mongodb-and-mongoose-for-nodejs.html)
490 | - [https://awstip.com/deploy-node-js-with-mongodb-app-on-aws-5b20ac4418f9](https://awstip.com/deploy-node-js-with-mongodb-app-on-aws-5b20ac4418f9)
491 | - [https://blog.openreplay.com/mongoose--simplifying-mongodb-for-node/?ref=dailydev](https://blog.openreplay.com/mongoose--simplifying-mongodb-for-node/?ref=dailydev)
492 |
493 | ## NodeJS Guide
494 | - [https://hackernoon.com/file-based-routing-in-nodejs-a-brief-guide?source=rss](https://hackernoon.com/file-based-routing-in-nodejs-a-brief-guide?source=rss)
495 |
496 | ## NodeJS Queue
497 | - [https://javascript.plainenglish.io/message-queue-in-nodejs-with-bullmq-and-redis-ec7af00c075](https://javascript.plainenglish.io/message-queue-in-nodejs-with-bullmq-and-redis-ec7af00c075)
498 | - [https://www.digitalocean.com/community/tutorials/publish-subscribe-pattern-in-node-js?ref=dailydev](https://www.digitalocean.com/community/tutorials/publish-subscribe-pattern-in-node-js?ref=dailydev)
499 | - [https://medium.com/technology-hits/how-to-use-rabbitmq-for-message-queue-b3af2a0fbe7f](https://medium.com/technology-hits/how-to-use-rabbitmq-for-message-queue-b3af2a0fbe7f)
500 |
501 | ## NodeJS library
502 | - [https://www.freecodecamp.org/news/learn-bun-a-faster-node-js-alternative/?ref=dailydev](https://www.freecodecamp.org/news/learn-bun-a-faster-node-js-alternative/?ref=dailydev)
503 | - [https://newsletter.systemdesigncodex.com/p/polling-vs-webhooks?ref=dailydev](https://newsletter.systemdesigncodex.com/p/polling-vs-webhooks?ref=dailydev)
504 | - [https://www.codu.co/articles/simple-node-cron-example-in-node-js-s3slkm5p?ref=dailydev](https://www.codu.co/articles/simple-node-cron-example-in-node-js-s3slkm5p?ref=dailydev)
505 | - [https://javascript.plainenglish.io/mastering-package-json-the-heart-of-every-node-js-project-b665a9cb82ab](https://javascript.plainenglish.io/mastering-package-json-the-heart-of-every-node-js-project-b665a9cb82ab)
506 | - [https://medium.com/@surajAherrao/scheduling-tasks-with-cron-jobs-in-node-js-85680383a659](https://medium.com/@surajAherrao/scheduling-tasks-with-cron-jobs-in-node-js-85680383a659)
507 |
508 | ## NodeJS Steaming
509 | - [https://dev.to/bsorrentino/how-to-stream-data-over-http-using-node-and-fetch-api-4ij2?ref=dailydev](https://dev.to/bsorrentino/how-to-stream-data-over-http-using-node-and-fetch-api-4ij2?ref=dailydev)
510 | - [https://pavel-romanov.com/exploring-the-core-concepts-of-nodejs-readable-streams?ref=dailydev](https://pavel-romanov.com/exploring-the-core-concepts-of-nodejs-readable-streams?ref=dailydev)
511 | - [https://pavel-romanov.com/writable-streams-in-nodejs-a-practical-guide?ref=dailydev](https://pavel-romanov.com/writable-streams-in-nodejs-a-practical-guide?ref=dailydev)
512 | - [https://tigerabrodi.blog/understanding-http-responses-and-streams?ref=dailydev](https://tigerabrodi.blog/understanding-http-responses-and-streams?ref=dailydev)
513 |
514 | ## NodeJS Serverless
515 | - [https://www.freecodecamp.org/news/serverless-node-js-tutorial/](https://www.freecodecamp.org/news/serverless-node-js-tutorial/)
516 |
517 | ## NodeJS documentation
518 | - [https://blog.openreplay.com/document-your-api-with-swagger/?ref=dailydev](https://blog.openreplay.com/document-your-api-with-swagger/?ref=dailydev)
519 | - [https://rapidapi.com/courses](https://rapidapi.com/courses)
520 |
521 | ## NodeJS github
522 | - [https://github.com/alirezanqp/nodejs-backend-roadmap](https://github.com/alirezanqp/nodejs-backend-roadmap)
523 | - [https://github.com/saifaustcse/nodejs-developer-roadmap](https://github.com/saifaustcse/nodejs-developer-roadmap)
524 | - [https://github.com/aliyr/Nodejs-Developer-Roadmap](https://github.com/aliyr/Nodejs-Developer-Roadmap)
525 | - [https://github.com/DhanushNehru/Ultimate-NodeJs-Resources?ref=dailydev](https://github.com/DhanushNehru/Ultimate-NodeJs-Resources?ref=dailydev)
526 | - [https://uvaiscodes.blogspot.com/2025/02/github-repositories-to-learn-nodejs.html?ref=dailydev](https://uvaiscodes.blogspot.com/2025/02/github-repositories-to-learn-nodejs.html?ref=dailydev)
527 | - [https://dev.to/devshefali/11-github-repositories-to-learn-nodejs-4bch?context=digest](https://dev.to/devshefali/11-github-repositories-to-learn-nodejs-4bch?context=digest)
528 |
529 | ## NodeJS youtube
530 | - [https://www.youtube.com/watch?v=dQV0xzOeGzU](https://www.youtube.com/watch?v=dQV0xzOeGzU)
531 | - [https://www.youtube.com/watch?v=m6T7Bi8OEvc](https://www.youtube.com/watch?v=m6T7Bi8OEvc)
532 |
533 | ## NodeJS ORM
534 | - [https://blog.logrocket.com/drizzle-vs-prisma-which-orm-is-best/?ref=dailydev](https://blog.logrocket.com/drizzle-vs-prisma-which-orm-is-best/?ref=dailydev)
535 |
536 | ## NodeJS sockets
537 | - [https://kumneger.vercel.app/blog/server-sent-events-explained](https://kumneger.vercel.app/blog/server-sent-events-explained)
538 | - [https://composehq.com/blog/scaling-websockets-1-23-25?ref=dailydev](https://composehq.com/blog/scaling-websockets-1-23-25?ref=dailydev)
539 |
540 | ## Backend Essientials
541 | - [https://blog.stackademic.com/essential-skills-every-back-end-developer-needs-4474809e14d0](https://blog.stackademic.com/essential-skills-every-back-end-developer-needs-4474809e14d0)
542 |
543 | ## Node Ops
544 | - [https://www.freecodecamp.org/news/containerize-a-nodejs-application-using-docker/?ref=dailydev](https://www.freecodecamp.org/news/containerize-a-nodejs-application-using-docker/?ref=dailydev)
545 | - [https://www.freecodecamp.org/news/how-to-deploy-a-nodejs-application-on-aws/?ref=dailydev](https://www.freecodecamp.org/news/how-to-deploy-a-nodejs-application-on-aws/?ref=dailydev)
546 |
547 | ## NodeJS fullstack
548 | - [https://hire.jonasgalvez.com.br/2025/apr/9/fastify-speed/?ref=dailydev](https://hire.jonasgalvez.com.br/2025/apr/9/fastify-speed/?ref=dailydev)
549 |
--------------------------------------------------------------------------------