diff --git a/bin/content-migrator.cjs b/bin/content-migrator.cjs
index b959e23e0..51b048ea8 100644
--- a/bin/content-migrator.cjs
+++ b/bin/content-migrator.cjs
@@ -88,6 +88,7 @@ roadmapDirs.forEach((roadmapDirName) => {
resourceLinks = [`- [Visit Dedicated ${title}](${href})`, ...resourceLinks];
}
+ resourceLinks = ['Visit the following resources to learn more:\n', ...resourceLinks];
resourceLinks = resourceLinks.join('\n');
let newFileContent = fileContent.replace(
diff --git a/src/components/MarkdownContent/MarkdownContent.astro b/src/components/MarkdownContent/MarkdownContent.astro
index 1a0ec20d2..7dae2a1ce 100644
--- a/src/components/MarkdownContent/MarkdownContent.astro
+++ b/src/components/MarkdownContent/MarkdownContent.astro
@@ -3,7 +3,7 @@ import "./Prism.css";
---
-
diff --git a/src/components/TopicOverlay.astro b/src/components/TopicOverlay.astro
index 8f966055b..58122c973 100644
--- a/src/components/TopicOverlay.astro
+++ b/src/components/TopicOverlay.astro
@@ -24,7 +24,7 @@ import Loader from "./Loader.astro";
-
+
diff --git a/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md b/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md
index 68bd28366..8b4c8919e 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md
@@ -2,6 +2,8 @@
TypeScript is a strongly typed, object-oriented, compiled programming language that builds on JavaScript. It is a superset of the JavaScript language, designed to give you better tooling at any scale. TypeScript calls itself “JavaScript with syntax for types.” In short, it is JavaScript with some additional features. The secret to the success of TypeScript is in the type checking, ensuring that the data flowing through the program is of the correct kind of data.
+Visit the following resources to learn more:
+
- [What is TypeScript](https://thenewstack.io/what-is-typescript/)
- [W3Schools – TypeScript Tutorial](https://www.w3schools.com/typescript/)
- [Tutorials point – TypeScript Tutorial](https://www.tutorialspoint.com/typescript/index.htm)
diff --git a/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md b/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md
index 1fa6c868c..15b8fd24b 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md
@@ -2,5 +2,7 @@
TypeScript extends JavaScript, providing a better developer experience. The benefits of using TypeScript over JavaScript include.Static typing – TypeScript comes with optional static typing and a type inference system, which means that a variable declared with no type may be inferred by TypeScript based on its value. Object-oriented programming – TypeScript supports object-oriented programming concepts like classes, inheritance, etc. Compile time checks – JavaScript is an interpreted programming language. There is no compilation involved. Hence, the errors get caught during the runtime. Since TypeScript compiles into JavaScript, errors get reported during the compile time rather than the runtime. Code editor support – IDEs or code editors like VS Code support autocomplete for a TypeScript codebase. They also provide inline documentation and highlight the errors. Use existing packages – You might want to use an npm package written in JavaScript. Since TypeScript is a superset of JavaScript, you can import and use that package. Moreover, the TypeScript community creates and maintains type definitions for popular packages that can be utilized in your project.
+Visit the following resources to learn more:
+
- [linguinecode - Reasons to use TypeScript](https://linguinecode.com/post/5-reasons-why-to-use-typescript)
- [Codemotion - Reasons to use TypeScript](https://www.codemotion.com/magazine/backend/why-you-should-use-typescript-for-your-next-project/)
diff --git a/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md b/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md
index 071246b21..ca86b7691 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md
@@ -4,6 +4,8 @@ Type compatibility in TypeScript is based on structural subtyping. `Structural t
TypeScript’s structural type system was designed based on how JavaScript code is typically written. Because JavaScript widely uses anonymous objects like function expressions and object literals, it’s much more natural to represent the relationships found in JavaScript libraries with a structural type system instead of a nominal one.
+Visit the following resources to learn more:
+
- [Structural typings — Medium](https://medium.com/redox-techblog/structural-typing-in-typescript-4b89f21d6004)
- [Structural typings — Typescriptlang](https://www.typescriptlang.org/docs/handbook/type-compatibility.html)
- [Structural typing video for Beginners](https://www.youtube.com/watch?v=kWtwsX_rT3k)
diff --git a/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md b/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md
index 566f950da..94b5eadb0 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md
@@ -2,5 +2,7 @@
In TypeScript, several places where `type inference` is used to provide type information when there is no explicit type annotation. The type of the x variable is inferred to be a number. This inference occurs when variables and members are initialized, set parameter default values are, and determine function return types. For example, `let x: number`. In most cases, type inference is straightforward. In the following sections, we’ll explore some nuances in how types are inferred. For example, `let x: (number | null)[]`
+Visit the following resources to learn more:
+
- [Type Interface - typescriptlang](https://www.typescriptlang.org/docs/handbook/type-inference.html)
- [Type Inference video for Beginners](https://www.youtube.com/watch?v=3ui_st7rtfA)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md b/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md
index 52a1b3168..9016dfebf 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md
@@ -2,5 +2,7 @@
In TypeScript, we can define a variable that can have multiple types of values. In other words, TypeScript can combine one or two types of data (i.e., number, string, etc.) in a single type, a union type. Union types are a powerful way to express a variable with multiple types. Two or more data types can be combined using the pipe ('|') symbol between the types. For example, `(type1 | type2 | type3 | .. | typeN)`.
+Visit the following resources to learn more:
+
- [Union Types - typescriptlang](https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html)
- [Union Type video for Beginners](https://www.youtube.com/watch?v=uxjpm4W5pCo)
diff --git a/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md b/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md
index a720db8e4..4c8ed8720 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md
@@ -2,5 +2,7 @@
The Builtin types represent the different types of values supported by the language. The builtin types check the validity of the supplied values before they are stored or manipulated by the program. This ensures that the code behaves as expected. The Builtin types further allow for richer code hinting and automated documentation too.
+Visit the following resources to learn more:
+
- [TypeScript Types - Tutorialspoint](https://www.tutorialspoint.com/typescript/typescript_types.htm)
- [Builtin Type video for Beginners](https://www.youtube.com/watch?v=Nt9ajBrqV_M)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md b/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md
index a83a054f8..a662c767f 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md
@@ -6,4 +6,6 @@ TypeScript uses built-in JavaScript operators like `typeof`, `instanceof`, and t
Type guards are typically used for narrowing a type and are pretty similar to feature detection, allowing you to detect the correct methods, prototypes, and properties of a value. Therefore, you can quickly figure out how to handle that value.
+Visit the following resources to learn more:
+
- [Types Guards - Blog](https://blog.logrocket.com/how-to-use-type-guards-typescript/)
diff --git a/src/roadmaps/angular/content/100-typescript-basics/index.md b/src/roadmaps/angular/content/100-typescript-basics/index.md
index 2fa45c980..57fe40448 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/index.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/index.md
@@ -2,5 +2,7 @@
In order to enter into the world of Angular application development, typescript is necessary and it is the primary language here. Typescript is a superset of JavaScript. It comes with design-time support which is useful for type safety and tooling. Since, browsers cannot execute the TypeScript directly, it will be 'Transpiled' into JavaScript using the tsc compiler.
+Visit the following resources to learn more:
+
- [Typescript a Beginners Guide](https://medium.com/jspoint/typescript-a-beginners-guide-6956fe8bcf9e)
- [TypeScript Playground](https://www.typescriptlang.org/play)
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md b/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md
index 1f800d422..8682b6526 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md
@@ -4,4 +4,6 @@ The observer pattern is a software design pattern in which an object, named the
Angular uses the Observer pattern which simply means — Observable objects are registered, and other objects observe (in Angular using the subscribe method) them and take action when the observable object is acted on in some way.
+Visit the following resources to learn more:
+
- [Angular and Observable](https://medium.com/fuzzycloud/angular-and-observable-4bf890b2a282)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md b/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md
index 2c01d138a..0818fd9c1 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md
@@ -8,4 +8,6 @@ There are 4 stages for a life cycle of an observable.
- Execution
- Destruction
+Visit the following resources to learn more:
+
- [Understanding Observable LifeCycle](https://medium.com/analytics-vidhya/understanding-rxjs-observables-ad5b34d9607f)
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md b/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md
index ecc949330..fedcf4686 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md
@@ -2,6 +2,8 @@
Marble testing allows you to test asynchronous RxJS code synchronously and step-by-step with the help of RxJS TestScheduler test utility and using virtual time steps.
+Visit the following resources to learn more:
+
- [Angular Marble Testing: A Brief Introduction](https://www.altamira.ai/blog/angular-marble-testing-a-brief-introduction/)
- [IUnderstanding Marble Diagrams for Reactive Streams](https://medium.com/@jshvarts/read-marble-diagrams-like-a-pro-3d72934d3ef5)
- [Interactive Diagrams](https://rxmarbles.com/#from)
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md b/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md
index 8c8299798..f8fe6b796 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md
@@ -7,4 +7,6 @@ In a nutshell, the main differences between the Promise and the Observable are a
- The Promise can provide a single value, whereas the Observable is a stream of values (from 0 to multiple values),
you can apply RxJS operators to the Observable to get a new tailored stream.
+Visit the following resources to learn more:
+
- [Why RxJS? RxJS vs Promises](https://javascript.plainenglish.io/why-rxjs-rxjs-vs-promises-b28962771d68)
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md b/src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md
index a11e11127..a3f9ec118 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md
@@ -31,6 +31,8 @@ import { interval } from 'rxjs';
const observable = interval(1000 /* number of milliseconds */);
```
+Visit the following resources to learn more:
+
- [List of creation operators](https://rxjs.dev/guide/operators#creation-operators-list)
- [Full RxJS Operators Documentation](https://rxjs.dev/guide/operators)
diff --git a/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md b/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md
index df0b7a911..97210bfce 100644
--- a/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md
+++ b/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md
@@ -2,5 +2,7 @@
AngularJS was the older version of Angular, whose support officially ended in January 2022. Angular is a component-based front-end development framework built on TypeScript, which includes a collection of well-integrated libraries that include features like routing, forms management, client-server communication, and more.
+Visit the following resources to learn more:
+
- [AngularJS Website](https://angularjs.org/)
- [Official - Getting started with Angular](https://angular.io/start)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md b/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md
index 3143048bb..a5a181e37 100644
--- a/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md
+++ b/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md
@@ -7,5 +7,7 @@ Components are the main building block for Angular applications. Each component
* A CSS selector that defines how the component is used in a template
* Optionally, CSS styles applied to the template
+Visit the following resources to learn more:
+
- [Angular Components Overview](https://angular.io/guide/component-overview)
- [Standalone Components in Angular](https://www.youtube.com/watch?v=x5PZwb4XurU)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md b/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md
index cd4e48419..f20c1b32c 100644
--- a/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md
+++ b/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md
@@ -2,5 +2,7 @@
A Template is a form of HTML which tells Angular to go towards another component. To create many Angular features, special syntax within the templates is used.
+Visit the following resources to learn more:
+
- [Understanding Templates](https://angular.io/guide/template-overview)
- [Template Syntax](https://angular.io/guide/template-syntax)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md b/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md
index f504e5cc2..042b47f65 100644
--- a/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md
+++ b/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md
@@ -2,4 +2,6 @@
Modules in Angular act like a container where we can group the components, directives, pipes, and services, related to the application.
+Visit the following resources to learn more:
+
- [Introduction to Modules](https://angular.io/guide/architecture-modules)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md b/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md
index e99153c5a..d03ee277d 100644
--- a/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md
+++ b/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md
@@ -2,5 +2,7 @@
Dependency Injection is one of the fundamental concepts in Angular. DI is wired into the Angular framework and allows classes with Angular decorators, such as Components, Directives, Pipes, and Injectables, to configure dependencies that they need.
+Visit the following resources to learn more:
+
- [Understanding Dependency Injection](https://angular.io/guide/dependency-injection)
- [Dependency Injection in Action](https://angular.io/guide/dependency-injection-in-action)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/105-services.md b/src/roadmaps/angular/content/102-angular-basics/105-services.md
index f9cd73915..edc1e7148 100644
--- a/src/roadmaps/angular/content/102-angular-basics/105-services.md
+++ b/src/roadmaps/angular/content/102-angular-basics/105-services.md
@@ -2,6 +2,8 @@
Services let you define code or functionalities that are then accessible and reusable in many other components in the Angular project. It also helps you with the abstraction of logic and data that is hosted independently but can be shared across other components.
+Visit the following resources to learn more:
+
- [Services](https://angular.io/tutorial/toh-pt4)
- [What is an Angular Service](https://www.javatpoint.com/what-is-an-angular-service)
- [Service for API Calls](https://www.knowledgehut.com/blog/web-development/make-api-calls-angular)
diff --git a/src/roadmaps/angular/content/102-angular-basics/106-routing.md b/src/roadmaps/angular/content/102-angular-basics/106-routing.md
index 677b0cf40..f3885e517 100644
--- a/src/roadmaps/angular/content/102-angular-basics/106-routing.md
+++ b/src/roadmaps/angular/content/102-angular-basics/106-routing.md
@@ -2,5 +2,7 @@
Routing in Angular allows the users to create a single-page application with multiple views and allows navigation between them.
+Visit the following resources to learn more:
+
- [Angular Routing](https://angular.io/guide/routing-overview)
- [Common Routing Tasks](https://angular.io/guide/router)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md b/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md
index 5a67e03cc..f0dc67d66 100644
--- a/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md
+++ b/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md
@@ -2,5 +2,7 @@
The command can be used to build a project of type "application" or "library". When used to build a library, a different builder is invoked, and only the ts-config, configuration, and watch options are applied. All other options apply only to building applications.
+Visit the following resources to learn more:
+
- [Ng Build - Angular.io](https://angular.io/cli/build)
- [Building an Angular project](https://www.youtube.com/watch?v=VB6WuCPDwz0)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md b/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md
index cfbd93198..02d8ca63c 100644
--- a/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md
+++ b/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md
@@ -2,5 +2,7 @@
ng serve — This command builds, deploy, serves and every time watches your code changes. if find any change in code it builds and serves that code automatically. How do Angular builds? After coding our Angular apps using TypeScript, we use the Angular CLI command to build the app.
+Visit the following resources to learn more:
+
- [Ng serve - Angular.io](https://angular.io/cli/serve)
- [Running a project with ng serve](https://www.youtube.com/watch?v=-w-RfHcLt5U)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md b/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md
index e1a2574fe..4be1359aa 100644
--- a/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md
+++ b/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md
@@ -3,5 +3,7 @@
ng generate is used to create the component in angular project. These are the two main ways to generate a new component in Angular: using ng g c , and using ng generate component . Using either of these two commands, the new component can be generated pretty easily and followed by the suitable component name of your choice.
+Visit the following resources to learn more:
+
- [Ng generate - Angular.io](https://angular.io/cli/generate)
- [Angular cli generate component](https://www.youtube.com/watch?v=NlHlu_zzmo4)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md b/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md
index ff0f0edf7..04ebf9e23 100644
--- a/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md
+++ b/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md
@@ -5,5 +5,7 @@ ng test is used to runs unit tests in angular project.
`ng test [options]` | `ng t [options]`
+Visit the following resources to learn more:
+
- [Ng test - Angular.io](https://angular.io/cli/test)
- [Angular Ng test commands](https://www.youtube.com/watch?v=n1O_eRwzRKA)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md b/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md
index 9dff5f24f..eea23651a 100644
--- a/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md
+++ b/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md
@@ -2,5 +2,7 @@
End-to-end testing (E2E) of Angular applications is performed using the Protractor testing framework, which is created by the Angular team themselves. Protractor can perform end to end tests on Angular applications that are running in a real browser by interacting with it, similar to that of an end-user.
+Visit the following resources to learn more:
+
- [Ng e2e - Angular.io](https://angular.io/cli/e2e)
- [Angular cli generate component](https://www.youtube.com/watch?v=3vFnhzEGfew)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md b/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md
index 4054dc21c..39a3de8f6 100644
--- a/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md
+++ b/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md
@@ -6,5 +6,7 @@ That’s the default usage of the command and creating a new project folder with
The default Angular project, All dependencies installed in node_modules folder , Testing files for each components
+Visit the following resources to learn more:
+
- [Ng New - Angular.io](https://angular.io/cli/new)
- [ng New command](https://www.youtube.com/watch?v=NdEpZezptkQ)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/106-schematics.md b/src/roadmaps/angular/content/103-angular-cli/106-schematics.md
index 92d8e72a6..636b447cc 100644
--- a/src/roadmaps/angular/content/103-angular-cli/106-schematics.md
+++ b/src/roadmaps/angular/content/103-angular-cli/106-schematics.md
@@ -2,5 +2,7 @@
A schematic is a template-based code generator that supports complex logic. It is a set of instructions for transforming a software project by generating or modifying code.
+Visit the following resources to learn more:
+
- [Angular Website](https://angular.io/guide/schematics#:~:text=A%20schematic%20is%20a%20template,collections%20and%20installed%20with%20npm.)
- [Angular Blog](https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2?gi=ad9571373944)
diff --git a/src/roadmaps/angular/content/103-angular-cli/index.md b/src/roadmaps/angular/content/103-angular-cli/index.md
index 24821bccf..f968afc21 100644
--- a/src/roadmaps/angular/content/103-angular-cli/index.md
+++ b/src/roadmaps/angular/content/103-angular-cli/index.md
@@ -4,5 +4,7 @@ The Angular CLI is a command-line interface tool that you use to initialize, dev
`npm install -g @angular/cli`
+Visit the following resources to learn more:
+
- [Angular CLI - Angular.io](https://angular.io/cli)
- [Angular CLI - setup](https://www.youtube.com/watch?v=mZnzX3J5XKI)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/104-templates/100-interpolation.md b/src/roadmaps/angular/content/104-templates/100-interpolation.md
index 2005f4980..2a247a822 100644
--- a/src/roadmaps/angular/content/104-templates/100-interpolation.md
+++ b/src/roadmaps/angular/content/104-templates/100-interpolation.md
@@ -2,4 +2,6 @@
Interpolation refers to embedding expressions into marked up text. By default, interpolation uses the double curly braces {{ and }} as delimiters. Angular replaces currentCustomer with the string value of the corresponding component property.
+Visit the following resources to learn more:
+
- [Angular Official Website](ttps://angular.io/guide/interpolation)
diff --git a/src/roadmaps/angular/content/104-templates/101-property-binding.md b/src/roadmaps/angular/content/104-templates/101-property-binding.md
index dbe4559ae..01af49674 100644
--- a/src/roadmaps/angular/content/104-templates/101-property-binding.md
+++ b/src/roadmaps/angular/content/104-templates/101-property-binding.md
@@ -2,4 +2,6 @@
Property binding helps you set values for properties of HTML elements or directives. To bind to an element's property, enclose it in square brackets `[]` which causes Angular to evaluate the right-hand side of the assignment as a dynamic expression.
+Visit the following resources to learn more:
+
- [Angular Official Website](https://angular.io/guide/property-binding)
diff --git a/src/roadmaps/angular/content/104-templates/102-template-statements.md b/src/roadmaps/angular/content/104-templates/102-template-statements.md
index 5e0c39ee9..bcf3a22d7 100644
--- a/src/roadmaps/angular/content/104-templates/102-template-statements.md
+++ b/src/roadmaps/angular/content/104-templates/102-template-statements.md
@@ -2,4 +2,6 @@
Template statements are methods or properties that you can use in your HTML to respond to user events. With template statements, your application can engage users through actions such as displaying dynamic content or submitting forms. Enclose the event in `()` which causes Angular to evaluate the right hand side of the assignment as one or more template statements chained together using semicolon `;`.
+Visit the following resources to learn more:
+
- [Angular Official Website](https://angular.io/guide/template-statements)
diff --git a/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md b/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md
index e00ef4af1..e173bbfdb 100644
--- a/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md
+++ b/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md
@@ -7,4 +7,6 @@ In an Angular template, a binding creates a live connection between view and the
- **event**: lets you listen for and respond to user actions such as keystrokes, mouse movements, clicks, and touches.
- **data**: It's a combination of property and event binding and helps you share data between components.
+Visit the following resources to learn more:
+
- [Angular Official Website](https://angular.io/guide/binding-overview)
diff --git a/src/roadmaps/angular/content/104-templates/104-reference-vars.md b/src/roadmaps/angular/content/104-templates/104-reference-vars.md
index 09b63b784..e9d656612 100644
--- a/src/roadmaps/angular/content/104-templates/104-reference-vars.md
+++ b/src/roadmaps/angular/content/104-templates/104-reference-vars.md
@@ -2,4 +2,6 @@
Template reference variables help you use data from one part of a template in another part of the template. A template variable can refer to a DOM element within a template, component or directive. In the template, use the hash symbol, `#`, to declare a template reference variable.
+Visit the following resources to learn more:
+
- [Angular Official Website](https://angular.io/guide/template-reference-variables)
diff --git a/src/roadmaps/angular/content/104-templates/105-input-output.md b/src/roadmaps/angular/content/104-templates/105-input-output.md
index 0fc7a6e36..a5288b7df 100644
--- a/src/roadmaps/angular/content/104-templates/105-input-output.md
+++ b/src/roadmaps/angular/content/104-templates/105-input-output.md
@@ -2,4 +2,6 @@
`@Input()` and `@Output()` give a child component a way to communicate with its parent component. `@Input()` lets a parent component update data in the child component. Conversely, `@Output()` lets the child send data to a parent component.
+Visit the following resources to learn more:
+
- [Angular Official Website](https://angular.io/guide/inputs-outputs)
diff --git a/src/roadmaps/angular/content/104-templates/index.md b/src/roadmaps/angular/content/104-templates/index.md
index a74257dde..1861778b5 100644
--- a/src/roadmaps/angular/content/104-templates/index.md
+++ b/src/roadmaps/angular/content/104-templates/index.md
@@ -2,4 +2,6 @@
A template is a form of HTML that tells Angular how to render the component.
+Visit the following resources to learn more:
+
- [Introduction to Components and Templates](https://angular.io/guide/architecture-components)
diff --git a/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md b/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md
index 4ce23f7ad..463e10f78 100644
--- a/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md
+++ b/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md
@@ -5,5 +5,7 @@ SKDirectives are classes that add additional behavior to elements in your Angula
`NgClass` Adds and removes a set of CSS classes. | `NgStyle` Adds and removes a set of HTML styles. | `NgModel` Adds two-way data binding to an HTML form element.
+Visit the following resources to learn more:
+
- [Understanding BuiltIn Directives](https://angular.io/guide/built-in-directives)
- [BuiltIn Directives Types](https://thinkster.io/tutorials/angular-2-directives)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md b/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md
index 5db4c10e3..e235d5a70 100644
--- a/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md
+++ b/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md
@@ -5,5 +5,7 @@ Use pipes to transform strings, currency amounts, dates, and other data for disp
`DatePipe` | `UpperCasePipe` | `LowerCasePipe` | `CurrencyPipe` | `DecimalPipe` | `PercentPipe`
+Visit the following resources to learn more:
+
- [Understanding BuiltIn Pipes](https://angular.io/guide/pipes)
- [BuiltIn Pipes - exampls](https://codecraft.tv/courses/angular/pipes/built-in-pipes/)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md b/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md
index 8f97f24de..ae7a59cbb 100644
--- a/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md
+++ b/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md
@@ -2,5 +2,7 @@
Change detection is the process through which Angular checks to see whether your application state has changed, and if any DOM needs to be updated. At a high level, Angular walks your components from top to bottom, looking for changes. Angular runs its change detection mechanism periodically so that changes to the data model are reflected in an application’s view. Change detection can be triggered either manually or through an asynchronous event
+Visit the following resources to learn more:
+
- [Understanding Change detection](https://angular.io/guide/change-detection)
- [4 Runtime Performance Optimizations ( Change detection )](https://www.youtube.com/watch?v=f8sA-i6gkGQ)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/106-forms/100-reactive-forms.md b/src/roadmaps/angular/content/106-forms/100-reactive-forms.md
index 0ce55a5c6..a3413c452 100644
--- a/src/roadmaps/angular/content/106-forms/100-reactive-forms.md
+++ b/src/roadmaps/angular/content/106-forms/100-reactive-forms.md
@@ -2,6 +2,8 @@
Reactive Forms in angular are those which used to handle the inputs coming from the user. We can define controls by using classes such as FormGroup and FormControl.
+Visit the following resources to learn more:
+
- [Reactive forms - Angular](https://angular.io/guide/reactive-forms)
- [Angular Reactive Forms](https://www.javatpoint.com/angular-reactive-forms)
- [How To Use Reactive Forms in Angular](https://www.digitalocean.com/community/tutorials/angular-reactive-forms-introduction)
diff --git a/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md b/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md
index 1fb87d9c5..c6aae8c3b 100644
--- a/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md
+++ b/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md
@@ -4,6 +4,8 @@ A Template driven form is the simplest form we can build in Angular. It is mainl
It uses two-way data-binding (ngModel) to create and handle the form components.
+Visit the following resources to learn more:
+
- [Building a template-driven form](https://angular.io/guide/forms)
- [Template-Driven Forms](https://codecraft.tv/courses/angular/forms/template-driven/)
- [Template driven form](https://www.youtube.com/watch?v=whr14XxB8-M)
diff --git a/src/roadmaps/angular/content/106-forms/index.md b/src/roadmaps/angular/content/106-forms/index.md
index 587020590..19653cb31 100644
--- a/src/roadmaps/angular/content/106-forms/index.md
+++ b/src/roadmaps/angular/content/106-forms/index.md
@@ -4,6 +4,8 @@ Forms are used to handle user inputs in many applications. It enables users from
Angular provides two approachs to handle user inputs trough forms: reactive and template-driven forms.
+Visit the following resources to learn more:
+
- [Introduction to forms in Angular](https://angular.io/guide/forms-overview)
- [Angular Forms](https://www.w3schools.com/angular/angular_forms.asp)
- [Angular Forms Tutorial](https://www.youtube.com/watch?v=-bGgjgx3fGs)
diff --git a/src/roadmaps/angular/content/107-routing/101-router-outlets.md b/src/roadmaps/angular/content/107-routing/101-router-outlets.md
index 368e0eb3d..6b654683b 100644
--- a/src/roadmaps/angular/content/107-routing/101-router-outlets.md
+++ b/src/roadmaps/angular/content/107-routing/101-router-outlets.md
@@ -4,4 +4,6 @@ The router-outlet is a directive that's available from the @angular/router packa
Thanks to the router outlet, your app will have multiple views/pages and the app template acts like a shell of your application. Any element, you add to the shell will be rendered in each view, only the part marked by the router outlet will be changed between views.
+Visit the following resources to learn more:
+
- [Understanding Router Outlets](https://angular.io/api/router/RouterOutle)
diff --git a/src/roadmaps/angular/content/107-routing/104-guards.md b/src/roadmaps/angular/content/107-routing/104-guards.md
index f0e41c187..cf8337882 100644
--- a/src/roadmaps/angular/content/107-routing/104-guards.md
+++ b/src/roadmaps/angular/content/107-routing/104-guards.md
@@ -4,6 +4,8 @@ Angular route guards are interfaces provided by Angular which, when implemented,
Some types of angular guards are `CanActivate`, `CanActivateChild`, `CanLoad`, `CanDeactivate` and `Resolve`.
+Visit the following resources to learn more:
+
- [Angular Official Website](https://angular.io/api/router)
- [Can Activate Guard](https://angular.io/api/router/CanActivate)
- [Can Activate Child](https://angular.io/api/router/CanActivateChild)
diff --git a/src/roadmaps/angular/content/107-routing/105-lazy-loading.md b/src/roadmaps/angular/content/107-routing/105-lazy-loading.md
index 316386e0d..0f68fc454 100644
--- a/src/roadmaps/angular/content/107-routing/105-lazy-loading.md
+++ b/src/roadmaps/angular/content/107-routing/105-lazy-loading.md
@@ -2,5 +2,7 @@
Lazy loading is a technique in Angular that allows you to load JavaScript components asynchronously when a specific route is activated. It improves the application load time speed by splitting the application into several bundles. The bundles are loaded as required when the user navigates through the app.
+Visit the following resources to learn more:
+
- [What is Lazy loading ? - Angular.io ](https://angular.io/guide/lazy-loading-ngmodules)
- [Angular Tutorial - Lazy Loading](https://www.youtube.com/watch?v=JjIQq9lh-Bw)
diff --git a/src/roadmaps/angular/content/107-routing/index.md b/src/roadmaps/angular/content/107-routing/index.md
index bc7f904e0..26dd3a4dd 100644
--- a/src/roadmaps/angular/content/107-routing/index.md
+++ b/src/roadmaps/angular/content/107-routing/index.md
@@ -2,6 +2,8 @@
Routing in Angular allows the users to create a single-page application with multiple views and navigation between them. Users can switch between these views without losing the application state and properties.
+Visit the following resources to learn more:
+
- [What is Routing ? - Geeksforgeeks ](https://www.geeksforgeeks.org/routing-in-angular-9-10/)
- [Explanation of Routing ? - Angular.io ](https://angular.io/guide/router)
- [Angular Tutorial - Routing and Navigation](https://www.youtube.com/watch?v=Nehk4tBxD4o)
diff --git a/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md b/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md
index b9cb423e6..82644739d 100644
--- a/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md
+++ b/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md
@@ -2,6 +2,8 @@
Dependency Injection (DI) is a design pattern that creates the dependencies of a class and provides those objects to the class when required. Angular being a nice framework, provides a built-in dependency injection mechanism that creates and provides a runtime version of a dependency value using dependency injectors.
+Visit the following resources to learn more:
+
- [What is Dependency Injection ? - angular.io ](https://angular.io/guide/dependency-injection)
- [Introduction of Dependency injection](https://www.youtube.com/watch?v=OFPIGlxunL0)
diff --git a/src/roadmaps/angular/content/108-services-remote-data/index.md b/src/roadmaps/angular/content/108-services-remote-data/index.md
index 7eb8fcca4..6ed4d6732 100644
--- a/src/roadmaps/angular/content/108-services-remote-data/index.md
+++ b/src/roadmaps/angular/content/108-services-remote-data/index.md
@@ -2,5 +2,7 @@
Components shouldn't fetch or save data directly and shouldn't knowingly present fake data. They should focus on presenting data and delegate data access to a service. Service is where all the remote API calls exist to retrieve and provide data to components.
+Visit the following resources to learn more:
+
- [Adding Services in Angular](https://angular.io/tutorial/toh-pt4)
- [Get Data from Server](https://angular.io/tutorial/toh-pt6)
diff --git a/src/roadmaps/angular/content/109-lifecycle-hooks.md b/src/roadmaps/angular/content/109-lifecycle-hooks.md
index c3045ad28..cb066e087 100644
--- a/src/roadmaps/angular/content/109-lifecycle-hooks.md
+++ b/src/roadmaps/angular/content/109-lifecycle-hooks.md
@@ -8,5 +8,7 @@ The following life cycle hooks of angular are :
`OnChanges` , `OnInit` , `DoCheck` , `OnDestroy` , `AfterContentInit` , `AfterContentChecked` , `AfterViewInit` , `AfterViewChecked`
+Visit the following resources to learn more:
+
- [What is Life Cycle Hooks? - Angular.io ](https://angular.io/guide/lifecycle-hooks)
- [The life cycle hooks of angular - Blog ](https://blog.logrocket.com/angular-lifecycle-hooks/)
diff --git a/src/roadmaps/angular/content/110-state-management/100-ngxs.md b/src/roadmaps/angular/content/110-state-management/100-ngxs.md
index cbbaa3826..cd24fce7b 100644
--- a/src/roadmaps/angular/content/110-state-management/100-ngxs.md
+++ b/src/roadmaps/angular/content/110-state-management/100-ngxs.md
@@ -2,6 +2,8 @@
Ngxs is a state management pattern for the Angular framework. It acts as a single source of truth for our application. Ngxs is very simple and easily implementable. It reduce lots of boilerplate code . It is a replacement for Ngrx. In Ngrx we are creating state, action, reducer, and effects but in Ngxs, we are creating only state and actions instead of all of this. Like Ngrx, Ngxs is also asynchronous and when we dispatch any action we can get a response back.
+Visit the following resources to learn more:
+
- [What is NGXS ? - Ngxs.io ](https://www.ngxs.io/)
- [Details about NGXS - Medium ](https://medium.com/@knoldus/introduction-to-ngxs-state-management-pattern-library-for-angular-ec76f681ceba)
- [Practise of NGXS](https://www.youtube.com/watch?v=SGj11j4hxmg)
diff --git a/src/roadmaps/angular/content/110-state-management/101-ngrx.md b/src/roadmaps/angular/content/110-state-management/101-ngrx.md
index 7d2ffb57a..5145d1ff5 100644
--- a/src/roadmaps/angular/content/110-state-management/101-ngrx.md
+++ b/src/roadmaps/angular/content/110-state-management/101-ngrx.md
@@ -1,6 +1,8 @@
# Ngrx
Ngrx is a group of Angular libraries for reactive extensions that implements the Redux pattern and it’s supercharged with RXJS.
+Visit the following resources to learn more:
+
- [What is NGRX ? - ngrx.io ](https://ngrx.io/)
- [Details about NGRX - Medium ](https://ahmedrebai.medium.com/introduction-to-state-management-with-ngrx-and-angular-91f4ff27ec9f)
- [Practise of NGRX](https://www.youtube.com/watch?v=f97ICOaekNU)
diff --git a/src/roadmaps/angular/content/110-state-management/index.md b/src/roadmaps/angular/content/110-state-management/index.md
index 1bb6d0f83..a0d2e6eec 100644
--- a/src/roadmaps/angular/content/110-state-management/index.md
+++ b/src/roadmaps/angular/content/110-state-management/index.md
@@ -2,6 +2,8 @@
Application state management is the process of maintaining knowledge of an application's inputs across multiple related data flows that form a complete business transaction -- or a session -- to understand the condition of the app at any given moment. In computer science, an input is information put into the program by the user and state refers to the condition of an application according to its stored inputs -- saved as variables or constants. State can also be described as the collection of preserved information that forms a complete session.
+Visit the following resources to learn more:
+
- [What is State Management?](https://www.techtarget.com/searchapparchitecture/definition/state-management)
- [ Angular state management made simple with NgRx](https://blog.logrocket.com/angular-state-management-made-simple-with-ngrx/)
- [Angular State Management with NgRx](https://www.syncfusion.com/blogs/post/angular-state-management-with-ngrx.aspx)
diff --git a/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md b/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md
index 3aa1303c7..e22a61d69 100644
--- a/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md
+++ b/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md
@@ -4,5 +4,7 @@ Directives are the functions that will execute whenever the Angular compiler fin
From the core concept, Angular directives are categorized into three categories: Attribute Directives, Structural Directives, and Component Directives.
+Visit the following resources to learn more:
+
- [Create a custom directive - Freecodecamp](https://www.freecodecamp.org/news/angular-directives-learn-how-to-use-or-create-custom-directives-in-angular-c9b133c24442/)
- [Create a custom directive video for Beginners](https://www.youtube.com/watch?v=AoN56g6UAsE)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md b/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md
index b8d7e752c..a449f22ee 100644
--- a/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md
+++ b/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md
@@ -2,5 +2,7 @@
Pipes to transform strings, currency amounts, dates, and other data for display. Pipes are simple functions in template expressions to accept an input value and return a transformed value. Pipes are helpful because you can use them throughout your application while only declaring each pipe once. For example, you would use a pipe to show the date as April 15, 1988, rather than the raw string format.
+Visit the following resources to learn more:
+
- [Create a custom pipe - angular.io](https://angular.io/guide/pipes-custom-data-trans)
- [Create a custom pipe video for Beginners](https://www.youtube.com/watch?v=P2587FN4Y0w)
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md b/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md
index a0b309fca..e1288e5cc 100644
--- a/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md
+++ b/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md
@@ -2,4 +2,6 @@
Use the Angular CLI and the npm package manager to build and publish your library as an npm package.
+Visit the following resources to learn more:
+
- [Angular Website](https://angular.io/guide/creating-libraries)
diff --git a/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md b/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md
index 8ee7c92f9..c9646096e 100644
--- a/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md
+++ b/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md
@@ -2,5 +2,7 @@
Angular Universal also known as server-side rendering is tool which allows server to pre-render Angular application while user hits your website for first time.
+Visit the following resources to learn more:
+
- [Angular Website](https://angular.io/guide/universal)
- [Github Repository](https://github.com/angular/universal)
diff --git a/src/roadmaps/angular/content/113-angular-ssr/index.md b/src/roadmaps/angular/content/113-angular-ssr/index.md
index fd9552d6c..d3368eaa2 100644
--- a/src/roadmaps/angular/content/113-angular-ssr/index.md
+++ b/src/roadmaps/angular/content/113-angular-ssr/index.md
@@ -2,5 +2,7 @@
A normal Angular application executes in the browser, rendering pages in the DOM in response to user actions. Angular Universal executes on the server, generating static application pages that later get bootstrapped on the client. This means that the application generally renders more quickly, giving users a chance to view the application layout before it becomes fully interactive.
+Visit the following resources to learn more:
+
- [Angular Universal](https://angular.io/guide/universal)
- [Rendering on the Web](https://web.dev/rendering-on-the-web/)
diff --git a/src/roadmaps/angular/content/114-angular-ssg/100-scully.md b/src/roadmaps/angular/content/114-angular-ssg/100-scully.md
index 18937495a..9559705e1 100644
--- a/src/roadmaps/angular/content/114-angular-ssg/100-scully.md
+++ b/src/roadmaps/angular/content/114-angular-ssg/100-scully.md
@@ -2,5 +2,7 @@
Scully is the best static site generator for Angular projects looking to embrace the Jamstack. It will use your application and will create a static index. html for each of your pages/routes.
+Visit the following resources to learn more:
+
- [Scully Website](https://scully.io/)
- [Github Repository](https://github.com/scullyio/scully)
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md b/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md
index fa42a4d56..27efbff5b 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md
@@ -2,5 +2,7 @@
An Angular Pipe is a special function that is called from a Component template. Its purpose is to transform a value: You pass a value to the Pipe, the Pipe computes a new value and returns it.
+Visit the following resources to learn more:
+
- [Angular.io Website](https://angular.io/guide/testing-pipes)
- [Testing-Angular.com](https://testing-angular.com/testing-pipes/)
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md b/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md
index f11b1a364..72adf22c1 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md
@@ -2,5 +2,7 @@
In an Angular application, Services are responsible for fetching, storing and processing data. Services are singletons, meaning there is only one instance of a Service during runtime. They are fit for central data storage, HTTP and WebSocket communication as well as data validation.
+Visit the following resources to learn more:
+
- [Angular.io Website](https://angular.io/guide/testing-services)
- [Testing-Angular.com](https://testing-angular.com/testing-services/)
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md b/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md
index 8401ac1f8..a21de0a4f 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md
@@ -2,4 +2,6 @@
Angular processes all data bindings once for each JavaScript event cycle, from the root of the application component tree through all child components. Data binding plays an important role in communication between a template and its component, and is also important for communication between parent and child components.
+Visit the following resources to learn more:
+
- [Angular.io Website](https://angular.io/guide/architecture-components#:~:text=Angular%20processes%20all%20data%20bindings,between%20parent%20and%20child%20components.)
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md b/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md
index 0632bbcf9..6771f0cdd 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md
@@ -2,5 +2,7 @@
Directives are classes that add new behavior or modify the existing behavior to the elements in the template. Basically directives are used to manipulate the DOM, for example adding/removing the element from DOM or changing the appearance of the DOM elements.
+Visit the following resources to learn more:
+
- [Angular.io Website](https://angular.io/guide/testing-attribute-directives)
- [tesing-angular Website](https://testing-angular.com/testing-directives/)
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md b/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md
index bd4031303..4387259f2 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md
@@ -2,4 +2,6 @@
With a component template , you can save and reuse component processes and properties and create components from them; template-based components inherit the template's properties and process.
+Visit the following resources to learn more:
+
- [Angular.io Website](https://angular.io/guide/architecture-components)
diff --git a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md
index 4e29c8fb2..75e74b9bb 100644
--- a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md
+++ b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md
@@ -2,5 +2,7 @@
C# is a modern coding language that was developed by Microsoft that focuses on applying the coding style to C++ and making it so that way it's more condensed and simple. It's similar to Java by both being static, strong, and manifestive languages. Both use the System's prebuilt class to do certain features like printing output to the screen, etc.C#, like Java, also contains a garbage collection, which removes lower-level maintenance code from the programmer.
+Visit the following resources to learn more:
+
- [C# official website?](https://learn.microsoft.com/en-us/dotnet/csharp//)
- [The Beginners Guide to C#](https://www.w3schools.com/CS/index.php)
diff --git a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md
index a9dc4b655..aecdd05ef 100644
--- a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md
+++ b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md
@@ -2,5 +2,7 @@
.NET CLI is the command-line interface (CLI) for the .NET platform. It is a tool that provides a common interface for running .NET Core command-line tools and utilities. .NET Core is a cross-platform, open-source, and modular version of the .NET framework, and the .NET CLI provides a way to interact with it from the command line.
+Visit the following resources to learn more:
+
- [Microsoft - .NET CLI overview](https://learn.microsoft.com/en-us/dotnet/core/tools/)
- [Intro To The .NET CLI](https://youtu.be/RQLzp2Z8-BE)
\ No newline at end of file
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md
index 67d86312a..f1dacfec5 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md
@@ -2,6 +2,8 @@
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
+Visit the following resources to learn more:
+
- [Learn Git on the command line](https://github.com/jlord/git-it-electron)
- [Version Control System Introduction](https://www.youtube.com/watch?v=zbKdDsNNOhg)
- [Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md
index 0ae7a7016..31f388d58 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md
@@ -2,6 +2,8 @@
There are different repository hosting services with the most famous one being GitHub, GitLab and BitBucket. I would recommend creating an account on GitHub because that is where most of the OpenSource work is done and most of the developers are.
+Visit the following resources to learn more:
+
- [GitHub: Where the world builds software](https://github.com)
- [GitLab: Iterate faster, innovate together](https://gitlab.com)
- [BitBucket: The Git solution for professional teams](https://bitbucket.com)
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md
index 3acd080dd..8b29a4478 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md
@@ -8,6 +8,8 @@ HTTPS (**H**ypertext **T**ransfer **P**rotocol **S**ecure) is the secure version
`HTTPS = HTTP + SSL/TLS`
+Visit the following resources to learn more:
+
- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/)
- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- [Journey to HTTP/2](https://kamranahmed.info/blog/2016/08/13/http-in-depth)
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md
index 53404652a..4522b40bc 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md
@@ -2,6 +2,8 @@
As the name indicates, a **Data Structure** is a way of organizing the data in the **memory** so it can be used efficiently. Some common data structures are array, linked list, stack, hashtable, queue, tree, heap, and graph.
+Visit the following resources to learn more:
+
- [What are Data Structures?](https://www.geeksforgeeks.org/data-structures)
- [ Data Structures and Algorithms](https://www.javatpoint.com/data-structure-tutorial)
- [Data Structures Illustrated](https://www.youtube.com/watch?v=9rhT3P1MDHk&list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY)
diff --git a/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md b/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md
index 59e905b73..9328249df 100644
--- a/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md
+++ b/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md
@@ -2,4 +2,6 @@
A stored procedure is a pre-compiled collection of SQL statements that can be executed on a database server. Stored procedures are typically used to perform specific tasks, such as retrieving data from a database, inserting or updating data, or performing complex calculations. They are stored on the database server and can be called or executed from a client application or other stored procedures. Stored procedures can improve database performance by reducing the amount of SQL code needed to be executed and allowing developers to reuse common pieces of code. They can also provide security by allowing database administrators to control which users have access to specific stored procedures.
+Visit the following resources to learn more:
+
- [Stored Procedure Tutorial](https://www.w3schools.com/sql/sql_stored_procedures.asp)
diff --git a/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md b/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md
index 5d601d583..57f9e40df 100644
--- a/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md
+++ b/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md
@@ -2,4 +2,6 @@
Database constraints are rules that are used to limit the data that can be stored in a database table. These constraints can be used to ensure the integrity and accuracy of the data in the table, and they can be used to enforce business rules or other requirements. For example, a constraint might be used to ensure that a column only contains positive numbers, or to ensure that a column always has a unique value. Constraints can be specified at the time a table is created, or they can be added to an existing table. Some common types of constraints include primary keys, foreign keys, and NOT NULL constraints.
+Visit the following resources to learn more:
+
- [SQL Constraints](https://www.w3schools.com/sql/sql_constraints.asp)
diff --git a/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md b/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md
index c4965d02c..588147027 100644
--- a/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md
+++ b/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md
@@ -6,4 +6,6 @@ MVC is an architectural design pattern used for developing applications, specifi
- **View** - Handles UI part of the applications (data presentation).
- **Controller** - Handles request flow, and acts as an intermediary between view and model.
+Visit the following resources to learn more:
+
- [MVC Official Documentation](https://learn.microsoft.com/en-us/aspnet/core/mvc/overview?WT.mc_id=dotnet-35129-website&view=aspnetcore-7.0)
diff --git a/src/roadmaps/aspnet-core/content/104-orm/index.md b/src/roadmaps/aspnet-core/content/104-orm/index.md
index 308ff891e..1f43f0936 100644
--- a/src/roadmaps/aspnet-core/content/104-orm/index.md
+++ b/src/roadmaps/aspnet-core/content/104-orm/index.md
@@ -2,4 +2,6 @@
ORM stands for Object-Relational Mapping, and it is a technique that allows a developer to work with a database using objects. It is a way of abstracting the database so that the developer can think in terms of objects, rather than tables and SQL queries. This can make it easier to write and maintain code, as well as improve the performance of the application.
+Visit the following resources to learn more:
+
- [ORM (Object Relational Mapping)](https://www.telerik.com/blogs/dotnet-basics-orm-object-relational-mapping)
diff --git a/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md b/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md
index d9173bd7a..e963aa790 100644
--- a/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md
+++ b/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md
@@ -4,6 +4,8 @@ Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) contain
The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues.
+Visit the following resources to learn more:
+
- [Kubernetes Website](https://kubernetes.io/)
- [Kubernetes Documentation](https://kubernetes.io/docs/home/)
- [Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4)
diff --git a/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md b/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md
index 76421bc2d..3460fc59c 100644
--- a/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md
+++ b/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md
@@ -2,6 +2,8 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
+Visit the following resources to learn more:
+
- [The Internet Explained](https://www.vox.com/2014/6/16/18076282/the-internet)
- [How Does the Internet Work?](http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm)
- [Introduction to Internet](/guides/what-is-internet)
diff --git a/src/roadmaps/backend/content/100-internet/101-what-is-http.md b/src/roadmaps/backend/content/100-internet/101-what-is-http.md
index 74a38a794..16a888133 100644
--- a/src/roadmaps/backend/content/100-internet/101-what-is-http.md
+++ b/src/roadmaps/backend/content/100-internet/101-what-is-http.md
@@ -2,6 +2,8 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
+Visit the following resources to learn more:
+
- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/)
- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- [Journey to HTTP/2](https://kamranahmed.info/blog/2016/08/13/http-in-depth)
diff --git a/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md b/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md
index 95e7813b9..d013e25f7 100644
--- a/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md
+++ b/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md
@@ -2,6 +2,8 @@
A web browser is a software application that enables a user to access and display web pages or other online content through its graphical user interface.
+Visit the following resources to learn more:
+
- [How Browsers Work](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/)
- [Role of Rendering Engine in Browsers](https://www.browserstack.com/guide/browser-rendering-engine)
- [Populating the Page: How Browsers Work](https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work)
diff --git a/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md b/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md
index 8f174dc84..4f80f3ae8 100644
--- a/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md
+++ b/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md
@@ -2,6 +2,8 @@
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
+Visit the following resources to learn more:
+
- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
- [How DNS works (comic)](https://howdns.works/)
- [DNS and How does it Work?](https://www.youtube.com/watch?v=Wj0od2ag5sk)
diff --git a/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md b/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md
index f1cbe7f5d..2f2a13628 100644
--- a/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md
+++ b/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md
@@ -2,6 +2,8 @@
A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the DNS system.
+Visit the following resources to learn more:
+
- [What is a Domain Name?](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name)
- [What is a Domain Name? | Domain name vs. URL](https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name/)
- [A Beginners Guide to How Domain Names Work](https://www.youtube.com/watch?v=Y4cRx19nhJk)
diff --git a/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md b/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md
index a36020ba3..e3d2b32e1 100644
--- a/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md
+++ b/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md
@@ -2,6 +2,8 @@
Web hosting is an online service that allows you to publish your website files onto the internet. So, anyone who has access to the internet has access to your website.
+Visit the following resources to learn more:
+
- [What Is Web Hosting? Explained](https://www.youtube.com/watch?v=htbY9-yggB0)
- [Different Types of Web Hosting Explained](https://www.youtube.com/watch?v=AXVZYzw8geg)
- [Where to Host a Fullstack Project on a Budget](https://www.youtube.com/watch?v=Kx_1NYYJS7Q)
diff --git a/src/roadmaps/backend/content/100-internet/index.md b/src/roadmaps/backend/content/100-internet/index.md
index d00185703..c687e6423 100644
--- a/src/roadmaps/backend/content/100-internet/index.md
+++ b/src/roadmaps/backend/content/100-internet/index.md
@@ -2,6 +2,8 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
+Visit the following resources to learn more:
+
- [The Internet Explained](https://www.vox.com/2014/6/16/18076282/the-internet)
- [How Does the Internet Work?](http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm)
- [Introduction to Internet](/guides/what-is-internet)
diff --git a/src/roadmaps/backend/content/101-basic-frontend/100-html.md b/src/roadmaps/backend/content/101-basic-frontend/100-html.md
index 7a2d066e5..6b285ff8d 100644
--- a/src/roadmaps/backend/content/101-basic-frontend/100-html.md
+++ b/src/roadmaps/backend/content/101-basic-frontend/100-html.md
@@ -2,6 +2,8 @@
HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript.
+Visit the following resources to learn more:
+
- [W3Schools: Learn HTML](https://www.w3schools.com/html/html_intro.asp)
- [Codecademy - Learn HTML](https://www.codecademy.com/learn/learn-html)
- [Interactive HTML Course](https://github.com/denysdovhan/learnyouhtml)
diff --git a/src/roadmaps/backend/content/101-basic-frontend/101-css.md b/src/roadmaps/backend/content/101-basic-frontend/101-css.md
index 1eef55ec4..a89c32dfb 100644
--- a/src/roadmaps/backend/content/101-basic-frontend/101-css.md
+++ b/src/roadmaps/backend/content/101-basic-frontend/101-css.md
@@ -2,6 +2,8 @@
CSS or Cascading Style Sheets is the language used to style the frontend of any website. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.
+Visit the following resources to learn more:
+
- [W3Schools — Learn CSS](https://www.w3schools.com/css/)
- [freeCodeCamp — Responsive Web Design](https://www.freecodecamp.org/learn/2022/responsive-web-design)
- [Learn to Code HTML & CSS](https://learn.shayhowe.com/html-css/building-your-first-web-page/)
diff --git a/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md b/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md
index ed94eb9b6..ce47b782d 100644
--- a/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md
+++ b/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md
@@ -8,6 +8,8 @@
JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on.
+Visit the following resources to learn more:
+
- [Visit Dedicated JavaScript Roadmap](/javascript)
- [W3Schools – JavaScript Tutorial](https://www.w3schools.com/js/)
- [The Modern JavaScript Tutorial](https://javascript.info/)
diff --git a/src/roadmaps/backend/content/101-basic-frontend/index.md b/src/roadmaps/backend/content/101-basic-frontend/index.md
index 9d3ad2fd0..5b06bc187 100644
--- a/src/roadmaps/backend/content/101-basic-frontend/index.md
+++ b/src/roadmaps/backend/content/101-basic-frontend/index.md
@@ -2,6 +2,8 @@
As a backend developer, you may not need to have proficient knowledge of the frontend stack but you should at least have some basic understanding of HTML, CSS and JavaScript.
+Visit the following resources to learn more:
+
- [W3Schools: Learn HTML](https://www.w3schools.com/html/html_intro.asp)
- [W3Schools: Learn CSS](https://www.w3schools.com/css/)
- [W3Schools: JavaScript Tutorial](https://www.w3schools.com/js/)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md b/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md
index 944421c94..b25f8331e 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md
@@ -2,5 +2,7 @@
Terminals, also known as command lines or consoles, allow us to accomplish and automate tasks on a computer without the use of a graphical user interface.
+Visit the following resources to learn more:
+
- [Command line crash course](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line)
- [Basic Terminal Usage - Cheat Sheet to make the command line EASY](https://www.youtube.com/watch?v=jDINUSK7rXE)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md b/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md
index 04c85f4ba..fefa6bbbf 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md
@@ -2,6 +2,8 @@
An operating system is a main program on computer, that governs all other applications. It allows you to use browsers, play games, print documents, launch your favorite program.
+Visit the following resources to learn more:
+
- [Operating System - Overview](https://www.tutorialspoint.com/operating_system/os_overview.htm)
- [Operating System Concepts](https://codex.cs.yale.edu/avi/os-book/OS10/index.html)
- [Operating System Basics ](https://www.youtube.com/watch?v=9GDX-IyZ_C8)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md b/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md
index f41ecba34..696133a57 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md
@@ -2,5 +2,7 @@
Process management involves various tasks like creation, scheduling, termination of processes, and a deadlock. Process is a program that is under execution, which is an important part of modern-day operating systems. The OS must allocate resources that enable processes to share and exchange information. It also protects the resources of each process from other methods and allows synchronization among processes.
+Visit the following resources to learn more:
+
- [Operating System: Process and Process Management](https://medium.com/@akhandmishra/operating-system-process-and-process-management-108d83e8ce60)
- [Process Management in OS: PCB in Operating System](https://www.guru99.com/process-management-pcb.html)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md b/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md
index 63b1cc95d..efd999d53 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md
@@ -4,6 +4,8 @@ A thread is the smallest unit of processing that can be performed in an OS. In m
Concurrency refers to the execution of multiple threads at the same time. It occurs in an operating system when multiple process threads are executing concurrently. These threads can interact with one another via shared memory or message passing. Concurrency results in resource sharing, which causes issues like deadlocks and resource scarcity. It aids with techniques such as process coordination, memory allocation, and execution schedule to maximize throughput.
+Visit the following resources to learn more:
+
- [What’s the Diff: Programs, Processes and Threads](https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/)
- [Concurrency in Operating System](https://www.javatpoint.com/concurrency-in-operating-system)
- [Intro to Processes & Threads](https://www.youtube.com/watch?v=exbKr6fnoUw)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md b/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md
index fdc8a234c..51a5a6878 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md
@@ -8,6 +8,8 @@ To understand these commands, read through the manual pages by using `man` comma
After enough exposure and practice to these commands, it will become easier to use these in practice
+Visit the following resources to learn more:
+
- [40 Basic Linux Commands](https://www.hostinger.com/tutorials/linux-commands)
- [A collection of modern/faster/saner alternatives to common unix commands](https://github.com/ibraheemdev/modern-unix)
- [Command Line Tutorial](https://www.learnenough.com/command-line-tutorial)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md b/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md
index e4dd68653..e488751ec 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md
@@ -4,5 +4,7 @@ The term Memory can be defined as a collection of data in a specific format. It
To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation.
+Visit the following resources to learn more:
+
- [Demystifying memory management in modern programming languages](https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd)
- [Memory Management in Operating System](https://www.geeksforgeeks.org/memory-management-in-operating-system/)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md b/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md
index afd06f0b6..7bc4682eb 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md
@@ -2,5 +2,7 @@
Interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data
+Visit the following resources to learn more:
+
- [Interprocess Communication](https://www.geeksforgeeks.org/inter-process-communication-ipc/)
- [Interprocess Communication - Neso Academy](https://www.youtube.com/watch?v=dJuYKfR8vec)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md b/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md
index f2bcd3c80..f87ac2f68 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md
@@ -2,6 +2,8 @@
One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc.
+Visit the following resources to learn more:
+
- [Operating System - I/O Hardware](https://www.tutorialspoint.com/operating_system/os_io_hardware.htm)
- [IO Management](https://www.omscs-notes.com/operating-systems/io-management/)
- [Basics of OS (I/O Structure)](https://www.youtube.com/watch?v=F18RiREDkwE)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md b/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md
index 1a78c775a..55805e37a 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md
@@ -8,6 +8,8 @@ So, in this case, when we want to interact with any of these streams (through a
POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions.
+Visit the following resources to learn more:
+
- [POSIX standard by IEEE](https://pubs.opengroup.org/onlinepubs/9699919799/)
- [Summary of some POSIX implementations](https://unix.stackexchange.com/a/220877)
- [A guide to POSIX](https://www.baeldung.com/linux/posix)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md b/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md
index 0c143ba42..2861a71f2 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md
@@ -2,4 +2,6 @@
Computer networking refers to interconnected computing devices that can exchange data and share resources with each other. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies.
+Visit the following resources to learn more:
+
- [What is Computer Networking?](https://aws.amazon.com/what-is/computer-networking/)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/index.md b/src/roadmaps/backend/content/102-os-general-knowledge/index.md
index 66842cc27..a74310af5 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/index.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/index.md
@@ -2,6 +2,8 @@
Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
+Visit the following resources to learn more:
+
- [What is an operating system?](https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/)
- [Operating System summary](https://www.guru99.com/os-tutorial.html)
- [Operating Systems: Crash Course Computer Science #18](https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/100-go.md b/src/roadmaps/backend/content/103-learn-a-language/100-go.md
index b70d044aa..d4ade012a 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/100-go.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/100-go.md
@@ -9,6 +9,8 @@
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
+Visit the following resources to learn more:
+
- [Visit Dedicated Go Roadmap](/golang)
- [A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [Go Reference Documentation](https://go.dev/doc/)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/101-rust.md b/src/roadmaps/backend/content/103-learn-a-language/101-rust.md
index 5c26cbc59..c58a0d470 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/101-rust.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/101-rust.md
@@ -2,6 +2,8 @@
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
+Visit the following resources to learn more:
+
- [The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
- [Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
- [Rust vs. Go: Why They’re Better Together](https://thenewstack.io/rust-vs-go-why-theyre-better-together/)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/102-java.md b/src/roadmaps/backend/content/103-learn-a-language/102-java.md
index ccda6f537..3f2bbeb70 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/102-java.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/102-java.md
@@ -9,6 +9,8 @@
Java is general-purpose language, primarily used for Internet-based applications.
It was created in 1995 by James Gosling at Sun Microsystems and is one of the most popular options for backend developers.
+Visit the following resources to learn more:
+
- [Visit Dedicated Java Roadmap](/java)
- [Java Website](https://www.java.com/)
- [Codeacademy - Free Course](https://www.codecademy.com/learn/learn-java)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md b/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md
index efb320045..efcebbb9b 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md
@@ -1,6 +1,8 @@
# C#
C# (pronounced "C sharp") is a general purpose programming language made by Microsoft. It is used to perform different tasks and can be used to create web apps, games, mobile apps, etc.
+Visit the following resources to learn more:
+
- [C# Learning Path](https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/?WT.mc_id=dotnet-35129-website)
- [C# on W3 schools](https://www.w3schools.com/cs/index.php)
- [Introduction to C#](https://docs.microsoft.com/en-us/shows/CSharp-101/?WT.mc_id=Educationalcsharp-c9-scottha)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/103-php.md b/src/roadmaps/backend/content/103-learn-a-language/103-php.md
index 10e61b2e6..7ab7950d5 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/103-php.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/103-php.md
@@ -2,6 +2,8 @@
PHP is a general purpose scripting language often used for making dynamic and interactive Web pages. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994. The PHP reference implementation is now produced by The PHP Group and supported by PHP Foundation. PHP supports procedural and object-oriented styles of programming with some elements of functional programming as well.
+Visit the following resources to learn more:
+
- [PHP Website](https://php.org/)
- [Learn PHP - W3Schools](https://www.w3schools.com/php/)
- [PHP - The Right Way](https://phptherightway.com/)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md b/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md
index 1b2133d76..b9cce545a 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md
@@ -10,6 +10,8 @@ Apart from being used in the browser, JavaScript is also used in backend e.g. us
If you pick up JavaScript for the Backend, my personal recommendation would be to learn [JavaScript](/javascript) and then go with [Node.js](/nodejs) as it is the most popular and widely used option. Also, I would recommend learning TypeScript later on as you continue with your backend development Journey; it's a superset of JavaScript and is used in many projects.
+Visit the following resources to learn more:
+
- [Visit Dedicated JavaScript Roadmap](/javascript)
- [W3Schools – JavaScript Tutorial](https://www.w3schools.com/js/)
- [The Modern JavaScript Tutorial](https://javascript.info/)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/106-python.md b/src/roadmaps/backend/content/103-learn-a-language/106-python.md
index 68cca56e2..821f784ed 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/106-python.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/106-python.md
@@ -8,6 +8,8 @@
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
+Visit the following resources to learn more:
+
- [Visit Dedicated Python Roadmap](/python)
- [Python Website](https://www.python.org/)
- [Python Getting Started](https://www.python.org/about/gettingstarted/)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md b/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md
index 318a3bf88..8d84354d4 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md
@@ -2,6 +2,8 @@
Ruby is a high-level, interpreted programming language that blends Perl, Smalltalk, Eiffel, Ada, and Lisp. Ruby focuses on simplicity and productivity along with a syntax that reads and writes naturally. Ruby supports procedural, object-oriented and functional programming and is dynamically typed.
+Visit the following resources to learn more:
+
- [Ruby Website](https://www.ruby-lang.org/en/)
- [Learn Ruby in 20 minutes](https://www.ruby-lang.org/en/documentation/quickstart/)
- [Learn Ruby | Codecademy](https://www.codecademy.com/learn/learn-ruby)
diff --git a/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md b/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md
index f4740d760..ea66038b6 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md
@@ -2,5 +2,7 @@
C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible.
+Visit the following resources to learn more:
+
- [Learn Cpp](https://learncpp.com/)
- [C++ Reference](https://en.cppreference.com/)
diff --git a/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md b/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md
index 67d86312a..f1dacfec5 100644
--- a/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md
+++ b/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md
@@ -2,6 +2,8 @@
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
+Visit the following resources to learn more:
+
- [Learn Git on the command line](https://github.com/jlord/git-it-electron)
- [Version Control System Introduction](https://www.youtube.com/watch?v=zbKdDsNNOhg)
- [Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
diff --git a/src/roadmaps/backend/content/104-version-control-systems/index.md b/src/roadmaps/backend/content/104-version-control-systems/index.md
index 5f485f1b0..5303ea3aa 100644
--- a/src/roadmaps/backend/content/104-version-control-systems/index.md
+++ b/src/roadmaps/backend/content/104-version-control-systems/index.md
@@ -3,5 +3,7 @@
Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code changes were made.
+Visit the following resources to learn more:
+
- [Git](https://git-scm.com/)
- [What is Version Control?](https://www.atlassian.com/git/tutorials/what-is-version-control)
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md b/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md
index f4e56c6ac..38daf0d9f 100644
--- a/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md
@@ -2,6 +2,8 @@
GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
+Visit the following resources to learn more:
+
- [GitHub Website](https://github.com)
- [GitHub Documentation](https://docs.github.com/en/get-started/quickstart)
- [How to Use Git in a Professional Dev Team](https://ooloo.io/project/github-flow)
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md b/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md
index 702145982..2421d64b6 100644
--- a/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md
@@ -2,5 +2,7 @@
GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
+Visit the following resources to learn more:
+
- [GitLab Website](https://gitlab.com/)
- [GitLab Documentation](https://docs.gitlab.com/)
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md b/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md
index e463af7dd..1d3151a61 100644
--- a/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md
@@ -4,6 +4,8 @@ Bitbucket is a Git based hosting and source code repository service that is Atla
Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers on-premise or cloud environment)
+Visit the following resources to learn more:
+
- [Bitbucket Website](https://bitbucket.org/product)
- [Getting started with Bitbucket](https://bitbucket.org/product/guides/basics/bitbucket-interface)
- [Using Git with Bitbucket Cloud](https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud)
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/index.md b/src/roadmaps/backend/content/105-repo-hosting-services/index.md
index 3469e1dc7..1878fee65 100644
--- a/src/roadmaps/backend/content/105-repo-hosting-services/index.md
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/index.md
@@ -2,6 +2,8 @@
When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit.
+Visit the following resources to learn more:
+
- [GitHub](https://github.com/features/)
- [GitLab](https://about.gitlab.com/)
- [BitBucket](https://bitbucket.org/product/guides/getting-started/overview)
diff --git a/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md b/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md
index 1ddb4ea56..6ae7080b0 100644
--- a/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md
+++ b/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md
@@ -8,6 +8,8 @@
PostgreSQL, also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.
+Visit the following resources to learn more:
+
- [Visit Dedicated PostgreSQL DBA Roadmap](/postgresql-dba)
- [Official Website](https://www.postgresql.org/)
- [What is PostgreSQL](https://www.geeksforgeeks.org/what-is-postgresql-introduction/)
diff --git a/src/roadmaps/backend/content/106-relational-databases/101-mysql.md b/src/roadmaps/backend/content/106-relational-databases/101-mysql.md
index 0309f77a5..836f4948f 100644
--- a/src/roadmaps/backend/content/106-relational-databases/101-mysql.md
+++ b/src/roadmaps/backend/content/106-relational-databases/101-mysql.md
@@ -2,6 +2,8 @@
MySQL is an incredibly popular open source relational database management system (RDBMS). MySQL can be used as a stand-alone client or in conjunction with other services to provide database connectivity. The **M** in LAMP stack stands for MySQL; that alone should provide an idea of its prevalence.
+Visit the following resources to learn more:
+
- [MySQL website](https://www.mysql.com/)
- [W3Schools - MySQL tutorial ](https://www.w3schools.com/mySQl/default.asp)
- [MySQL tutorial for beginners](https://www.youtube.com/watch?v=7S_tz1z_5bA)
diff --git a/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md b/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md
index 3de61bfa9..0e347c1a9 100644
--- a/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md
+++ b/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md
@@ -2,6 +2,8 @@
MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB was created with the intention of being a more versatile, drop-in replacement version of MySQL
+Visit the following resources to learn more:
+
- [MariaDB website](https://mariadb.org/)
- [MariaDB vs MySQL](https://www.guru99.com/mariadb-vs-mysql.html)
- [W3Schools - MariaDB tutorial ](https://www.w3schools.blog/mariadb-tutorial)
diff --git a/src/roadmaps/backend/content/106-relational-databases/103-mssql.md b/src/roadmaps/backend/content/106-relational-databases/103-mssql.md
index e9d707b25..253e29fe7 100644
--- a/src/roadmaps/backend/content/106-relational-databases/103-mssql.md
+++ b/src/roadmaps/backend/content/106-relational-databases/103-mssql.md
@@ -2,6 +2,8 @@
MS SQL (or Microsoft SQL Server) is the Microsoft developed relational database management system (RDBMS). MS SQL uses the T-SQL (Transact-SQL) query language to interact with the relational databases. There are many different versions and editions available of MS SQL
+Visit the following resources to learn more:
+
- [MS SQL website](https://www.microsoft.com/en-ca/sql-server/)
- [Tutorials for SQL Server](https://docs.microsoft.com/en-us/sql/sql-server/tutorials-for-sql-server-2016?view=sql-server-ver15)
- [SQL Server tutorial for beginners](https://www.youtube.com/watch?v=-EPMOaV7h_Q)
diff --git a/src/roadmaps/backend/content/106-relational-databases/104-oracle.md b/src/roadmaps/backend/content/106-relational-databases/104-oracle.md
index b96a54df8..a11b7f910 100644
--- a/src/roadmaps/backend/content/106-relational-databases/104-oracle.md
+++ b/src/roadmaps/backend/content/106-relational-databases/104-oracle.md
@@ -2,6 +2,8 @@
Oracle Database Server or sometimes called Oracle RDBMS or even simply Oracle is a world leading relational database management system produced by Oracle Corporation.
+Visit the following resources to learn more:
+
- [Official Website](https://www.oracle.com/database/)
- [Official Docs](https://docs.oracle.com/en/database/index.html)
- [Oracle SQL Tutorial for Beginners](https://www.youtube.com/watch?v=ObbNGhcxXJA)
diff --git a/src/roadmaps/backend/content/106-relational-databases/index.md b/src/roadmaps/backend/content/106-relational-databases/index.md
index 7fa06b992..08b5f45f8 100644
--- a/src/roadmaps/backend/content/106-relational-databases/index.md
+++ b/src/roadmaps/backend/content/106-relational-databases/index.md
@@ -2,6 +2,8 @@
A relational database is **a type of database that stores and provides access to data points that are related to one another**. Relational databases store data in a series of tables. Interconnections between the tables are specified as foreign keys. A foreign key is a unique reference from one row in a relational table to another row in a table, which can be the same table but is most commonly a different table.
+Visit the following resources to learn more:
+
- [Relational Databases](https://www.ibm.com/cloud/learn/relational-databases)
- [51 Years of Relational Databases](https://learnsql.com/blog/codd-article-databases/)
- [Databases and SQL](https://www.edx.org/course/databases-5-sql)
diff --git a/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md b/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md
index f11a11c86..2809b6aa5 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md
@@ -4,6 +4,8 @@
MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).
+Visit the following resources to learn more:
+
- [MongoDB Website](https://www.mongodb.com/)
- [MongoDB Documentation](https://docs.mongodb.com/)
- [MongoDB Online Sandbox](https://mongoplayground.net/)
diff --git a/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md b/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md
index ffc883dc6..a4aabbc93 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md
@@ -4,5 +4,7 @@ A **wide-column database** (sometimes referred to as a column database) i
**Warning:** note that a "columnar database" and a "column database" are two different terms!
+Visit the following resources to learn more:
+
- [Apache Cassandra](https://cassandra.apache.org/_/index.html)
- [Apache Cassandra Database - Full Course for Beginners](https://www.youtube.com/watch?v=J-cSy5MeMOA)
diff --git a/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md b/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md
index f6a264622..43eff4fef 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md
@@ -4,5 +4,7 @@
InfluxDB was built from the ground up to be a purpose-built time series database; i.e., it was not repurposed to be time series. Time was built-in from the beginning. InfluxDB is part of a comprehensive platform that supports the collection, storage, monitoring, visualization and alerting of time series data. It’s much more than just a time series database.
+Visit the following resources to learn more:
+
- [InfluxDB Website](https://www.influxdata.com/)
- [Time series database](https://www.influxdata.com/time-series-database/)
diff --git a/src/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md b/src/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md
index 14404961e..46fbb5abe 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md
@@ -6,4 +6,6 @@ KV databases are designed for fast and efficient storage and retrieval of data,
Some popular KV databases include Redis, Memcached, and LevelDB. These databases are often used in combination with other types of databases, such as relational databases or document databases, to provide a complete and scalable data storage solution.
+Visit the following resources to learn more:
+
- [Key-Value Databases - Wikipedia](https://en.wikipedia.org/wiki/Key-value_database)
diff --git a/src/roadmaps/backend/content/107-nosql-databases/index.md b/src/roadmaps/backend/content/107-nosql-databases/index.md
index afc89b539..0747acc55 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/index.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/index.md
@@ -3,6 +3,8 @@
NoSQL databases offer data storage and retrieval that is modelled differently to "traditional" relational databases. NoSQL databases typically focus more on horizontal scaling, eventual consistency, speed and flexibility and is used commonly for big data and real-time streaming applications.
NoSQL is often described as a BASE system (**B**asically **A**vailable, **S**oft state, **E**ventual consistency) as opposed to SQL/relational which typically focus on ACID (Atomicity, Consistency, Isolation, Durability). Common NoSQL data structures include key-value pair, wide column, graph and document.
+Visit the following resources to learn more:
+
- [NoSQL Explained](https://www.mongodb.com/nosql-explained)
- [How do NoSQL Databases work](https://www.youtube.com/watch?v=0buKQHokLK8)
- [SQL vs NoSQL Explained](https://www.youtube.com/watch?v=ruz-vK8IesE)
diff --git a/src/roadmaps/backend/content/108-more-about-databases/100-orms.md b/src/roadmaps/backend/content/108-more-about-databases/100-orms.md
index 8381dbd27..d5493a0fb 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/100-orms.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/100-orms.md
@@ -2,5 +2,7 @@
Object-Relational Mapping (ORM) is a technique that lets you query and manipulate data from a database using an object-oriented paradigm. When talking about ORM, most people are referring to a library that implements the Object-Relational Mapping technique, hence the phrase "an ORM".
+Visit the following resources to learn more:
+
- [Object Relational Mapping - Wikipedia](https://en.wikipedia.org/wiki/Object–relational_mapping)
- [What is an ORM and how should I use it?](https://stackoverflow.com/questions/1279613/what-is-an-orm-how-does-it-work-and-how-should-i-use-one)
diff --git a/src/roadmaps/backend/content/108-more-about-databases/101-acid.md b/src/roadmaps/backend/content/108-more-about-databases/101-acid.md
index 46f6ab9c6..a1c3bce3b 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/101-acid.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/101-acid.md
@@ -2,6 +2,8 @@
ACID are the four properties of any database system that help in making sure that we are able to perform the transactions in a reliable manner. It's an acronym which refers to the presence of four properties: atomicity, consistency, isolation and durability
+Visit the following resources to learn more:
+
- [What is ACID Compliant Database?](https://retool.com/blog/whats-an-acid-compliant-database/)
- [What is ACID Compliance?: Atomicity, Consistency, Isolation](https://fauna.com/blog/what-is-acid-compliance-atomicity-consistency-isolation)
- [ACID Explained: Atomic, Consistent, Isolated & Durable](https://www.youtube.com/watch?v=yaQ5YMWkxq4)
diff --git a/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md b/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md
index d101bc1c5..5faf3eaff 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md
@@ -2,4 +2,6 @@
In short, a database transaction is a sequence of multiple operations performed on a database, and all served as a single logical unit of work — taking place wholly or not at all. In other words, there's never a case where only half of the operations are performed and the results saved.
+Visit the following resources to learn more:
+
- [What are Transactions?](https://fauna.com/blog/database-transaction)
diff --git a/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md b/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md
index 098c4020c..02923f3b1 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md
@@ -2,4 +2,6 @@
The N+1 query problem happens when your code executes N additional query statements to fetch the same data that could have been retrieved when executing the primary query.
+Visit the following resources to learn more:
+
- [In Detail Explanation of N+1 Problem](https://medium.com/doctolib/understanding-and-fixing-n-1-query-30623109fe89)
diff --git a/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md b/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md
index 38017acf8..c5e753386 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md
@@ -4,6 +4,8 @@ Database normalization is the process of structuring a relational database in ac
Normalization entails organizing the columns (attributes) and tables (relations) of a database to ensure that their dependencies are properly enforced by database integrity constraints. It is accomplished by applying some formal rules either by a process of synthesis (creating a new database design) or decomposition (improving an existing database design).
+Visit the following resources to learn more:
+
- [What is Normalization in DBMS (SQL)? 1NF, 2NF, 3NF, BCNF Database with Example](https://www.guru99.com/database-normalization.html)
- [Database normalization](https://en.wikipedia.org/wiki/Database_normalization)
- [Basic Concept of Database Normalization](https://www.youtube.com/watch?v=xoTyrdT9SZI)
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/108-more-about-databases/index.md b/src/roadmaps/backend/content/108-more-about-databases/index.md
index b34512470..7141b8a0c 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/index.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/index.md
@@ -2,5 +2,7 @@
A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
+Visit the following resources to learn more:
+
- [Oracle: What is a Database?](https://www.oracle.com/database/what-is-database/)
- [Prisma.io: What are Databases?](https://www.prisma.io/dataguide/intro/what-are-databases)
diff --git a/src/roadmaps/backend/content/109-apis/100-rest.md b/src/roadmaps/backend/content/109-apis/100-rest.md
index bc0ac8514..8f0cf0834 100644
--- a/src/roadmaps/backend/content/109-apis/100-rest.md
+++ b/src/roadmaps/backend/content/109-apis/100-rest.md
@@ -2,6 +2,8 @@
REST, or REpresentational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other.
+Visit the following resources to learn more:
+
- [What is REST?](https://www.codecademy.com/article/what-is-rest)
- [What is a REST API?](https://www.redhat.com/en/topics/api/what-is-a-rest-api)
- [Roy Fieldings dissertation chapter, Representational State Transfer (REST)](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)
diff --git a/src/roadmaps/backend/content/109-apis/101-json-apis.md b/src/roadmaps/backend/content/109-apis/101-json-apis.md
index 2c154804c..5a1e6a965 100644
--- a/src/roadmaps/backend/content/109-apis/101-json-apis.md
+++ b/src/roadmaps/backend/content/109-apis/101-json-apis.md
@@ -2,6 +2,8 @@
JSON or JavaScript Object Notation is an encoding scheme that is designed to eliminate the need for an ad-hoc code for each application to communicate with servers that communicate in a defined way. JSON API module exposes an implementation for data stores and data structures, such as entity types, bundles, and fields.
+Visit the following resources to learn more:
+
- [Official Website](https://jsonapi.org/)
- [Official Docs](https://jsonapi.org/implementations/)
- [JSON API: Explained in 4 minutes ](https://www.youtube.com/watch?v=N-4prIh7t38)
diff --git a/src/roadmaps/backend/content/109-apis/102-soap.md b/src/roadmaps/backend/content/109-apis/102-soap.md
index 808047644..6c19071df 100644
--- a/src/roadmaps/backend/content/109-apis/102-soap.md
+++ b/src/roadmaps/backend/content/109-apis/102-soap.md
@@ -2,4 +2,6 @@
Simple Object Access Protocol (SOAP) is a message protocol for exchanging information between systems and applications. When it comes to application programming interfaces (APIs), a SOAP API is developed in a more structured and formalized way. SOAP messages can be carried over a variety of lower-level protocols, including the web-related Hypertext Transfer Protocol (HTTP).
+Visit the following resources to learn more:
+
- [w3school SOAP explanation](https://www.w3schools.com/xml/xml_soap.asp)
diff --git a/src/roadmaps/backend/content/109-apis/103-grpc.md b/src/roadmaps/backend/content/109-apis/103-grpc.md
index 60c27c626..e912ebada 100644
--- a/src/roadmaps/backend/content/109-apis/103-grpc.md
+++ b/src/roadmaps/backend/content/109-apis/103-grpc.md
@@ -4,5 +4,7 @@ gRPC is a high-performance, open source universal RPC framework
RPC stands for Remote Procedure Call, there's an ongoing debate on what the g stands for. RPC is a protocol that allows a program to execute a procedure of another program located on another computer. The great advantage is that the developer doesn’t need to code the details of the remote interaction. The remote procedure is called like any other function. But the client and the server can be coded in different languages.
+Visit the following resources to learn more:
+
- [gRPC Website](https://grpc.io/)
- [gRPC Docs](https://grpc.io/docs/)
diff --git a/src/roadmaps/backend/content/109-apis/104-hateoas.md b/src/roadmaps/backend/content/109-apis/104-hateoas.md
index 078f54f03..934add41b 100644
--- a/src/roadmaps/backend/content/109-apis/104-hateoas.md
+++ b/src/roadmaps/backend/content/109-apis/104-hateoas.md
@@ -2,4 +2,6 @@
HATEOAS is an acronym for Hypermedia As The Engine Of Application State, it's the concept that when sending information over a RESTful API the document received should contain everything the client needs in order to parse and use the data i.e they don't have to contact any other endpoint not explicitly mentioned within the Document
+Visit the following resources to learn more:
+
- [Oktane17: Designing Beautiful REST + JSON APIs (3:56 - 5:57)](https://youtu.be/MiOSzpfP1Ww?t=236)
diff --git a/src/roadmaps/backend/content/109-apis/105-open-api-spec.md b/src/roadmaps/backend/content/109-apis/105-open-api-spec.md
index f047ec19b..983644d44 100644
--- a/src/roadmaps/backend/content/109-apis/105-open-api-spec.md
+++ b/src/roadmaps/backend/content/109-apis/105-open-api-spec.md
@@ -4,6 +4,8 @@ The OpenAPI Specification (OAS) defines a standard, language-agnostic interface
An OpenAPI definition can then be used by documentation generation tools to display the API, code generation tools to generate servers and clients in various programming languages, testing tools, and many other use cases.
+Visit the following resources to learn more:
+
- [OpenAPI Specification Website](https://swagger.io/specification/)
- [Open API Live Editor](https://swagger.io/tools/swagger-editor/)
- [Official training guide](https://swagger.io/docs/specification/about/)
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md b/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md
index 9d137c5e7..673410620 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md
@@ -2,5 +2,7 @@
Cookies are pieces of data used to identify the user and their preferences. The browser returns the cookie to the server every time the page is requested. Specific cookies like HTTP cookies are used to perform cookie-based authentication to maintain the session for each user.
+Visit the following resources to learn more:
+
- [How does cookie based authentication work?](https://stackoverflow.com/questions/17769011/how-does-cookie-based-authentication-work)
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md b/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md
index d31e44d03..6113c2dfd 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md
@@ -6,6 +6,8 @@ In its most simplest form, OAuth delegates authentication to services like Faceb
It is mostly utilized for REST/APIs and only provides a limited scope of a user's data.
+Visit the following resources to learn more:
+
- [Okta - What the Heck is OAuth](https://developer.okta.com/blog/2017/06/21/what-the-heck-is-oauth)
- [DigitalOcean - An Introduction to OAuth 2](https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2)
- [What is OAuth really all about](https://www.youtube.com/watch?v=t4-416mg6iU)
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md b/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md
index 91fc43cee..5a383b3ae 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md
@@ -4,5 +4,7 @@ Given the name "Basic Authentication", you should not confuse Basic Authenticati
Because it is a part of the HTTP specifications, all the browsers have native support for "HTTP Basic Authentication".
+Visit the following resources to learn more:
+
- [HTTP Basic Authentication](https://roadmap.sh/guides/http-basic-authentication)
- [Illustrated HTTP Basic Authentication](https://www.youtube.com/watch?v=mwccHwUn7Gc)
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md b/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md
index ded0cf144..0900ac046 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md
@@ -9,4 +9,6 @@ Token-based authentication is different from traditional password-based or serve
But using tokens requires a bit of coding know-how. Most developers pick up the techniques quickly, but there is a learning curve.
+Visit the following resources to learn more:
+
- [What Is Token-Based Authentication?](https://www.okta.com/identity-101/what-is-token-based-authentication/)
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md b/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md
index 3752e6808..b78d6d1cc 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md
@@ -2,6 +2,8 @@
JWT stands for JSON Web Token is a token-based encryption open standard/methodology that is used to transfer information securely as a JSON object. Clients and Servers use JWT to securely share information, with the JWT containing encoded JSON objects and claims. JWT tokens are designed to be compact, safe to use within URLs, and ideal for SSO contexts.
+Visit the following resources to learn more:
+
- [jwt.io Website](https://jwt.io/)
- [Introduction to JSON Web Tokens](https://jwt.io/introduction)
- [What is JWT?](https://www.akana.com/blog/what-is-jwt)
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md b/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md
index f37625b87..0b9568b79 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md
@@ -3,6 +3,8 @@
OpenID is a protocol that utilizes the authorization and authentication mechanisms of OAuth 2.0 and is now widely adopted by many identity providers on the Internet.
It solves the problem of needing to share user's personal info between many different web services(e.g. online shops, discussion forums etc.)
+Visit the following resources to learn more:
+
- [Official Website](https://openid.net/)
- [What is OpenID](https://openid.net/connect/)
- [OAuth vs OpenID](https://securew2.com/blog/oauth-vs-openid-which-is-better)
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/index.md b/src/roadmaps/backend/content/109-apis/106-authentication/index.md
index 7622205a2..9cc6d41a9 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/index.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/index.md
@@ -11,6 +11,8 @@ Here is the list of common ways of authentication:
- OAuth - Open Authorization
- SSO - Single Sign On
+Visit the following resources to learn more:
+
- [User Authentication: Understanding the Basics & Top Tips](https://swoopnow.com/user-authentication/)
- [An overview about authentication methods](https://betterprogramming.pub/how-do-you-authenticate-mate-f2b70904cc3a)
- [SSO - Single Sign On](https://roadmap.sh/guides/sso)
diff --git a/src/roadmaps/backend/content/109-apis/106-graphql.md b/src/roadmaps/backend/content/109-apis/106-graphql.md
index c10d4fb61..0e1e89c7a 100644
--- a/src/roadmaps/backend/content/109-apis/106-graphql.md
+++ b/src/roadmaps/backend/content/109-apis/106-graphql.md
@@ -8,4 +8,6 @@ GraphQL also provides a way to define the structure of the data that is returned
GraphQL is widely used in modern web and mobile applications, and it is supported by a large and active developer community.
+Visit the following resources to learn more:
+
- [GraphQL Official Website](https://graphql.org/)
diff --git a/src/roadmaps/backend/content/109-apis/index.md b/src/roadmaps/backend/content/109-apis/index.md
index c87aaf55a..6372f354e 100644
--- a/src/roadmaps/backend/content/109-apis/index.md
+++ b/src/roadmaps/backend/content/109-apis/index.md
@@ -2,5 +2,7 @@
API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other.
+Visit the following resources to learn more:
+
- [What is an API?](https://aws.amazon.com/what-is/api/)
- [What is an API?](https://www.youtube.com/watch?v=s7wmiS2mSXY)
diff --git a/src/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md b/src/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md
index 075c519a5..90ea75fc0 100644
--- a/src/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md
+++ b/src/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md
@@ -2,5 +2,7 @@
An index is a data structure that you build and assign on top of an existing table that basically looks through your table and tries to analyze and summarize so that it can create shortcuts.
+Visit the following resources to learn more:
+
- [An in-depth look at Database Indexing](https://www.freecodecamp.org/news/database-indexing-at-a-glance-bb50809d48bd/)
- [Database Indexing Explained](https://www.youtube.com/watch?v=-qNSXK7s7_w)
diff --git a/src/roadmaps/backend/content/109-scaling-databases/101-data-replication.md b/src/roadmaps/backend/content/109-scaling-databases/101-data-replication.md
index 6ffe2e1ee..9ad367e3c 100644
--- a/src/roadmaps/backend/content/109-scaling-databases/101-data-replication.md
+++ b/src/roadmaps/backend/content/109-scaling-databases/101-data-replication.md
@@ -2,4 +2,6 @@
Data replication is the process by which data residing on a physical/virtual server(s) or cloud instance (primary instance) is continuously replicated or copied to a secondary server(s) or cloud instance (standby instance). Organizations replicate data to support high availability, backup, and/or disaster recovery.
+Visit the following resources to learn more:
+
- [What is Data Replication?](https://youtu.be/fUrKt-AQYtE)
diff --git a/src/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md b/src/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md
index 471c0f057..45bb64625 100644
--- a/src/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md
+++ b/src/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md
@@ -2,6 +2,8 @@
Sharding strategy is a technique to split a large dataset into smaller chunks (logical shard) in which we distribute these chunks in different machines/database nodes in order to distribute the traffic load. It’s a good mechanism to improve the scalability of an application. Many databases support sharding, but not all.
+Visit the following resources to learn more:
+
- [Database Sharding – System Design Interview Concept](https://www.geeksforgeeks.org/database-sharding-a-system-design-concept/)
- [Wikipedia - Sharding in Datbase Architectures](https://en.wikipedia.org/wiki/Shard_(database_architecture))
- [How sharding a database can make it faster](https://stackoverflow.blog/2022/03/14/how-sharding-a-database-can-make-it-faster/)
diff --git a/src/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md b/src/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md
index ad14ed6e0..c42e1ad59 100644
--- a/src/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md
+++ b/src/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md
@@ -2,6 +2,8 @@
CAP is an acronym that stands for Consistency, Availability and Partition Tolerance. According to CAP theorem, any distributed system can only guarantee two of the three properties at any point of time. You can't guarantee all three properties at once.
+Visit the following resources to learn more:
+
- [What is CAP Theorem?](https://www.bmc.com/blogs/cap-theorem/)
- [CAP Theorem - Wikipedia](https://en.wikipedia.org/wiki/CAP_theorem)
- [An Illustrated Proof of the CAP Theorem](https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/)
diff --git a/src/roadmaps/backend/content/109-scaling-databases/index.md b/src/roadmaps/backend/content/109-scaling-databases/index.md
index b34512470..7141b8a0c 100644
--- a/src/roadmaps/backend/content/109-scaling-databases/index.md
+++ b/src/roadmaps/backend/content/109-scaling-databases/index.md
@@ -2,5 +2,7 @@
A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
+Visit the following resources to learn more:
+
- [Oracle: What is a Database?](https://www.oracle.com/database/what-is-database/)
- [Prisma.io: What are Databases?](https://www.prisma.io/dataguide/intro/what-are-databases)
diff --git a/src/roadmaps/backend/content/110-caching/100-cdn.md b/src/roadmaps/backend/content/110-caching/100-cdn.md
index 78a8cbea7..68b2adfd5 100644
--- a/src/roadmaps/backend/content/110-caching/100-cdn.md
+++ b/src/roadmaps/backend/content/110-caching/100-cdn.md
@@ -5,6 +5,8 @@ Traditional commercial CDNs (Amazon CloudFront, Akamai, CloudFlare and Fastly) p
Serving assets and contents via a CDN reduces bandwidth on website hosting, provides an extra layer of caching to reduce potential outages and can improve website security as well
+Visit the following resources to learn more:
+
- [CloudFlare - What is a CDN? | How do CDNs work?](https://www.cloudflare.com/en-ca/learning/cdn/what-is-a-cdn/)
- [Wikipedia - Content Delivery Network](https://en.wikipedia.org/wiki/Content_delivery_network)
- [What is Cloud CDN?](https://www.youtube.com/watch?v=841kyd_mfH0)
diff --git a/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md b/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md
index ca8f3e6bd..8da18c10f 100644
--- a/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md
+++ b/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md
@@ -2,5 +2,7 @@
Redis is an open source (BSD licensed), in-memory **data structure store** used as a database, cache, message broker, and streaming engine. Redis provides data structures such as [strings](https://redis.io/topics/data-types-intro#strings), [hashes](https://redis.io/topics/data-types-intro#hashes), [lists](https://redis.io/topics/data-types-intro#lists), [sets](https://redis.io/topics/data-types-intro#sets), [sorted sets](https://redis.io/topics/data-types-intro#sorted-sets) with range queries, [bitmaps](https://redis.io/topics/data-types-intro#bitmaps), [hyperloglogs](https://redis.io/topics/data-types-intro#hyperloglogs), [geospatial indexes](https://redis.io/commands/geoadd), and [streams](https://redis.io/topics/streams-intro). Redis has built-in [replication](https://redis.io/topics/replication), [Lua scripting](https://redis.io/commands/eval), [LRU eviction](https://redis.io/topics/lru-cache), [transactions](https://redis.io/topics/transactions), and different levels of [on-disk persistence](https://redis.io/topics/persistence), and provides high availability via [Redis Sentinel](https://redis.io/topics/sentinel) and automatic partitioning with [Redis Cluster](https://redis.io/topics/cluster-tutorial).
+Visit the following resources to learn more:
+
- [Redis Website](https://redis.io/)
- [Redis in 100 Seconds](https://www.youtube.com/watch?v=G1rOthIU-uo)
diff --git a/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md b/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md
index 371b66dcb..104158d4e 100644
--- a/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md
+++ b/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md
@@ -6,6 +6,8 @@ Memcached's APIs provide a very large hash table distributed across multiple mac
Memcached has no internal mechanism to track misses which may happen. However, some third-party utilities provide this functionality.
+Visit the following resources to learn more:
+
- [Memcached, From Wikipedia](https://en.wikipedia.org/wiki/Memcached)
- [Memcached, From Official Github](https://github.com/memcached/memcached#readme)
- [Memcached Tutorial](https://www.tutorialspoint.com/memcached/index.htm)
diff --git a/src/roadmaps/backend/content/110-caching/101-server-side/index.md b/src/roadmaps/backend/content/110-caching/101-server-side/index.md
index 9d8fa2847..00fe88f47 100644
--- a/src/roadmaps/backend/content/110-caching/101-server-side/index.md
+++ b/src/roadmaps/backend/content/110-caching/101-server-side/index.md
@@ -6,6 +6,8 @@ When the user first requests for the webpage, the website goes under the normal
Next time the user revisits the website, it loads the already saved or cached copy of the webpage, thus making it faster.
+Visit the following resources to learn more:
+
- [Server-side caching ](https://www.starwindsoftware.com/resource-library/server-side-caching/)
- [Server-side caching and Client-side caching](https://www.codingninjas.com/codestudio/library/server-side-caching-and-client-side-caching)
diff --git a/src/roadmaps/backend/content/110-caching/102-client-side.md b/src/roadmaps/backend/content/110-caching/102-client-side.md
index 03dc6f64e..4d29dd773 100644
--- a/src/roadmaps/backend/content/110-caching/102-client-side.md
+++ b/src/roadmaps/backend/content/110-caching/102-client-side.md
@@ -2,4 +2,6 @@
Client-side caching is the storage of network data to a local cache for future re-use. After an application fetches network data, it stores that resource in a local cache. Once a resource has been cached, the browser uses the cache on future requests for that resource to boost performance.
+Visit the following resources to learn more:
+
- [Everything you need to know about HTTP Caching](https://www.youtube.com/watch?v=HiBDZgTNpXY)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md b/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md
index 6c777c109..094a12441 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md
@@ -2,6 +2,8 @@
MD5 (Message-Digest Algorithm 5) is a hash function that is currently advised not to be used due to its extensive vulnerabilities. It is still used as a checksum to verify data integrity.
+Visit the following resources to learn more:
+
- [Wikipedia - MD5](https://en.wikipedia.org/wiki/MD5)
- [What is MD5?](https://www.techtarget.com/searchsecurity/definition/MD5)
- [Why is MD5 not safe?](https://infosecscout.com/why-md5-is-not-safe/)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md b/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md
index 7036cbf20..c10ee1cbb 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md
@@ -6,6 +6,8 @@ SHA (Secure Hash Algorithms) is a family of cryptographic hash functions created
- SHA-2: This isn't an algorithm, but a set of them, with SHA-256 and SHA-512 being the most popular. SHA-2 is still secure and widely used.
- SHA-3: Born in a competition, this is the newest member of the family. SHA-3 is very secure and doesn't carry the same design flaws as its brethren.
+Visit the following resources to learn more:
+
- [Wikipedia - SHA-1](https://en.wikipedia.org/wiki/SHA-1)
- [Wikipedia - SHA-2](https://en.wikipedia.org/wiki/SHA-2)
- [Wikipedia - SHA-3](https://en.wikipedia.org/wiki/SHA-3)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md b/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md
index 2be99d74d..c3ab6c5ee 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md
@@ -2,6 +2,8 @@
bcrypt is a password hashing function, that has been proven reliable and secure since it's release in 1999. It has been implemented into most commonly-used programming languages.
+Visit the following resources to learn more:
+
- [bcrypts npm package](https://www.npmjs.com/package/bcrypt)
- [Understanding bcrypt](https://auth0.com/blog/hashing-in-action-understanding-bcrypt/)
- [bcrypt explained](https://www.youtube.com/watch?v=O6cmuiTBZVs)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md b/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md
index 4fc4fcbf0..459e69b41 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md
@@ -2,4 +2,6 @@
Scrypt (pronounced "ess crypt") is a password hashing function (like bcrypt). It is designed to use a lot of hardware, which makes brute-force attacks more difficult. Scrypt is mainly used as a proof-of-work algorithm for cryptocurrencies.
+Visit the following resources to learn more:
+
- [Wikipedia - Scrypt](https://en.wikipedia.org/wiki/Scrypt)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md b/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md
index 3c549feb8..4682993ce 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md
@@ -2,5 +2,7 @@
Content Security Policy is a computer security standard introduced to prevent cross-site scripting, clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context.
+Visit the following resources to learn more:
+
- [MDN — Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)
- [Google Devs — Content Security Policy (CSP)](https://developers.google.com/web/fundamentals/security/csp)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md b/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md
index 52bd4681c..653ef3597 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md
@@ -2,6 +2,8 @@
HTTPS is a secure way to send data between a web server and a browser.
+Visit the following resources to learn more:
+
- [What is HTTPS?](https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/)
- [Why HTTPS Matters](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https)
- [Enabling HTTPS on Your Servers](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md b/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md
index bc6606fd2..402f3d086 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md
@@ -1,6 +1,8 @@
# Cors
Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources.
+Visit the following resources to learn more:
+
- [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
- [CORS in 100 Seconds](https://www.youtube.com/watch?v=4KHiSt0oLJ0)
- [CORS in 6 minutes](https://www.youtube.com/watch?v=PNtFSVU-YTI)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md b/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md
index 4d377cb57..9b7334e08 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md
@@ -2,5 +2,7 @@
Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols used to provide security in internet communications. These protocols encrypt the data that is transmitted over the web, so anyone who tries to intercept packets will not be able to interpret the data. One difference that is important to know is that SSL is now deprecated due to security flaws, and most modern web browsers no longer support it. But TLS is still secure and widely supported, so preferably use TLS.
+Visit the following resources to learn more:
+
- [Wikipedia - SSL/TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security)
- [Cloudflare - What is SSL?](https://www.cloudflare.com/learning/ssl/what-is-ssl/)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md b/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md
index 7e73b4c32..7c015fe65 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md
@@ -2,6 +2,8 @@
OWASP or Open Web Application Security Project is an online community that produces freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security.
+Visit the following resources to learn more:
+
- [Wikipedia - OWASP](https://en.wikipedia.org/wiki/OWASP)
- [OWASP Application Security Verification Standard](https://github.com/OWASP/ASVS)
- [OWASP Top 10 Security Risks](https://cheatsheetseries.owasp.org/IndexTopTen.html)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/index.md b/src/roadmaps/backend/content/111-web-security-knowledge/index.md
index 2325eb205..6d3c8db22 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/index.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/index.md
@@ -2,6 +2,8 @@
Web security refers to the protective measures taken by the developers to protect the web applications from threats that could affect the business.
+Visit the following resources to learn more:
+
- [Why HTTPS Matters](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https)
- [Wikipedia - OWASP](https://en.wikipedia.org/wiki/OWASP)
- [OWASP Web Application Security Testing Checklist](https://github.com/0xRadi/OWASP-Web-Checklist)
diff --git a/src/roadmaps/backend/content/112-testing/100-integration-testing.md b/src/roadmaps/backend/content/112-testing/100-integration-testing.md
index dece42490..e20437595 100644
--- a/src/roadmaps/backend/content/112-testing/100-integration-testing.md
+++ b/src/roadmaps/backend/content/112-testing/100-integration-testing.md
@@ -2,6 +2,8 @@
Integration testing is a broad category of tests where multiple software modules are __integrated__ and tested as a group. It is meant to test the __interaction__ between multiple services, resources, or modules. For example, an API's interaction with a backend service, or a service with a database.
+Visit the following resources to learn more:
+
- [Integration Testing](https://www.guru99.com/integration-testing.html)
- [How to Integrate and Test Your Tech Stack](https://thenewstack.io/how-to-integrate-and-test-your-tech-stack/)
- [What is Integration Testing?](https://youtu.be/QYCaaNz8emY)
diff --git a/src/roadmaps/backend/content/112-testing/101-unit-testing.md b/src/roadmaps/backend/content/112-testing/101-unit-testing.md
index 82487c084..36da1be19 100644
--- a/src/roadmaps/backend/content/112-testing/101-unit-testing.md
+++ b/src/roadmaps/backend/content/112-testing/101-unit-testing.md
@@ -2,5 +2,7 @@
Unit testing is where individual __units__ (modules, functions/methods, routines, etc.) of software are tested to ensure their correctness. This low-level testing ensures smaller components are functionally sound while taking the burden off of higher-level tests. Generally, a developer writes these tests during the development process and they are run as automated tests.
+Visit the following resources to learn more:
+
- [Unit Testing Tutorial](https://www.guru99.com/unit-testing-guide.html)
- [What is Unit Testing?](https://youtu.be/3kzHmaeozDI)
diff --git a/src/roadmaps/backend/content/112-testing/102-functional-testing.md b/src/roadmaps/backend/content/112-testing/102-functional-testing.md
index 45181641c..beaacfac3 100644
--- a/src/roadmaps/backend/content/112-testing/102-functional-testing.md
+++ b/src/roadmaps/backend/content/112-testing/102-functional-testing.md
@@ -3,5 +3,7 @@
Functional testing is where software is tested to ensure functional requirements are met. Usually, it is a form of black box testing in which the tester has no understanding of the source code; testing is performed by providing input and comparing expected/actual output.
It contrasts with non-functional testing, which includes performance, load, scalability, and penetration testing.
+Visit the following resources to learn more:
+
- [What is Functional Testing?](https://www.guru99.com/functional-testing.html)
- [Functional Testing vs Non-Functional Testing](https://youtu.be/j_79AXkG4PY)
diff --git a/src/roadmaps/backend/content/112-testing/index.md b/src/roadmaps/backend/content/112-testing/index.md
index d7aff42f4..d8d487d3a 100644
--- a/src/roadmaps/backend/content/112-testing/index.md
+++ b/src/roadmaps/backend/content/112-testing/index.md
@@ -2,5 +2,7 @@
A key to building software that meets requirements without defects is testing. Software testing helps developers know they are building the right software. When tests are run as part of the development process (often with continuous integration tools), they build confidence and prevent regressions in the code.
+Visit the following resources to learn more:
+
- [What is Software Testing?](https://www.guru99.com/software-testing-introduction-importance.html)
- [Testing Pyramid](https://www.browserstack.com/guide/testing-pyramid-for-test-automation)
diff --git a/src/roadmaps/backend/content/113-ci-cd.md b/src/roadmaps/backend/content/113-ci-cd.md
index cdc1b35ee..569fde59e 100644
--- a/src/roadmaps/backend/content/113-ci-cd.md
+++ b/src/roadmaps/backend/content/113-ci-cd.md
@@ -2,6 +2,8 @@
CI/CD (Continuous Integration/Continuous Deployment) is the practice of automating building, testing, and deployment of applications with the main goal of detecting issues early, and provide quicker releases to the production environment.
+Visit the following resources to learn more:
+
- [DevOps CI/CD Explained in 100 Seconds by Fireship](https://www.youtube.com/watch?v=scEDHsr3APg)
- [Automate your Workflows with GitHub Actions](https://www.youtube.com/watch?v=nyKZTKQS_EQ)
- [What is CI/CD?](https://about.gitlab.com/topics/ci-cd/)
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md b/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md
index 7567857f9..6b152b230 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md
@@ -6,6 +6,8 @@ Design patterns are typical solutions to commonly occurring problems in software
- Structural Patterns to provide relationship between objects
- Behavioral Patterns to help define how objects interact
+Visit the following resources to learn more:
+
- [Design Patterns for Humans](https://github.com/kamranahmedse/design-patterns-for-humans)
- [GOF design patterns](https://springframework.guru/gang-of-four-design-patterns/)
- [Design Patterns](https://refactoring.guru/design-patterns)
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md b/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md
index d3cfb957a..53735733f 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md
@@ -10,4 +10,6 @@ DDD connects the implementation to an evolving model and it is predicated on the
- Basing complex designs on a model of the domain;
- Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
+Visit the following resources to learn more:
+
- [Domain Driven Design Quickly](https://matfrs2.github.io/RS2/predavanja/literatura/Avram%20A,%20Marinescu%20F.%20-%20Domain%20Driven%20Design%20Quickly.pdf)
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md b/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md
index 5ccdbd189..3d9f5541a 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md
@@ -2,6 +2,8 @@
Test driven development (TDD) is the process of writing tests for software's requirements which will fail until the software is developed to meet those requirements. Once those tests pass, then the cycle repeats to refactor code or develop another feature/requirement. In theory, this ensures that software is written to meet requirements in the simplest form, and avoids code defects.
+Visit the following resources to learn more:
+
- [What is Test Driven Development (TDD)?](https://www.guru99.com/test-driven-development.html)
- [Test-driven development](https://www.ibm.com/garage/method/practices/code/practice_test_driven_development/)
- [Agile in Practice: Test Driven Development](https://youtu.be/uGaNkTahrIw)
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md b/src/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md
index f4b22b4d1..512d572a1 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md
@@ -2,4 +2,6 @@
CQRS, or command query responsibility segregation, defines an architectural pattern where the main focus is to separate the approach of reading and writing operations for a data store. CQRS can also be used along with Event Sourcing pattern in order to persist application state as an ordered of sequence events, making it possible to restore data to any point in time.
+Visit the following resources to learn more:
+
- [CQRS Pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/cqrs)
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md b/src/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md
index fb73d571b..c4227a574 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md
@@ -6,4 +6,6 @@ One of the main benefits of event sourcing is that it provides a clear and audit
Event sourcing is often used in conjunction with other patterns, such as Command Query Responsibility Segregation (CQRS) and domain-driven design, to build scalable and responsive systems with complex business logic. It is also useful for building systems that need to support undo/redo functionality or that need to integrate with external systems.
+Visit the following resources to learn more:
+
- [Event Sourcing - Martin Fowler](https://martinfowler.com/eaaDev/EventSourcing.html)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md b/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md
index c564435ca..68c2f0eaa 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md
@@ -2,5 +2,7 @@
Monolithic architecture is a pattern in which an application handles requests, executes business logic, interacts with the database, and creates the HTML for the front end. In simpler terms, this one application does many things. It's inner components are highly coupled and deployed as one unit.
+Visit the following resources to learn more:
+
- [Pattern: Monolithic Architecture](https://microservices.io/patterns/monolithic.html)
- [Monolithic Architecture - Advantages & Disadvantages](https://datamify.medium.com/monolithic-architecture-advantages-and-disadvantages-e71a603eec89)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md b/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md
index 2a3fce3c4..0c06cf10c 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md
@@ -2,6 +2,8 @@
Microservice architecture is a pattern in which highly cohesive, loosely coupled services are separately developed, maintained, and deployed. Each component handles an individual function, and when combined, the application handles an overall business function.
+Visit the following resources to learn more:
+
- [Pattern: Microservice Architecture](https://microservices.io/patterns/microservices.html)
- [What is Microservices?](https://smartbear.com/solutions/microservices/)
- [Microservices 101](https://thenewstack.io/microservices-101/)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md b/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md
index f90ecae15..2f1fd1583 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md
@@ -2,4 +2,6 @@
SOA, or service-oriented architecture, defines a way to make software components reusable via service interfaces. These interfaces utilize common communication standards in such a way that they can be rapidly incorporated into new applications without having to perform deep integration each time.
+Visit the following resources to learn more:
+
- [Reference Architecture Foundation for Service Oriented Architecture](http://docs.oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra.html)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md b/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md
index 257e1b035..9a7f19f83 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md
@@ -2,6 +2,8 @@
Serverless is an architecture in which a developer builds and runs applications without provisioning or managing servers. With cloud computing/serverless, servers exist but are managed by the cloud provider. Resources are used as they are needed, on demand and often using auto scaling.
+Visit the following resources to learn more:
+
- [Serverless](https://www.ibm.com/cloud/learn/serverless)
- [AWS Services](https://aws.amazon.com/serverless/)
- [Serverless Computing in 100 Seconds](https://www.youtube.com/watch?v=W_VV2Fx32_Y&ab_channel=Fireship)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md b/src/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md
index 9d127fdaa..907d47f12 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md
@@ -8,5 +8,7 @@ Service meshes are typically implemented using a sidecar pattern, in which the e
Service meshes are commonly used in cloud-native architectures and are often managed using a control plane, which is responsible for configuring and managing the envoys. Some popular service mesh implementations include Istio and Linkerd.
+Visit the following resources to learn more:
+
- [What is a Service Mesh?](https://www.nginx.com/blog/what-is-a-service-mesh/)
- [Service Mesh Explained - Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/blog/2018/05/02/service-mesh-explained/)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md b/src/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md
index c03ed53a4..e2f7e5f36 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md
@@ -19,4 +19,6 @@ The Twelve-Factor App methodology consists of the following principles:
The Twelve-Factor App methodology is widely adopted by developers of SaaS applications, and it is seen as a best practice for building cloud-native applications that are scalable, maintainable, and easy to deploy.
+Visit the following resources to learn more:
+
- [The Twelve-Factor App](https://12factor.net/)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/index.md b/src/roadmaps/backend/content/115-architectural-patterns/index.md
index 578706230..6e1d5bd7a 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/index.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/index.md
@@ -2,4 +2,6 @@
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context.The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a business risk.
+Visit the following resources to learn more:
+
- [Architectural Patterns in a nutshell](https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013)
diff --git a/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md b/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md
index e3fffda71..8354b3dfa 100644
--- a/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md
+++ b/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md
@@ -2,6 +2,8 @@
Elastic search at its core is a document-oriented search engine. It is a document based database that lets you INSERT, DELETE , RETRIEVE and even perform analytics on the saved records. But, Elastic Search is unlike any other general purpose database you have worked with, in the past. It's essentially a search engine and offers an arsenal of features you can use to retrieve the data stored in it, as per your search criteria. And that too, at lightning speeds.
+Visit the following resources to learn more:
+
- [Elasticsearch Website](https://www.elastic.co/elasticsearch/)
- [Elasticsearch Documentation](https://www.elastic.co/guide/index.html)
diff --git a/src/roadmaps/backend/content/116-search-engines/101-solr.md b/src/roadmaps/backend/content/116-search-engines/101-solr.md
index 17ff04bb2..68217ebe9 100644
--- a/src/roadmaps/backend/content/116-search-engines/101-solr.md
+++ b/src/roadmaps/backend/content/116-search-engines/101-solr.md
@@ -2,5 +2,7 @@
Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated failover and recovery, centralized configuration and more. Solr powers the search and navigation features of many of the world's largest internet sites.
+Visit the following resources to learn more:
+
- [Official Website](https://solr.apache.org/)
- [Official Documentation](https://solr.apache.org/resources.html#documentation)
diff --git a/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md b/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md
index 2c5c822d1..3f5165b1c 100644
--- a/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md
+++ b/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md
@@ -2,5 +2,7 @@
With tens of thousands of users, RabbitMQ is one of the most popular open-source message brokers. RabbitMQ is lightweight and easy to deploy on-premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
+Visit the following resources to learn more:
+
- [RabbitMQ Tutorials](https://www.rabbitmq.com/getstarted.html)
- [RabbitMQ Tutorial - Message Queues and Distributed Systems](https://www.youtube.com/watch?v=nFxjaVmFj5E)
diff --git a/src/roadmaps/backend/content/117-message-brokers/101-kafka.md b/src/roadmaps/backend/content/117-message-brokers/101-kafka.md
index 6ae78883b..3cf72a75e 100644
--- a/src/roadmaps/backend/content/117-message-brokers/101-kafka.md
+++ b/src/roadmaps/backend/content/117-message-brokers/101-kafka.md
@@ -2,5 +2,7 @@
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
+Visit the following resources to learn more:
+
- [Apache Kafka quickstart](https://kafka.apache.org/quickstart)
- [Apache Kafka Fundamentals](https://www.youtube.com/watch?v=B5j3uNBH8X4)
diff --git a/src/roadmaps/backend/content/117-message-brokers/index.md b/src/roadmaps/backend/content/117-message-brokers/index.md
index 21d825001..d603e49e5 100644
--- a/src/roadmaps/backend/content/117-message-brokers/index.md
+++ b/src/roadmaps/backend/content/117-message-brokers/index.md
@@ -2,4 +2,6 @@
Message brokers are an inter-application communication technology to help build a common integration mechanism to support cloud-native, microservices-based, serverless, and hybrid cloud architectures. Two of the most famous message brokers are `RabbitMQ` and `Apache Kafka`
+Visit the following resources to learn more:
+
- [Introduction to Message Brokers](https://www.youtube.com/watch?v=57Qr9tk6Uxc)
diff --git a/src/roadmaps/backend/content/118-containerization/100-docker.md b/src/roadmaps/backend/content/118-containerization/100-docker.md
index 66c86af5f..132ec6833 100644
--- a/src/roadmaps/backend/content/118-containerization/100-docker.md
+++ b/src/roadmaps/backend/content/118-containerization/100-docker.md
@@ -2,6 +2,8 @@
Docker is a platform for working with containerized applications. Among its features are a daemon and client for managing and interacting with containers, registries for storing images, and a desktop application to package all these features together.
+Visit the following resources to learn more:
+
- [Docker Documentation](https://docs.docker.com/)
- [What is Docker | AWS ](https://aws.amazon.com/docker/)
- [Docker Tutorial](https://youtu.be/3c-iBn73dDE)
diff --git a/src/roadmaps/backend/content/118-containerization/102-lxc.md b/src/roadmaps/backend/content/118-containerization/102-lxc.md
index 4c898b8b3..5e54cf389 100644
--- a/src/roadmaps/backend/content/118-containerization/102-lxc.md
+++ b/src/roadmaps/backend/content/118-containerization/102-lxc.md
@@ -2,6 +2,8 @@
LXC is an abbreviation used for Linux Containers which is an operating system that is used for running multiple Linux systems virtually on a controlled host via a single Linux kernel. LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.
+Visit the following resources to learn more:
+
- [LXC Documentation](https://linuxcontainers.org/lxc/documentation/)
- [What is LXC?](https://linuxcontainers.org/lxc/introduction/)
- [Linux Container (LXC) Introduction](https://youtu.be/_KnmRdK69qM)
diff --git a/src/roadmaps/backend/content/118-containerization/103-kubernetes.md b/src/roadmaps/backend/content/118-containerization/103-kubernetes.md
index d9173bd7a..e963aa790 100644
--- a/src/roadmaps/backend/content/118-containerization/103-kubernetes.md
+++ b/src/roadmaps/backend/content/118-containerization/103-kubernetes.md
@@ -4,6 +4,8 @@ Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) contain
The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues.
+Visit the following resources to learn more:
+
- [Kubernetes Website](https://kubernetes.io/)
- [Kubernetes Documentation](https://kubernetes.io/docs/home/)
- [Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4)
diff --git a/src/roadmaps/backend/content/118-containerization/index.md b/src/roadmaps/backend/content/118-containerization/index.md
index c15375fff..c90b8212f 100644
--- a/src/roadmaps/backend/content/118-containerization/index.md
+++ b/src/roadmaps/backend/content/118-containerization/index.md
@@ -2,5 +2,7 @@
Containers and virtual machines are the two most popular approaches to setting up a software infrastructure for your organization.
+Visit the following resources to learn more:
+
- [Containerization vs. Virtualization: Everything you need to know](https://middleware.io/blog/containerization-vs-virtualization/)
- [Containerization or Virtualization - The Differences ](https://www.youtube.com/watch?v=1WnDHitznGY)
diff --git a/src/roadmaps/backend/content/119-graphql/100-apollo.md b/src/roadmaps/backend/content/119-graphql/100-apollo.md
index a898919b1..7ea725af9 100644
--- a/src/roadmaps/backend/content/119-graphql/100-apollo.md
+++ b/src/roadmaps/backend/content/119-graphql/100-apollo.md
@@ -2,6 +2,8 @@
Apollo is a platform for building a unified graph, a communication layer that helps you manage the flow of data between your application clients (such as web and native apps) and your back-end services.
+Visit the following resources to learn more:
+
- [Apollo Website](https://www.apollographql.com)
- [Official Docs](https://www.apollographql.com/docs/)
- [Official YouTube Channel](https://www.youtube.com/c/ApolloGraphQL/)
diff --git a/src/roadmaps/backend/content/119-graphql/101-relay-modern.md b/src/roadmaps/backend/content/119-graphql/101-relay-modern.md
index 4a8bad9ac..34f06d019 100644
--- a/src/roadmaps/backend/content/119-graphql/101-relay-modern.md
+++ b/src/roadmaps/backend/content/119-graphql/101-relay-modern.md
@@ -2,5 +2,7 @@
Relay is a JavaScript client used in the browser to fetch GraphQL data. It's a JavaScript framework developed by Facebook for managing and fetching data in React applications. It is built with scalability in mind in order to power complex applications like Facebook. The ultimate goal of GraphQL and Relay is to deliver instant UI-response interactions.
+Visit the following resources to learn more:
+
- [Official Website](https://relay.dev/)
- [Introduction to Relay modern](https://relay.dev/docs/)
diff --git a/src/roadmaps/backend/content/119-graphql/index.md b/src/roadmaps/backend/content/119-graphql/index.md
index 220ab2662..9943c9739 100644
--- a/src/roadmaps/backend/content/119-graphql/index.md
+++ b/src/roadmaps/backend/content/119-graphql/index.md
@@ -2,6 +2,8 @@
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
+Visit the following resources to learn more:
+
- [Introduction to GraphQL](https://graphql.org/learn/)
- [The Fullstack Tutorial for GraphQL](https://www.howtographql.com/)
- [GraphQL Tutorials](https://odyssey.apollographql.com/)
diff --git a/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md b/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md
index 0e8fa2d03..75a6bb30e 100644
--- a/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md
+++ b/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md
@@ -2,6 +2,8 @@
Neo4j AuraDB is a fast, reliable, scalable, and completely automated Neo4j graph database, provided as a cloud service.
+Visit the following resources to learn more:
+
- [Official Website](https://neo4j.com/)
- [Official Docs](https://neo4j.com/docs/)
- [Neo4j (Graph Database) Crash Course](https://www.youtube.com/watch?v=8jNPelugC2s)
diff --git a/src/roadmaps/backend/content/120-graph-databases/index.md b/src/roadmaps/backend/content/120-graph-databases/index.md
index 4a9c04c18..0541d7b38 100644
--- a/src/roadmaps/backend/content/120-graph-databases/index.md
+++ b/src/roadmaps/backend/content/120-graph-databases/index.md
@@ -2,5 +2,7 @@
A graph database stores nodes and relationships instead of tables, or documents. Data is stored just like you might sketch ideas on a whiteboard. Your data is stored without restricting it to a pre-defined model, allowing a very flexible way of thinking about and using it.
+Visit the following resources to learn more:
+
- [What is a Graph Database?](https://neo4j.com/developer/graph-database/)
- [Graph Databases VS Relational Databases](https://www.freecodecamp.org/news/graph-database-vs-relational-database/)
diff --git a/src/roadmaps/backend/content/121-web-sockets.md b/src/roadmaps/backend/content/121-web-sockets.md
index 4a81115ad..6a7933ac2 100644
--- a/src/roadmaps/backend/content/121-web-sockets.md
+++ b/src/roadmaps/backend/content/121-web-sockets.md
@@ -2,6 +2,8 @@
Web sockets are defined as a two-way communication between the servers and the clients, which mean both the parties, communicate and exchange data at the same time. This protocol defines a full duplex communication from the ground up. Web sockets take a step forward in bringing desktop rich functionalities to the web browsers.
+Visit the following resources to learn more:
+
- [Introduction to WebSockets](https://www.tutorialspoint.com/websockets/index.htm)
- [A Beginners Guide to WebSockets](https://www.youtube.com/watch?v=8ARodQ4Wlf4)
- [Socket.io Library Bidirectional and low-latency communication for every platform](https://socket.io/)
diff --git a/src/roadmaps/backend/content/122-server-sent-events.md b/src/roadmaps/backend/content/122-server-sent-events.md
index 2ff7a9e21..44ac52aba 100644
--- a/src/roadmaps/backend/content/122-server-sent-events.md
+++ b/src/roadmaps/backend/content/122-server-sent-events.md
@@ -6,4 +6,6 @@ SSE is useful for applications that require real-time updates, such as chat syst
To use SSE, the client must create an EventSource object and specify the URL of the server-side script that will send the events. The server can then send events by writing them to the response stream with the proper formatting.
+Visit the following resources to learn more:
+
- [Server-Sent Events - MDN](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events)
diff --git a/src/roadmaps/backend/content/122-web-servers/100-nginx.md b/src/roadmaps/backend/content/122-web-servers/100-nginx.md
index f3ef2387a..4ec27fa55 100644
--- a/src/roadmaps/backend/content/122-web-servers/100-nginx.md
+++ b/src/roadmaps/backend/content/122-web-servers/100-nginx.md
@@ -2,5 +2,7 @@
NGINX is a powerful web server and uses a non-threaded, event-driven architecture that enables it to outperform Apache if configured correctly. It can also do other important things, such as load balancing, HTTP caching, or be used as a reverse proxy.
+Visit the following resources to learn more:
+
- [Official Website](https://nginx.org/)
- [NGINX Explained in 100 Seconds](https://www.youtube.com/watch?v=JKxlsvZXG7c)
diff --git a/src/roadmaps/backend/content/122-web-servers/101-apache.md b/src/roadmaps/backend/content/122-web-servers/101-apache.md
index 803a8735a..51a239251 100644
--- a/src/roadmaps/backend/content/122-web-servers/101-apache.md
+++ b/src/roadmaps/backend/content/122-web-servers/101-apache.md
@@ -2,5 +2,7 @@
Apache is a free, open-source HTTP server, available on many operating systems, but mainly used on Linux distributions. It is one of the most popular options for web developers, as it accounts for over 30% of all the websites, as estimated by W3Techs.
+Visit the following resources to learn more:
+
- [Apache Server Website](https://httpd.apache.org/)
- [What is Apache Web Server?](https://www.youtube.com/watch?v=kaaenHXO4t4)
diff --git a/src/roadmaps/backend/content/122-web-servers/102-caddy.md b/src/roadmaps/backend/content/122-web-servers/102-caddy.md
index 90598c365..50ccb5d00 100644
--- a/src/roadmaps/backend/content/122-web-servers/102-caddy.md
+++ b/src/roadmaps/backend/content/122-web-servers/102-caddy.md
@@ -2,5 +2,7 @@
The Caddy web server is an extensible, cross-platform, open-source web server written in Go. It has some really nice features like automatic SSL/HTTPs and a really easy configuration file.
+Visit the following resources to learn more:
+
- [Official Website](https://caddyserver.com/)
- [Getting started with Caddy the HTTPS Web Server from scratch](https://www.youtube.com/watch?v=t4naLFSlBpQ)
diff --git a/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md b/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md
index 7a2699bd8..57accb2a3 100644
--- a/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md
+++ b/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md
@@ -2,5 +2,7 @@
Internet Information Services (IIS) for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web.
+Visit the following resources to learn more:
+
- [Official Website](https://www.iis.net/)
- [Learn Windows Web Server IIS](https://www.youtube.com/watch?v=1VdxPWwtISA)
diff --git a/src/roadmaps/backend/content/122-web-servers/index.md b/src/roadmaps/backend/content/122-web-servers/index.md
index 781dc7a22..a3b5ef149 100644
--- a/src/roadmaps/backend/content/122-web-servers/index.md
+++ b/src/roadmaps/backend/content/122-web-servers/index.md
@@ -12,5 +12,7 @@ A software web server has a number of software components that regulate how host
Basically, an HTTP request is made by a browser anytime it wants a file that is stored on a web server. The relevant (hardware) web server receives the request, which is then accepted by the appropriate (software) HTTP server, which then locates the requested content and returns it to the browser over HTTP. (If the server cannot locate the requested page, it responds with a 404 error.)
+Visit the following resources to learn more:
+
- [What is a Web Server ](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server)
- [Web Server Concepts and Examples](https://youtu.be/9J1nJOivdyw)
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md
index b2e21f24b..cfde2ef2f 100644
--- a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md
@@ -4,6 +4,8 @@ Graceful degradation is a design principle that states that a system should be d
Graceful degradation is often used as an alternative to progressive enhancement, a design principle that states that a system should be designed to take advantage of advanced features and technologies if they are available.
+Visit the following resources to learn more:
+
- [What is Graceful Degradation & Why Does it Matter?](https://blog.hubspot.com/website/graceful-degradation)
- [Four Considerations When Designing Systems For Graceful Degradation](https://newrelic.com/blog/best-practices/design-software-for-graceful-degradation)
- [The Art of Graceful Degradation](https://farfetchtechblog.com/en/blog/post/the-art-of-failure-ii-graceful-degradation/)
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md
index 136b0d42b..7c07b4400 100644
--- a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md
@@ -10,4 +10,6 @@ There are several ways to implement throttling in a cloud environment:
Throttling is an important aspect of cloud design, as it helps to ensure that resources are used efficiently and that the system remains stable and available. It is often used in conjunction with other design patterns, such as auto-scaling and load balancing, to provide a scalable and resilient cloud environment.
+Visit the following resources to learn more:
+
- [Throttling - AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/serverless/patterns/throttling/)
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md
index 8d1875623..ae6d8b838 100644
--- a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md
@@ -10,4 +10,6 @@ There are several ways to implement backpressure in a cloud environment:
Backpressure is an important aspect of cloud design, as it helps to ensure that data is processed efficiently and that the system remains stable and available. It is often used in conjunction with other design patterns, such as auto-scaling and load balancing, to provide a scalable and resilient cloud environment.
+Visit the following resources to learn more:
+
- [Backpressure - AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/serverless/patterns/backpressure/)
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md
index 00f1c1aa4..6f025198c 100644
--- a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md
@@ -10,4 +10,6 @@ There are several ways to implement load shifting in a cloud environment:
Load shifting is an important aspect of cloud design, as it helps to ensure that resources are used efficiently and that the system remains stable and available. It is often used in conjunction with other design patterns, such as throttling and backpressure, to provide a scalable and resilient cloud environment.
+Visit the following resources to learn more:
+
- [Load Shifting - AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/serverless/patterns/load-shifting/)
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md
index 99ef5ca01..3a15afea9 100644
--- a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md
@@ -6,4 +6,6 @@ A circuit breaker consists of three states: closed, open, and half-open. In the
The circuit breaker design pattern is useful for protecting a system from failures or excessive load by providing a way to temporarily stop certain operations and allow the system to recover. It is often used in conjunction with other design patterns, such as retries and fallbacks, to provide a more robust and resilient cloud environment.
+Visit the following resources to learn more:
+
- [Circuit Breaker - AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/serverless/patterns/circuit-breaker/)
diff --git a/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md b/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md
index 38503b669..21cef3fe2 100644
--- a/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md
+++ b/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md
@@ -6,6 +6,8 @@ Backend monitoring allows the user to view the performance of infrastructure i.e
Telemetry is the process of continuously collecting data from different components of the application. This data helps engineering teams to troubleshoot issues across services and identify the root causes. In other words, telemetry data powers observability for your distributed applications.
+Visit the following resources to learn more:
+
- [What is Instrumentation?](https://en.wikipedia.org/wiki/Instrumentation_(computer_programming))
- [What is Monitoring?](https://www.yottaa.com/performance-monitoring-backend-vs-front-end-solutions/)
- [What is Telemetry?](https://www.sumologic.com/insight/what-is-telemetry/)
diff --git a/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md b/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md
index fced4b266..9fa0ecdd6 100644
--- a/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md
+++ b/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md
@@ -2,5 +2,7 @@
Learn how to run database migrations effectively. Especially zero downtime multi-phase schema migrations. Rather than make all changes at once, do smaller incremental changes to allow old code, and new code to worth with the database at the same time, before removing old code, and finally removing the parts of the database schema which is no longer used.
+Visit the following resources to learn more:
+
- [Databases as a Challenge for Continuous Delivery](https://phauer.com/2015/databases-challenge-continuous-delivery/)
diff --git a/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md b/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md
index c83043044..67ca6e891 100644
--- a/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md
+++ b/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md
@@ -2,6 +2,8 @@
Horizontal scaling is a change in the **number** of a resource. For example, increasing the number of virtual machines processing messages in a queue. Vertical scaling is a change in the **size/power** of a resource. For example, increasing the memory or disk space available to a machine. Scaling can be applied to databases, cloud resources, and other areas of computing.
+Visit the following resources to learn more:
+
- [Horizontal vs Vertical Scaling](https://touchstonesecurity.com/horizontal-vs-vertical-scaling-what-you-need-to-know/)
- [Scaling In Databases](https://www.geeksforgeeks.org/horizontal-and-vertical-scaling-in-databases/)
- [System Design Basics: Horizontal vs. Vertical Scaling](https://youtu.be/xpDnVSmNFX0)
diff --git a/src/roadmaps/backend/content/123-scalability/104-observability.md b/src/roadmaps/backend/content/123-scalability/104-observability.md
index c346f3e7a..54eaa054b 100644
--- a/src/roadmaps/backend/content/123-scalability/104-observability.md
+++ b/src/roadmaps/backend/content/123-scalability/104-observability.md
@@ -6,6 +6,8 @@ So what makes a system to be "observable"? It is its ability of producing and co
You can of course implement all those features by yourself, but there are a lot of softwares out there that can help you with it like Datadog, Sentry and CloudWatch.
+Visit the following resources to learn more:
+
- [DataDog Docs](https://docs.datadoghq.com/)
- [AWS CloudWatch Docs](https://aws.amazon.com/cloudwatch/getting-started/)
- [Sentry Docs](https://docs.sentry.io/)
diff --git a/src/roadmaps/backend/content/123-scalability/index.md b/src/roadmaps/backend/content/123-scalability/index.md
index 448ad7d4b..4cb1eac1a 100644
--- a/src/roadmaps/backend/content/123-scalability/index.md
+++ b/src/roadmaps/backend/content/123-scalability/index.md
@@ -14,5 +14,7 @@ When you think about the infrastructure of a scalable system, you have two main
The main difference between on-premises and cloud resources will be FLEXIBILITY, on cloud providers you don't really need to plan ahead, you can upgrade your infrastructure with a couple of clicks, while with on-premises resources you will need a certain level of planning.
+Visit the following resources to learn more:
+
- [Scalable Architecture: A Definition and How-To Guide](https://www.sentinelone.com/blog/scalable-architecture/)
- [Scaling Distributed Systems - Software Architecture Introduction](https://www.youtube.com/watch?v=gxfERVP18-g)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md b/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md
index 48c337caa..32434dda0 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md
@@ -2,6 +2,8 @@
A blockchain is a decentralized, distributed, and oftentimes public, digital ledger consisting of records called blocks that is used to record transactions across many computers so that any involved block cannot be altered retroactively, without the alteration of all subsequent blocks.
+Visit the following resources to learn more:
+
- [Blockchain Explained](https://www.investopedia.com/terms/b/blockchain.asp)
- [What is decentralization?](https://aws.amazon.com/blockchain/decentralization-in-blockchain/)
- [How does a blockchain work?](https://youtu.be/SSo_EIwHSd4)
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md b/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md
index 6fad77ddd..8e3543828 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md
@@ -2,5 +2,7 @@
In blockchain, decentralization refers to the transfer of control and decision-making from a centralized entity (individual, organization, or group thereof) to a distributed network. Decentralized networks strive to reduce the level of trust that participants must place in one another, and deter their ability to exert authority or control over one another in ways that degrade the functionality of the network.
+Visit the following resources to learn more:
+
- [What is decentralization?](https://aws.amazon.com/blockchain/decentralization-in-blockchain/)
- [What is Decentralization in Blockchain?](https://www.blockchain-council.org/blockchain/what-is-decentralization-in-blockchain/)
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md b/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md
index 48f8e462f..af5618bcf 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md
@@ -4,6 +4,8 @@ The nature of blockchain allows for trustless systems to be built on top of it.
This decentralization enables use-cases that were previously impossible, such as parametric insurance, decentralized finance, and decentralized organizations (DAOs), among a few. This allows developers to build products that provide immediate value without having to go through a bureaucratic process of applications, approvals, and general red tape.
+Visit the following resources to learn more:
+
- [Why Blockchain?](https://www.blockchain.education/blockchain101/blockchain)
- [What Is The Blockchain And Why Does It Matter?](https://www.forbes.com/sites/theyec/2020/05/18/what-is-the-blockchain-and-why-does-it-matter/)
- [Web3/Crypto: Why Bother?](https://continuations.com/post/671863718643105792/web3crypto-why-bother)
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md b/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md
index 867b13320..7f9f8d66b 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md
@@ -4,6 +4,8 @@ The blockchain gets its name from its underlying structure. The blockchain is or
Understanding blockchain security requires understanding how the blockchain is put together. This requires knowing what the blocks and chains of blockchain are and why they are designed the way that they are.
+Visit the following resources to learn more:
+
- [Blockchain Architecture Basics: Components, Structure, Benefits & Creation](https://mlsdev.com/blog/156-how-to-build-your-own-blockchain-architecture)
- [Blockchain Architecture 101: Components, Structure, and Benefits](https://komodoplatform.com/en/academy/blockchain-architecture-101/)
- [Blockchain structure](https://resources.infosecinstitute.com/topic/blockchain-structure/)
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md b/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md
index dde1069d9..0067de57c 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md
@@ -2,6 +2,8 @@
Operations in a decentralized networks are the responsibility of the peer participants and their respective computational nodes. These are specific for each type of blockchain.
+Visit the following resources to learn more:
+
- [Blockchain Basics: Structure, Operations, and the Bitcoin Blockchain](https://www.mlq.ai/blockchain-basics/)
- [Bitcoin blockchain transactions | Bitcoin Developer](https://developer.bitcoin.org/reference/transactions.html)
- [Ethereum blockchain transactions | ethereum.org](https://ethereum.org/en/developers/docs/transactions/)
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md b/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md
index 5c71a3595..bbde533da 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md
@@ -2,6 +2,8 @@
Blockchain applications go far beyond cryptocurrency and bitcoin. With its ability to create more transparency and fairness while also saving businesses time and money, the technology is impacting a variety of sectors in ways that range from how contracts are enforced to making government work more efficiently.
+Visit the following resources to learn more:
+
- [Blockchain Use Cases and Applications by Industry](https://consensys.net/blockchain-use-cases/)
- [Top 10 Real-World Applications Of Blockchain Technology](https://www.blockchain-council.org/blockchain/top-10-real-world-applications-of-blockchain-technology/)
- [Ethereum blockchain transactions | ethereum.org](https://ethereum.org/en/developers/docs/transactions/)
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/index.md b/src/roadmaps/blockchain/content/100-blockchain-basics/index.md
index 792e9a682..2598730d3 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/index.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/index.md
@@ -2,6 +2,8 @@
A blockchain is a decentralized, distributed, and oftentimes public, digital ledger consisting of records called blocks that is used to record transactions across many computers so that any involved block cannot be altered retroactively, without the alteration of all subsequent blocks.
+Visit the following resources to learn more:
+
- [Introduction to Blockchain](https://www.blockchain.education/blockchain101/blockchain)
- [Blockchain Explained](https://www.investopedia.com/terms/b/blockchain.asp)
- [How does a blockchain work?](https://youtu.be/SSo_EIwHSd4)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md
index 75c1c7119..4d5ea1ef3 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md
@@ -2,6 +2,8 @@
Unlike a centralized server operated by a single company or organization, decentralized storage systems consist of a peer-to-peer network of user-operators who hold a portion of the overall data, creating a resilient file storage sharing system.
+Visit the following resources to learn more:
+
- [Blockchain Storage](https://www.techtarget.com/searchstorage/definition/blockchain-storage)
- [Decentralized Storage](https://ethereum.org/en/developers/docs/storage/)
- [How IPFS works](https://docs.ipfs.tech/concepts/how-ipfs-works/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md
index d4be2eac5..c5477b0ac 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md
@@ -4,6 +4,8 @@ Mining is the process of adding transaction details to the Blockchain, like send
An Incentive is basically a reward given to a Blockchain Miner for speeding up the transactions and making correct decisions while processing the complete transaction securely.
+Visit the following resources to learn more:
+
- [Blockchain Incentives to Miners](https://www.geeksforgeeks.org/blockchain-incentives-to-miners/)
- [Ethereum Consensus Mechanisms](https://ethereum.org/en/developers/docs/consensus-mechanisms/)
- [Solana Staking Rewards](https://docs.solana.com/implemented-proposals/staking-rewards)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md
index 4c2e9b930..510befc39 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md
@@ -2,6 +2,8 @@
Blockchains, cryptocurrency, smart contracts, and oracles have emerged as new technologies for coordinating social and economic activities in a more secure, transparent, and accessible manner. Most importantly, these technologies are revealing the power of cryptographic guarantees—what we often call cryptographic truth—in restoring users’ trust in everyday interactions.
+Visit the following resources to learn more:
+
- [What Crypto Is Really About](https://blog.chain.link/what-crypto-is-really-about/)
- [Ethereum Consensus Mechanisms](https://ethereum.org/en/developers/docs/consensus-mechanisms/)
- [The Superiority of Cryptographic Truth](https://youtu.be/AEtBPbmIRKQ)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md
index 881c69227..53d6a9946 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md
@@ -2,6 +2,8 @@
A fork happens whenever a community makes a change to the blockchain’s protocol, or basic set of rules.
+Visit the following resources to learn more:
+
- [Blockchain Fork](https://en.wikipedia.org/wiki/Fork_(blockchain))
- [What is a fork?](https://www.coinbase.com/learn/crypto-basics/what-is-a-fork)
- [What Is a Hard Fork?](https://www.investopedia.com/terms/h/hard-fork.asp)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md
index 02437a7bb..c47208928 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md
@@ -2,6 +2,8 @@
A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange through a blockchain, which is not reliant on any central authority, such as a government or bank, to uphold or maintain it.
+Visit the following resources to learn more:
+
- [What Is Cryptocurrency?](https://www.investopedia.com/terms/c/cryptocurrency.asp)
- [Cryptocurrency: What It Is and How It Works](https://www.nerdwallet.com/article/investing/cryptocurrency)
- [How Cryptocurrency actually works.](https://youtu.be/rYQgy8QDEBI)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md
index 96aea6de3..299b2ec8e 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md
@@ -2,5 +2,7 @@
A cryptocurrency wallet is an application that functions as a wallet for your cryptocurrency.
+Visit the following resources to learn more:
+
- [What is a Cryptocurrency Wallet?](https://www.investopedia.com/terms/b/bitcoin-wallet.asp)
- [What is a Crypto Wallet? A Beginner’s Guide](https://crypto.com/university/crypto-wallets)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md
index 025140b6d..001b57221 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md
@@ -2,6 +2,8 @@
Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of adversarial behavior.
+Visit the following resources to learn more:
+
- [Cryptography](https://en.wikipedia.org/wiki/Cryptography)
- [What is Cryptography](https://www.synopsys.com/glossary/what-is-cryptography.html)
- [Asymmetric Encryption - Simply explained](https://youtu.be/AQDCe585Lnc)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md
index c0432d248..f20352e1e 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md
@@ -2,6 +2,8 @@
Consensus for blockchain is a procedure in which the peers of a Blockchain network reach agreement about the present state of the data in the network. Through this, consensus algorithms establish reliability and trust in the Blockchain network.
+Visit the following resources to learn more:
+
- [Consensus Mechanisms in Blockchain: A Beginner’s Guide](https://crypto.com/university/consensus-mechanisms-in-blockchain)
- [Consensus Mechanisms](https://ethereum.org/en/developers/docs/consensus-mechanisms/)
- [What Is a Consensus Mechanism?](https://www.coindesk.com/learn/what-is-a-consensus-mechanism/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md
index 29be1c224..93fe0798c 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md
@@ -2,6 +2,8 @@
The concept of “blockchain interoperability” refers to the ability of different blockchain networks to exchange and leverage data between one another and to move unique types of digital assets between the networks’ respective blockchains.
+Visit the following resources to learn more:
+
- [Cross-Chain Interoperability: What it Means for Blockchain](https://www.gemini.com/cryptopedia/why-is-interoperability-important-for-blockchain)
- [Blockchain Interoperability : Why Is Cross Chain Technology Important?](https://101blockchains.com/blockchain-interoperability/)
- [Blockchain Interoperability – Understanding Cross-Chain Technology](https://www.blockchain-council.org/blockchain/blockchain-interoperability/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md
index 3660b0ed4..ea50a97be 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md
@@ -2,6 +2,8 @@
Solana is a public blockchain platform with smart contract functionality. Its native cryptocurrency is SOL.
+Visit the following resources to learn more:
+
- [What is Solana, and how does it work?](https://cointelegraph.com/news/what-is-solana-and-how-does-it-work)
- [Beginners Guide To Solana](https://solana.com/news/getting-started-with-solana-development)
- [Solana Introduction](https://docs.solana.com/introduction)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/101-ton.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/101-ton.md
index 10a92ffed..266fc7729 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/101-ton.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/101-ton.md
@@ -2,6 +2,8 @@
TON is a fully decentralized layer-1 blockchain designed by Telegram to onboard billions of users. It boasts ultra-fast transactions, tiny fees, easy-to-use apps, and is environmentally friendly.
+Visit the following resources to learn more:
+
- [TON Telegram integration highlights synergy of blockchain community](https://cointelegraph.com/news/ton-telegram-integration-highlights-synergy-of-blockchain-community)
- [Start building on The Open Network](https://ton.org/dev)
- [TON Introduction](https://ton.org/docs/learn/introduction)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md
index 38cb2c5b4..dc3aaa488 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md
@@ -2,5 +2,7 @@
Avalanche describes itself as an “open, programmable smart contracts platform for decentralized applications.” What does that mean? Like many other decentralized protocols, Avalanche has its own token called AVAX, which is used to pay transaction fees and can be staked to secure the network.
+Visit the following resources to learn more:
+
- [Avalanche whitepaper](https://assets.website-files.com/5d80307810123f5ffbb34d6e/6008d7bbf8b10d1eb01e7e16_Avalanche%20Platform%20Whitepaper.pdf)
- [Avalanche official website](https://www.avax.network/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md
index 0ee61fa82..5844b77c5 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md
@@ -2,5 +2,7 @@
Binance Smart Chain (also known as BNB Chain) is a blockchain project initiated by Binance as a central piece of their cryptocurrency exchange, which is the largest exchange in the world in terms of daily trading volume of cryptocurrencies.
+Visit the following resources to learn more:
+
- [Binance whitepaper](https://www.exodus.com/assets/docs/binance-coin-whitepaper.pdf)
- [BNB Chain overview](https://www.binance.com/en/blog/all/bnb-chain-blockchain-for-exchanging-the-world-304219301536473088)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md
index 7849471d2..b1d2e4dc5 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md
@@ -4,6 +4,8 @@ Ethereum is a programmable blockchain platform with the capacity to support smar
The Ethereum platform launched in 2015, and it’s now the second largest form of crypto next to Bitcoin (BTC).
+Visit the following resources to learn more:
+
- [Ethereum whitepaper](https://ethereum.org/en/whitepaper/)
- [Intro to Ethereum](https://ethereum.org/en/developers/docs/intro-to-ethereum/)
- [A gentle introduction to Ethereum](https://bitsonblocks.net/2016/10/02/gentle-introduction-ethereum/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md
index 6f5b1aff6..738415b75 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md
@@ -2,5 +2,7 @@
Fantom is a decentralized, open-source smart contract platform that supports decentralized applications (dApps) and digital assets. It's one of many blockchain networks built as a faster, more efficient alternative to Ethereum, it uses the proof-of-stake consensus mechanism.
+Visit the following resources to learn more:
+
- [Fantom whitepaper](https://arxiv.org/pdf/1810.10360.pdf)
- [Fantom overview](https://docs.fantom.foundation/ )
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md
index ffdb73455..b44f53fb0 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md
@@ -2,5 +2,7 @@
Gnosis is a blockchain based on Ethereum, which changed the consensus model to PoS to solve major issues on the Ethereum mainnet. While the platform solves problems surrounding transaction fees and speed, it also means that the Gnosis chain is less decentralized, as it is somewhat reliant on the Ethereum chain.
+Visit the following resources to learn more:
+
- [Gnosis whitepaper](https://blockchainlab.com/pdf/gnosis_whitepaper.pdf)
- [Gnosis overview](https://developers.gnosischain.com/#gnosis-chain)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md
index bfe97c27a..0a04f190a 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md
@@ -2,5 +2,7 @@
Huobi's ECO Chain (also known as HECO) is a public blockchain that provides developers with a low-cost onchain environment for running decentralized apps (dApps) of smart contracts and storing digital assets.
+Visit the following resources to learn more:
+
- [Huobi Eco Chain whitepaper](https://www.hecochain.com/developer.133bd45.pdf)
- [Introduction to HECO Chain](https://docs.hecochain.com/#/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/index.md
index 887a2233d..3f04c8efe 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/index.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/index.md
@@ -4,4 +4,6 @@ The Ethereum Virtual Machine (EVM) is a dedicated software virtual stack that ex
Many blockchains have forked the Ethereum blockchain and added functionality on top, these blockchains are referred to as EVM-based blockchains.
+Visit the following resources to learn more:
+
- [What is Ethereum Virtual Machine?](https://moralis.io/evm-explained-what-is-ethereum-virtual-machine/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md
index 2073dc6e9..840f5ef3d 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md
@@ -4,5 +4,7 @@ Moonbeam is a Polkadot network parachain that promises cross-chain interoperabil
Moonriver is an incentivized testnet. It enables developers to create, test, and adjust their protocols prior to launching on Moonbeam. Moonbeam is the mainnet of the ecosystem.
+Visit the following resources to learn more:
+
- [About Moonbream](https://docs.moonbeam.network/learn/platform/networks/moonbeam/)
- [Moonbeam Vision](https://docs.moonbeam.network/learn/platform/vision/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md
index a36ae8b8a..eda992018 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md
@@ -2,5 +2,7 @@
Polygon, formerly known as the Matic Network, is a scaling solution that aims to provide multiple tools to improve the speed and reduce the cost and complexities of transactions on the Ethereum blockchain.
+Visit the following resources to learn more:
+
- [Polygon whitepaper](https://polygon.technology/lightpaper-polygon.pdf)
- [Introduction to Polygon](https://wiki.polygon.technology/docs/develop/getting-started)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md
index 20d13b2ba..acbe595b4 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md
@@ -2,5 +2,7 @@
Arbitrum aims to reduce transaction fees and congestion by moving as much computation and data storage off of Ethereum's main blockchain (layer 1) as it can. Storing data off of Ethereum's blockchain is known as Layer 2 scaling solutions.
+Visit the following resources to learn more:
+
- [Arbitrum whitepaper](https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-kalodner.pdf)
- [Inside Arbitrum](https://developer.offchainlabs.com/docs/Inside_Arbitrum)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/index.md
index e66198b51..96321a8a8 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/index.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/index.md
@@ -4,5 +4,7 @@ Layer-2 refers to a network or technology that operates on top of an underlying
This category of scaling solutions entails shifting a portion of Ethereum's transactional burden to an adjacent system architecture, which then handles the brunt of the network’s processing and only subsequently reports back to Ethereum to finalize its results.
+Visit the following resources to learn more:
+
- [Layer-1 and Layer-2 Blockchain Scaling Solutions](https://www.gemini.com/cryptopedia/blockchain-layer-2-network-layer-1-network)
- [Layer 2 - Binance Academy](https://academy.binance.com/en/glossary/layer-2)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md
index a41880a61..777d5317a 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md
@@ -4,5 +4,7 @@ Moonbeam is a Polkadot network parachain that promises cross-chain interoperabil
Moonriver is an incentivized testnet. It enables developers to create, test, and adjust their protocols prior to launching on Moonbeam. Moonbeam is the mainnet of the ecosystem.
+Visit the following resources to learn more:
+
- [About Moonbeam](https://docs.moonbeam.network/learn/platform/networks/moonbeam/)
- [Moonbeam Vision](https://docs.moonbeam.network/learn/platform/vision/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/index.md
index ada27f7e0..ee13bd0d0 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/index.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/index.md
@@ -2,5 +2,7 @@
Blockchain systems vary considerably in their design, particularly with regard to the consensus mechanisms used to perform the essential task of verifying network data.
+Visit the following resources to learn more:
+
- [Types of Blockchains: PoW, PoS, and Private](https://www.gemini.com/cryptopedia/blockchain-types-pow-pos-private)
- [Types of Blockchain](https://www.geeksforgeeks.org/types-of-blockchain/)
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/index.md
index 3312548b4..0c43ba84d 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/index.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/index.md
@@ -1,4 +1,6 @@
# Blockchain general knowledge
+Visit the following resources to learn more:
+
- [The Complete Course On Understanding Blockchain Technology](https://www.udemy.com/course/understanding-blockchain-technology/)
- [Blockchain Technology Explained](https://youtu.be/qOVAbKKSH10)
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md
index b7a05399c..86f8b47f6 100644
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md
@@ -2,5 +2,7 @@
Hybrid smart contracts combine code running on the blockchain (on-chain) with data and computation from outside the blockchain (off-chain) provided by Decentralized Oracle Networks.
+Visit the following resources to learn more:
+
- [Hybrid Smart Contracts Explained](https://blog.chain.link/hybrid-smart-contracts-explained/)
- [A complete guide to understand hybrid smart contracts](https://www.leewayhertz.com/hybrid-smart-contracts/)
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md
index f4c302060..318205603 100644
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md
@@ -2,5 +2,7 @@
Chainlink is a decentralized network of oracles that enables smart contracts to securely interact with real-world data and services that exist outside of blockchain networks.
+Visit the following resources to learn more:
+
- [What Is Chainlink? A Beginner’s Guide](https://blog.chain.link/what-is-chainlink/)
- [What Is Chainlink in 5 Minutes](https://www.gemini.com/cryptopedia/what-is-chainlink-and-how-does-it-work)
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md
index 765c3505f..c715bcbd7 100644
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md
@@ -2,6 +2,8 @@
By leveraging many different data sources, and implementing an oracle system that isn’t controlled by a single entity, decentralized oracle networks provide an increased level of security and fairness to smart contracts.
+Visit the following resources to learn more:
+
- [Decentralized Oracle Networks](https://medium.com/coinmonks/decentralized-oracle-networks-9fead28f5fe5)
- [A Beginner’s Guide To The Evolution Of Decentralized Oracle Networks](https://chainlinktoday.com/a-beginners-guide-to-the-evolution-of-decentralized-oracle-networks/)
- [Understanding Oracle Networks](https://coinmetro.com/blog/understanding-oracle-networks/)
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/index.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/index.md
index 178a0b733..e0c73f23e 100644
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/index.md
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/index.md
@@ -2,5 +2,7 @@
A blockchain oracle is a third-party service that connects smart contracts with the outside world, primarily to feed information in from the world, but also the reverse. Information from the world encapsulates multiple sources so that decentralised knowledge is obtained.
+Visit the following resources to learn more:
+
- [Blockchain Oracle](https://en.wikipedia.org/wiki/Blockchain_oracle)
- [What Is a Blockchain Oracle?](https://chain.link/education/blockchain-oracles)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md
index 81c865931..fac9aee67 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md
@@ -7,6 +7,8 @@ Solidity is an object-oriented programming language created specifically by Ethe
Like any other programming languages, Solidity also has variables, functions, classes, arithmetic operations, string manipulation, and many more.
+Visit the following resources to learn more:
+
- [Solidity Programming Language](https://soliditylang.org/)
- [Solidity Tutorial](https://www.tutorialspoint.com/solidity/index.htm)
- [Solidity Course by FreeCodeCamp](https://www.youtube.com/watch?v=ipwxYa-F1uY)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md
index 89b3f2e42..922e5a79b 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md
@@ -2,5 +2,7 @@
Vyper is a contract-oriented, pythonic programming language that targets the Ethereum Virtual Machine (EVM).
+Visit the following resources to learn more:
+
- [Vyper Programming Language](https://vyper.readthedocs.io/en/stable/)
- [Learn Vyper in Y Minutes](https://learnxinyminutes.com/docs/vyper/)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md
index 171952c4a..592c0e289 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md
@@ -2,5 +2,7 @@
Rust is a multi-paradigm, general-purpose programming language. Rust emphasizes performance, type safety, and concurrency. It is popular on smart contract chains Solana and Polkadot.
+Visit the following resources to learn more:
+
- [Rust Programming Language](https://www.rust-lang.org/)
- [How to write and deploy a smart contract in Rust](https://learn.figment.io/tutorials/write-and-deploy-a-smart-contract-on-near)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/index.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/index.md
index 7b1de9e29..8c1edbbe8 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/index.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/index.md
@@ -2,4 +2,6 @@
Smart contracts can be programmed using relatively developer-friendly languages. If you're experienced with Python or any curly-bracket language, you can find a language with familiar syntax.
+Visit the following resources to learn more:
+
- [Smart Contract Languages](https://ethereum.org/en/developers/docs/smart-contracts/languages/)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md
index 2fb04ee33..f5c161013 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md
@@ -2,5 +2,7 @@
Unit testing involves testing individual components in a smart contract for correctness. A unit test is simple, quick to run, and provides a clear idea of what went wrong if the test fails.
+Visit the following resources to learn more:
+
- [Smart Contracts Unit Testing](https://ethereum.org/en/developers/docs/smart-contracts/testing/#unit-testing)
- [Tips for Unit Testing Ethereum Smart Contracts in Solidity](https://betterprogramming.pub/a-few-tips-for-unit-testing-ethereum-smart-contract-in-solidity-d804062068fb)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md
index 2de1ad976..10e785fe2 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md
@@ -2,4 +2,6 @@
Integration tests validate interactions between multiple components. For smart contract testing this can mean interactions between different components of a single contract, or across multiple contracts.
+Visit the following resources to learn more:
+
- [Unit tests vs integration tests | Smart contract testing course](https://youtu.be/GxnX9k8i0zM)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md
index b8a1d5610..1102de281 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md
@@ -2,5 +2,7 @@
Code coverage is a metric that can help you understand how much of your source is tested. It's a very useful metric that can help you assess the quality of your test suite.
+Visit the following resources to learn more:
+
- [Testing Smart Contracts](https://ethereum.org/en/developers/docs/smart-contracts/testing/)
- [Smart Contract Code Coverage In Hardhat](https://medium.com/coinmonks/smart-contract-code-coverage-in-hardhat-d4a5ff6c9ba6)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/index.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/index.md
index aa4a48c79..d17940efb 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/index.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/index.md
@@ -2,6 +2,8 @@
Testing smart contracts is one of the most important measures for improving smart contract security. Unlike traditional software, smart contracts cannot typically be updated after launching, making it imperative to test rigorously before deploying contracts onto mainnet.
+Visit the following resources to learn more:
+
- [Testing Smart Contracts](https://ethereum.org/en/developers/docs/smart-contracts/testing/)
- [How to Test Ethereum Smart Contracts](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d)
- [Writing automated smart contract tests](https://docs.openzeppelin.com/learn/writing-automated-tests)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md b/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md
index 46a2c3ed0..d678700fd 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md
@@ -2,5 +2,7 @@
Unlike other software, smart contracts don’t run on a local computer or a remote server: they live on the blockchain. Thus, interacting with them is different from more traditional applications.
+Visit the following resources to learn more:
+
- [Deploying Smart Contracts](https://ethereum.org/en/developers/docs/smart-contracts/deploying/)
- [Deploying and interacting with smart contracts](https://docs.openzeppelin.com/learn/deploying-and-interacting)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md b/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md
index a21170c94..0ee0d995b 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md
@@ -2,4 +2,6 @@
Monitoring smart contracts allow their authors to view its activity and interactions based on generated transactions and events, allowing verification of the contract's intended purpose and functionality.
+Visit the following resources to learn more:
+
- [Monitoring Smart Contracts](https://consensys.github.io/smart-contract-best-practices/development-recommendations/solidity-specific/event-monitoring/)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md b/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md
index 634f23c99..3bccd15cd 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md
@@ -2,6 +2,8 @@
Smart contracts are immutable by default. Once they are created there is no way to alter them, effectively acting as an unbreakable contract among participants. However, for some scenarios, it is desirable to be able to modify them.
+Visit the following resources to learn more:
+
- [Upgrading Ethereum contracts](https://ethereum.org/en/developers/docs/smart-contracts/upgrading/)
- [Upgrading smart contracts](https://docs.openzeppelin.com/learn/upgrading-smart-contracts)
- [What are Upgradable Smart Contracts? Full Guide](https://moralis.io/what-are-upgradable-smart-contracts-full-guide/)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md b/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md
index 09e303f9d..8861e3b35 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md
@@ -4,6 +4,8 @@ An ‘Ethereum Request for Comments’ (ERC) is a document that programmers use
While there are several Ethereum standards. These ERC Ethereum standards are the most well-known and popular: ERC-20, ERC-721, ERC-1155, and ERC-777.
+Visit the following resources to learn more:
+
- [What are Ethereum request for comments (ERC) Standards](https://dev.to/envoy_/ks-what-are-ethereum-request-for-comments-erc-standards-5f80)
- [ERC-20 Token Standard](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/)
- [ERC-721 Token Standard (NFTs)](https://decrypt.co/resources/erc-721-ethereum-nft-token-standard)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md b/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md
index 3fdd126bf..9cc88522d 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md
@@ -2,5 +2,7 @@
A cryptocurrency wallet is a device, physical medium, program, or service which stores the public and/or private keys for cryptocurrency transactions. In addition to this basic function of storing the keys, a cryptocurrency wallet more often also offers the functionality of encrypting and/or signing information.
+Visit the following resources to learn more:
+
- [What is a crypto wallet?](https://www.coinbase.com/learn/crypto-basics/what-is-a-crypto-wallet)
- [What is a Crypto Wallet? A Beginner’s Guide](https://crypto.com/university/crypto-wallets)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md b/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md
index 4c1343f5f..20960f663 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md
@@ -2,5 +2,7 @@
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger.
+Visit the following resources to learn more:
+
- [Integrated Development Environments](https://ethereum.org/en/developers/docs/ides/)
- [Remix - Ethereum IDE & community](https://remix-project.org/)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md b/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md
index 8cafc89ce..4c2de55ea 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md
@@ -4,5 +4,7 @@ A crypto faucet lets users earn small crypto rewards by completing simple tasks.
Faucets are common in development environments where developers obtain testnet crypto in order develop and test their application prior to mainnet deployment.
+Visit the following resources to learn more:
+
- [What Is A Crypto Faucet?](https://academy.binance.com/en/articles/what-is-a-crypto-faucet)
- [What are crypto faucets and how do they work?](https://cointelegraph.com/news/what-are-crypto-faucets-and-how-do-they-work)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md b/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md
index 8dca70e35..9c8f8b1be 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md
@@ -2,5 +2,7 @@
Decentralized storage is where data is stored on a decentralized network across multiple locations by users or groups who are incentivized to join, store, and keep data accessible. The servers used are hosted by people, rather than a single company. Anyone is free to join, they are kept honest due to smart contracts, and they are incentivized to participate via tokens.
+Visit the following resources to learn more:
+
- [What Is Decentralized Storage?](https://medium.com/@ppio/what-is-decentralized-storage-9c4b761942e2)
- [Decentralized Storage](https://ethereum.org/en/developers/docs/storage/)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/index.md b/src/roadmaps/blockchain/content/103-smart-contracts/index.md
index 5d171ae56..3274a014f 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/index.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/index.md
@@ -2,6 +2,8 @@
A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control or document legally relevant events and actions according to the terms of a contract or an agreement.
+Visit the following resources to learn more:
+
- [Smart Contracts Introduction](https://www.blockchain.education/blockchain101/smart-contracts)
- [What Is a Smart Contract?](https://chain.link/education/smart-contracts)
- [Smart contracts - Simply Explained](https://youtu.be/ZE2HxTmxfrI)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md
index 348bc0cc5..aa24c2650 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md
@@ -2,5 +2,7 @@
Hardhat is an Ethereum development environment. It allows users to compile contracts and run them on a development network. Get Solidity stack traces, console.log and more.
+Visit the following resources to learn more:
+
- [Hardhat Overview](https://hardhat.org/hardhat-runner/docs/getting-started#overview)
- [Build and Deploy Smart Contracts using Hardhat](https://youtu.be/GBc3lBrXEBo)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md
index 059451ae6..527425327 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md
@@ -2,5 +2,7 @@
Brownie is a Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
+Visit the following resources to learn more:
+
- [Brownie Overview](https://eth-brownie.readthedocs.io/)
- [Python and Blockchain: Deploy Smart Contracts using Brownie](https://youtu.be/QfFO22lwSw4)
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md
index 70af769a4..179bcaf60 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md
@@ -2,5 +2,7 @@
A development environment, testing framework, and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier.
+Visit the following resources to learn more:
+
- [Truffle Overview](https://trufflesuite.com/docs/truffle/)
- [Truffle Tutorial for Beginners | Compile, Test & Deploy Smart contracts to any EVM Blockchain](https://youtu.be/62f757RVEvU)
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md
index f2ebf3832..62b4ced9d 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md
@@ -2,6 +2,8 @@
Foundry is a smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line and via Solidity scripts.
+Visit the following resources to learn more:
+
- [Foundry Overview](https://book.getfoundry.sh/)
- [Intro to Foundry](https://youtu.be/fNMfMxGxeag)
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/index.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/index.md
index f53bab60e..a0c807cad 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/index.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/index.md
@@ -2,6 +2,8 @@
Building a full-fledged dapp requires different pieces of technology. Software frameworks include many of the needed features or provide easy plugin systems to pick the tools you desire.
+Visit the following resources to learn more:
+
- [dApp Development Frameworks](https://ethereum.org/en/developers/docs/frameworks/)
- [A Definitive List of Ethereum Developer Tools - Frameworks](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974#frameworks)
- [Top 10 Smart Contract Developer Tools You Need for 2022](https://medium.com/better-programming/top-10-smart-contract-developer-tools-you-need-for-2022-b763f5df689a)
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md
index ae6d2910b..45d509b94 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md
@@ -4,6 +4,8 @@
Static analysis is the analysis of smart contracts performed without executing them.
- - [Getting Started with Smart Contract Fuzzing](https://www.immunebytes.com/blog/getting-started-with-smart-contract-fuzzing/)
+ Visit the following resources to learn more:
+
+- [Getting Started with Smart Contract Fuzzing](https://www.immunebytes.com/blog/getting-started-with-smart-contract-fuzzing/)
- [Solidity smart contract Static Code Analysis](https://lightrains.com/blogs/solidity-static-analysis-tools/#static-code-analysis)
- [Smart contract Fuzzing](https://youtu.be/LRyyNzrqgOc)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md
index f02a9039b..7032a5c60 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md
@@ -2,6 +2,8 @@
Smart contract audits enable developers to provide a thorough analysis of smart contract sets. The main goal of a smart contract audit is to detect and eliminate vulnerabilities, starting with the most common threat vectors.
+Visit the following resources to learn more:
+
- [Smart Contract Attack Vectors](https://github.com/kadenzipfel/smart-contract-attack-vectors)
- [Solidity Security: Comprehensive list of known attack vectors and common anti-patterns](https://blog.sigmaprime.io/solidity-security.html)
- [Blockchain Attack Vectors: Vulnerabilities of the Most Secure Technology](https://www.apriorit.com/dev-blog/578-blockchain-attack-vectors)
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md
index 40be7f2d5..cbe57e53c 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md
@@ -2,4 +2,6 @@
The security of cryptographic systems depends on some secret data that is known to authorized persons but unknown and unpredictable to others. To achieve this unpredictability, some randomization is typically employed. Modern cryptographic protocols often require frequent generation of random quantities. Cryptographic attacks that subvert or exploit weaknesses in this process are known as randomness attacks.
+Visit the following resources to learn more:
+
- [Smart Contract Randomness or ReplicatedLogic Attack](https://blog.finxter.com/randomness-or-replicatedlogic-attack-on-smart-contracts/)
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/index.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/index.md
index 31eac6d50..0c13bc5b5 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/index.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/index.md
@@ -2,5 +2,7 @@
Smart contract programming requires a different engineering mindset. The cost of failure can be high, and change can be difficult.
+Visit the following resources to learn more:
+
- [Ethereum Smart Contract Security Best Practices](https://consensys.github.io/smart-contract-best-practices/)
- [Smart Contract Security and Auditing 101](https://youtu.be/0aJfCug1zTM)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md
index ed40f9a37..ce3b32d9e 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md
@@ -2,4 +2,6 @@
Slither is a Solidity static analysis framework written in Python 3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Slither enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses.
+Visit the following resources to learn more:
+
- [Slither, the Solidity source analyzer](https://github.com/crytic/slither/blob/master/README.md)
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md
index 2fa4826a6..224cfed49 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md
@@ -2,4 +2,6 @@
Manticore is a symbolic execution tool for analysis of smart contracts and binaries.
+Visit the following resources to learn more:
+
- [Manticore Docs](https://manticore.readthedocs.io/)
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md
index 856898777..20c08a62f 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md
@@ -2,5 +2,7 @@
MythX is a comprehensive smart contract security analysis tools developed by Consensys. It allows users to detect security vulnerabilities in Ethereum smart contracts throughout the development life cycle as well as analyze Solidity dapps for security holes and known smart contract vulnerabilities.
+Visit the following resources to learn more:
+
- [MythX Official Site](https://mythx.io/)
- [MythX Documentation](https://docs.mythx.io/)
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md
index d7305f388..a5936f961 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md
@@ -2,4 +2,6 @@
Echidna is a Haskell program designed for fuzzing/property-based testing of Ethereum smarts contracts. It uses sophisticated grammar-based fuzzing campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions.
+Visit the following resources to learn more:
+
- [Echidna: A Fast Smart Contract Fuzzer](https://github.com/crytic/echidna/blob/master/README.md)
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/index.md b/src/roadmaps/blockchain/content/105-blockchain-security/index.md
index d704cf9b5..1e1300b6d 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/index.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/index.md
@@ -2,5 +2,7 @@
Smart contracts are extremely flexible, capable of both holding large quantities of tokens (often in excess of $1B) and running immutable logic based on previously deployed smart contract code. While this has created a vibrant and creative ecosystem of trustless, interconnected smart contracts, it is also the perfect ecosystem to attract attackers looking to profit by exploiting vulnerabilities
+Visit the following resources to learn more:
+
- [Smart Contract Security](https://ethereum.org/en/developers/docs/smart-contracts/security/)
- [Ethereum Smart Contract Security Recommendations](https://consensys.net/blog/developers/ethereum-smart-contract-security-recommendations/)
diff --git a/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md b/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md
index b8a1cf011..1e524fa10 100644
--- a/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md
+++ b/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md
@@ -2,4 +2,6 @@
OpenZeppelin Contracts helps you minimize risk by using battle-tested libraries of smart contracts for Ethereum and other blockchains. It includes the most used implementations of ERC standards.
+Visit the following resources to learn more:
+
- [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/)
diff --git a/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md b/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md
index 68a29ab4d..6996067da 100644
--- a/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md
+++ b/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md
@@ -2,6 +2,8 @@
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
+Visit the following resources to learn more:
+
- [Version Control System Introduction](https://www.youtube.com/watch?v=zbKdDsNNOhg)
- [Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
- [Learn Git in 20 Minutes](https://youtu.be/Y9XZQO1n_7c?t=21)
diff --git a/src/roadmaps/blockchain/content/107-version-control-systems/index.md b/src/roadmaps/blockchain/content/107-version-control-systems/index.md
index 94a6a2900..e42abdb33 100644
--- a/src/roadmaps/blockchain/content/107-version-control-systems/index.md
+++ b/src/roadmaps/blockchain/content/107-version-control-systems/index.md
@@ -2,6 +2,8 @@
Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code changes were made.
+Visit the following resources to learn more:
+
- [Git](https://git-scm.com/)
- [Mercurial](https://www.mercurial-scm.org/)
- [What is Version Control?](https://www.atlassian.com/git/tutorials/what-is-version-control)
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md
index 0d5adcabd..48cca8b6a 100644
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md
@@ -2,6 +2,8 @@
GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
+Visit the following resources to learn more:
+
- [GitHub Website](https://github.com)
- [GitHub Documentation](https://docs.github.com/en/get-started/quickstart)
- [What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E)
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md
index 702145982..2421d64b6 100644
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md
@@ -2,5 +2,7 @@
GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
+Visit the following resources to learn more:
+
- [GitLab Website](https://gitlab.com/)
- [GitLab Documentation](https://docs.gitlab.com/)
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md
index bc56c2899..61d7a2118 100644
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md
@@ -4,6 +4,8 @@ Bitbucket is a Git based hosting and source code repository service that is Atla
Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers on-premise or cloud environment)
+Visit the following resources to learn more:
+
- [Bitbucket Website](https://bitbucket.org/product)
- [A brief overview of Bitbucket](https://bitbucket.org/product/guides/getting-started/overview#a-brief-overview-of-bitbucket)
- [Getting started with Bitbucket](https://bitbucket.org/product/guides/basics/bitbucket-interface)
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/index.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/index.md
index 3469e1dc7..1878fee65 100644
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/index.md
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/index.md
@@ -2,6 +2,8 @@
When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit.
+Visit the following resources to learn more:
+
- [GitHub](https://github.com/features/)
- [GitLab](https://about.gitlab.com/)
- [BitBucket](https://bitbucket.org/product/guides/getting-started/overview)
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md
index 1720d466f..137deb5f3 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md
@@ -8,6 +8,8 @@
React is the most popular front-end JavaScript library for building user interfaces. React can also render on the server using Node and power mobile apps using React Native.
+Visit the following resources to learn more:
+
- [Visit Dedicated React Roadmap](/react)
- [React Website](https://reactjs.org/)
- [Official Getting Started](https://reactjs.org/tutorial/tutorial.html)
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md
index 9de9d80cb..3a5e8741c 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md
@@ -8,5 +8,7 @@
Angular is a component based front-end development framework built on TypeScript which includes a collection of well-integrated libraries that include features like routing, forms management, client-server communication, and more.
+Visit the following resources to learn more:
+
- [Visit Dedicated Angular Roadmap](/angular)
- [Official - Getting started with Angular](https://angular.io/start)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md
index ddf3f9be2..a23a2f486 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md
@@ -8,6 +8,8 @@
Vue.js is an open-source JavaScript framework for building user interfaces and single-page applications. It is mainly focused on front end development.
+Visit the following resources to learn more:
+
- [Visit Dedicated Vue Roadmap](/vue)
- [Vue.js Website](https://vuejs.org/)
- [Official Getting Started](https://vuejs.org/v2/guide/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/index.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/index.md
index c0d91f045..ec62c34a2 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/index.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/index.md
@@ -2,6 +2,8 @@
Web frameworks are designed to write web applications. Frameworks are collections of libraries that aid in the development of a software product or website. Frameworks for web application development are collections of various tools. Frameworks vary in their capabilities and functions, depending on the tasks set. They define the structure, establish the rules, and provide the development tools required.
+Visit the following resources to learn more:
+
- [Web3 Frontend – Everything You Need to Learn About Building Dapp Frontends](https://moralis.io/web3-frontend-everything-you-need-to-learn-about-building-dapp-frontends/)
- [What is the difference between a framework and a library?](https://www.youtube.com/watch?v=D_MO9vIRBcA)
- [ Which JS Framework is best?](https://www.youtube.com/watch?v=cuHDQhDhvPE)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-testing.md b/src/roadmaps/blockchain/content/109-dapps/100-testing.md
index 71b5d970b..69730831a 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-testing.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-testing.md
@@ -4,6 +4,8 @@ A key to building software that meets requirements without defects is testing. S
Like traditional software, testing dApps involves testing the entire stack that makes up the dApp (backend, frontend, db, etc.).
+Visit the following resources to learn more:
+
- [What is Software Testing?](https://www.guru99.com/software-testing-introduction-importance.html)
- [Testing Pyramid](https://www.browserstack.com/guide/testing-pyramid-for-test-automation)
- [How to test dApps (decentralized applications)](https://rhian-is.medium.com/how-to-test-dapps-decentralized-applications-4662cf61db90)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/101-deployment.md b/src/roadmaps/blockchain/content/109-dapps/101-deployment.md
index a97f13cd9..c55c9f49a 100644
--- a/src/roadmaps/blockchain/content/109-dapps/101-deployment.md
+++ b/src/roadmaps/blockchain/content/109-dapps/101-deployment.md
@@ -2,5 +2,7 @@
Deploying a dApp involves deployment of all of its layers, generally through a management framework.
+Visit the following resources to learn more:
+
- [Tutorial for building an Ethereum DApp with Integrated Web3 Monitoring](https://www.moesif.com/blog/blockchain/ethereum/Tutorial-for-building-Ethereum-Dapp-with-Integrated-Error-Monitoring/)
- [Build and Deploy a Modern Web 3.0 Blockchain App](https://youtu.be/Wn_Kb3MR_cU)
diff --git a/src/roadmaps/blockchain/content/109-dapps/103-architecture.md b/src/roadmaps/blockchain/content/109-dapps/103-architecture.md
index f062c4972..cf7429227 100644
--- a/src/roadmaps/blockchain/content/109-dapps/103-architecture.md
+++ b/src/roadmaps/blockchain/content/109-dapps/103-architecture.md
@@ -2,6 +2,8 @@
Unlike Web2 applications, in Web3 there’s no centralized database that stores the application state or user identity, and there’s no centralized web server where the backend logic resides.
+Visit the following resources to learn more:
+
- [The Architecture of a Web 3.0 application](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application)
- [Decentralized Applications Architecture: Back End, Security and Design Patterns](https://www.freecodecamp.org/news/how-to-design-a-secure-backend-for-your-decentralized-application-9541b5d8bddb/)
- [Blockchain Development: Dapp Architecture](https://youtu.be/KBSq8-LnUDI?t=286)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/104-security.md b/src/roadmaps/blockchain/content/109-dapps/104-security.md
index 720abf615..1717af7b3 100644
--- a/src/roadmaps/blockchain/content/109-dapps/104-security.md
+++ b/src/roadmaps/blockchain/content/109-dapps/104-security.md
@@ -2,6 +2,8 @@
dApps face unique security challenges as they run on immutable blockchains. dApps are harder to maintain, and developers cannot modify or update their codes once deployed. Therefore, special consideration must be taken before putting it on the blockchain.
+Visit the following resources to learn more:
+
- [DAPP Security Standards](https://github.com/Dexaran/DAPP-security-standards/blob/master/README.md)
- [dApp Security Considerations](https://livebook.manning.com/book/building-ethereum-dapps/chapter-14/)
- [dApp Security:All You Need to Know](https://www.immunebytes.com/blog/dapp-security/#Benefits_of_DApps_Security)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md
index 9124992d4..6c6b4c157 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md
@@ -2,6 +2,8 @@
Decentralized finance offers financial instruments without relying on intermediaries such as brokerages, exchanges, or banks by using smart contracts on a blockchain.
+Visit the following resources to learn more:
+
- [Decentralized Finance (DeFi) Definition](https://www.investopedia.com/decentralized-finance-defi-5113835)
- [What is DeFi?](https://www.coinbase.com/learn/crypto-basics/what-is-defi)
- [What is DeFi? (Decentralized Finance Animated)](https://www.youtube.com/watch?v=17QRFlml4pA)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md
index 4b6fc18a9..291e7eb9b 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md
@@ -2,5 +2,7 @@
A decentralized autonomous organization (DAO) is an emerging form of legal structure. With no central governing body, every member within a DAO typically shares a common goal and attempt to act in the best interest of the entity. Popularized through cryptocurrency enthusiasts and blockchain technology, DAOs are used to make decisions in a bottoms-up management approach.
+Visit the following resources to learn more:
+
- [What Is A DAO And How Do They Work?](https://consensys.net/blog/blockchain-explained/what-is-a-dao-and-how-do-they-work/)
- [Decentralized Autonomous Organization (DAO)](https://www.investopedia.com/tech/what-dao/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md
index 1dfd2de53..fd2aabf76 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md
@@ -2,6 +2,8 @@
A non-fungible token (NFT) is a financial security consisting of digital data stored in a blockchain, a form of distributed ledger. The ownership of an NFT is recorded in the blockchain, and can be transferred by the owner, allowing NFTs to be sold and traded.
+Visit the following resources to learn more:
+
- [Non-Fungible Token (NFT)](https://www.investopedia.com/non-fungible-tokens-nft-5115211)
- [NFTs, explained](https://www.theverge.com/22310188/nft-explainer-what-is-blockchain-crypto-art-faq)
- [NFT Explained In 5 Minutes | What Is NFT? - Non Fungible Token](https://youtu.be/NNQLJcJEzv0)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md
index 12da570e9..ea4b7f44b 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md
@@ -2,5 +2,7 @@
Blockchain technology has the ability to eliminate all the tolls exacted by centralized organization when transferring payments.
+Visit the following resources to learn more:
+
- [How does blockchain impact global payments and remittances?](https://consensys.net/blockchain-use-cases/finance/#payments)
- [Smart Contract Use Cases - Payments](https://blog.chain.link/smart-contract-use-cases/#external-payments)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md
index 5a6624981..93275b037 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md
@@ -2,5 +2,7 @@
Blockchain technology has the ability to automate claims functions by verifying real-world data through the use of an oracle. It also automates payments between parties for claims and thus lower administrative costs for insurance companies.
+Visit the following resources to learn more:
+
- [Smart Contract Use Cases - Insurance](https://blog.chain.link/smart-contract-use-cases/#insurance)
- [Top 7 Use Cases of Blockchain in the Insurance Industry](https://imaginovation.net/blog/blockchain-insurance-industry-examples/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/index.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/index.md
index 449636f3e..d3fddd954 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/index.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/index.md
@@ -2,6 +2,8 @@
dApps can be used for just about anything that requires two or more parties to agree on something. When the appropriate conditions are met, the smart contract will execute automatically. An important differentiation is that these transactions are no longer based on trust but they are rather based on cryptographically-backed smart contracts.
+Visit the following resources to learn more:
+
- [What Is a dApp? A Guide to Decentralized Applications](https://www.sofi.com/learn/content/what-is-a-dapp/)
- [Blockchain Use Cases and Applications by Industry](https://consensys.net/blockchain-use-cases/)
- [The real-world use cases for blockchain technology](https://roboticsandautomationnews.com/2022/05/20/the-real-world-use-cases-for-blockchain-technology/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md
index 105d6e96a..dd6947d67 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md
@@ -2,4 +2,6 @@
Alchemy is a developer platform that empowers companies to build scalable and reliable decentralized applications without the hassle of managing blockchain infrastructure in-house.
+Visit the following resources to learn more:
+
- [Alchemy official site](https://www.alchemy.com/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md
index 287eca8a7..4f77b5eed 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md
@@ -2,4 +2,6 @@
Infura provides the tools and infrastructure that allow developers to easily take their blockchain application from testing to scaled deployment - with simple, reliable access to Ethereum and IPFS.
+Visit the following resources to learn more:
+
- [Infura official site](https://infura.io/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md
index 98742a4a4..f9a7aedcf 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md
@@ -2,4 +2,6 @@
Moralis provides a single workflow for building high performance dapps. Fully compatible with your favorite web3 tools and services.
+Visit the following resources to learn more:
+
- [Moralis official site](https://moralis.io/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md
index 3c903ec60..6ec39b217 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md
@@ -2,4 +2,6 @@
QuickNode is a Web3 developer platform used to build and scale blockchain applications.
+Visit the following resources to learn more:
+
- [Quicknode official site](https://www.quicknode.com/)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/index.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/index.md
index 2777fa701..86b1f1c8e 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/index.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/index.md
@@ -2,5 +2,7 @@
Running your own blockchain node can be challenging, especially when getting started or while scaling fast. There are a number of services that run optimized node infrastructures for you, so you can focus on developing your application or product instead.
+Visit the following resources to learn more:
+
- [Blockchain Node Providers and How They Work](https://www.infoq.com/articles/blockchain-as-a-service-get-block/)
- [Node as a Service - Ethereum](https://ethereum.org/en/developers/docs/nodes-and-clients/nodes-as-a-service/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md
index 3ef92a85d..ec69d0d03 100644
--- a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md
+++ b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md
@@ -2,6 +2,8 @@
JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. It lets us add interactivity to pages e.g. you might have seen sliders, alerts, click interactions, and popups etc on different websites -- all of that is built using JavaScript. Apart from being used in the browser, it is also used in other non-browser environments as well such as Node.js for writing server-side code in JavaScript, Electron for writing desktop applications, React Native for mobile applications and so on.
+Visit the following resources to learn more:
+
- [W3Schools – JavaScript Tutorial](https://www.w3schools.com/js/)
- [The Modern JavaScript Tutorial](https://javascript.info/)
- [Eloquent Javascript - Book](https://eloquentjavascript.net/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md
index 68b1caf6a..140761c4f 100644
--- a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md
+++ b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md
@@ -8,6 +8,8 @@
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
+Visit the following resources to learn more:
+
- [Visit Dedicated Python Roadmap](/python)
- [Python Website](https://www.python.org/)
- [Python Getting Started](https://www.python.org/about/gettingstarted/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md
index f05437be3..0f98d6580 100644
--- a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md
+++ b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md
@@ -9,6 +9,8 @@
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
+Visit the following resources to learn more:
+
- [Visit Dedicated Go Roadmap](/golang)
- [A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [Go Reference Documentation](https://go.dev/doc/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md
index 1f41492fb..6a8875ad3 100644
--- a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md
+++ b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md
@@ -2,4 +2,6 @@
The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. It was originally designed for use with ethers.io and has since expanded into a more general-purpose library.
+Visit the following resources to learn more:
+
- [Ethers.js Documentation](https://docs.ethers.io/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md
index e1c23d784..4748f700b 100644
--- a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md
+++ b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md
@@ -2,4 +2,6 @@
web3.js is a collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket.
+Visit the following resources to learn more:
+
- [web3.js Documentation](https://web3js.readthedocs.io/)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md
index 7f59afbad..bba55ab67 100644
--- a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md
+++ b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md
@@ -2,4 +2,6 @@
A library that gives you access to the powerful Moralis Server backend from your JavaScript app.
+Visit the following resources to learn more:
+
- [Moralis SDK](https://github.com/MoralisWeb3/Moralis-JS-SDK/blob/main/README.md)
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md
index 64f156e5a..85d3944cf 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md
@@ -2,4 +2,6 @@
Go Ethereum (Geth) is one of the three original implementations (along with C++ and Python) of the Ethereum protocol. It is written in Go, fully open source and licensed under the GNU LGPL v3.
+Visit the following resources to learn more:
+
- [Geth Documentation](https://geth.ethereum.org/docs/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md
index 0fe1119c8..0fbcea7c1 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md
@@ -2,4 +2,6 @@
Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in Java.
+Visit the following resources to learn more:
+
- [Besu Ethereum Client](https://github.com/hyperledger/besu)
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md
index fdfd785b7..d2d9ac3da 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md
@@ -2,4 +2,6 @@
Nethermind is a high-performance, highly configurable full Ethereum protocol client built on .NET that runs on Linux, Windows, and macOS, and supports Clique, Aura, Ethash, and Proof-of-Stake consensus algorithms.
+Visit the following resources to learn more:
+
- [Nethermind Documentation](https://docs.nethermind.io/nethermind/)
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md
index 86154bcc0..2224d14be 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md
@@ -2,4 +2,6 @@
Substrate is a Software Development Kit (SDK) specifically designed to provide you with all of the fundamental components s blockchain requires so you can focus on crafting the logic that makes your chain unique and innovative.
+Visit the following resources to learn more:
+
- [Substrate Documentation](https://docs.substrate.io/quick-start/)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/index.md b/src/roadmaps/blockchain/content/109-dapps/index.md
index 63884aa6b..faa4f1770 100644
--- a/src/roadmaps/blockchain/content/109-dapps/index.md
+++ b/src/roadmaps/blockchain/content/109-dapps/index.md
@@ -2,5 +2,7 @@
A decentralised application (dApp) is an application that can operate autonomously, through the use of smart contracts that run on a blockchain. Like traditional applications, dApps provide some function or utility to its users.
+Visit the following resources to learn more:
+
- [Introduction to dApps](https://ethereum.org/en/developers/docs/dapps/)
- [What Is a Dapp? Decentralized Apps Explained](https://www.coindesk.com/learn/what-is-a-dapp-decentralized-apps-explained/)
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md b/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md
index 41a3839d9..358290100 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md
@@ -2,5 +2,7 @@
State channels refer to the process in which users transact with one another directly outside of the blockchain, or ‘off-chain,’ and greatly minimize their use of ‘on-chain’ operations.
+Visit the following resources to learn more:
+
- [The Basics of State Channels](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/)
- [State Channels: An Introduction to Off-chain Transactions](https://www.talentica.com/blogs/state-channels-an-introduction-to-off-chain-transactions/)
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md b/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md
index 960465d72..e12362e35 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md
@@ -4,4 +4,6 @@
Optimistic rollups allow anyone to publish blocks without providing proofs of validity. However, to ensure the chain remains safe, optimistic rollups specify a time window during which anyone can dispute a state transition.
+Visit the following resources to learn more:
+
- [How Do Optimistic Rollups Work (The Complete Guide)](https://www.alchemy.com/overviews/optimistic-rollups)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md b/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md
index 5ce70ef3d..c7837acc9 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md
@@ -2,4 +2,6 @@
Zero-knowledge rollups (ZK-rollups) are layer 2 scaling solutions that increase the throughput of a blockchain by moving computation and state-storage off-chain.
+Visit the following resources to learn more:
+
- [Zero-Knowledge Rollups - Ethereum](https://ethereum.org/en/developers/docs/scaling/zk-rollups)
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md b/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md
index f5405c904..3750adee8 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md
@@ -2,4 +2,6 @@
Validium is a scaling solution that enforces integrity of transactions using validity proofs like ZK-rollups, but doesn’t store transaction data on the Ethereum Mainnet. While off-chain data availability introduces trade-offs, it can lead to massive improvements in scalability
+Visit the following resources to learn more:
+
- [Validium - Ethereum](https://ethereum.org/en/developers/docs/scaling/validium/)
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md b/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md
index 575e61c49..090278949 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md
@@ -2,4 +2,6 @@
Plasma is a framework that allows the creation of child blockchains that use the main Ethereum chain as a layer of trust and arbitration. In Plasma, child chains can be designed to meet the requirements of specific use cases, specifically those that are not currently feasible on Ethereum.
+Visit the following resources to learn more:
+
- [Plasma Chains - Ethereum](https://ethereum.org/en/developers/docs/scaling/plasma/)
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md b/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md
index 358ead188..103f151af 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md
@@ -2,5 +2,7 @@
A sidechain is a separate blockchain network that connects to another blockchain – called a parent blockchain or mainnet – via a two-way peg.
+Visit the following resources to learn more:
+
- [Sidechains - Ethereum](https://ethereum.org/en/developers/docs/scaling/sidechains/)
- [An Introduction to Sidechains](https://www.coindesk.com/learn/an-introduction-to-sidechains)
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md b/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md
index 6a87eef32..fc8a4e2ab 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md
@@ -2,5 +2,7 @@
Ethereum 2.0 marks a long-anticipated upgrade to the Ethereum public mainnet. Designed to accelerate Ethereum’s usage and adoption by improving its performance, Ethereum 2.0 implements Proof of Stake.
+Visit the following resources to learn more:
+
- [What Is Ethereum 2.0?](https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/)
- [What Is Ethereum 2.0? Understanding The Merge](https://www.forbes.com/advisor/investing/cryptocurrency/ethereum-2/)
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md b/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md
index 6cd74cbfa..cb9d06a77 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md
@@ -2,4 +2,6 @@
On-chain scaling refers to any direct modification made to a blockchain, like data sharding and execution sharding in the incoming version of Ethereum 2.0. Another type of on-chain scaling would be a sidechain with two-way bridge to Ethereum, like Polygon.
+Visit the following resources to learn more:
+
- [Scaling - Ethereum](https://ethereum.org/en/developers/docs/scaling/)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md b/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md
index f4740d760..ea66038b6 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md
@@ -2,5 +2,7 @@
C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible.
+Visit the following resources to learn more:
+
- [Learn Cpp](https://learncpp.com/)
- [C++ Reference](https://en.cppreference.com/)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md b/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md
index 2e44ecec2..ca1493e52 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md
@@ -2,6 +2,8 @@
C is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of the targeted CPUs.
+Visit the following resources to learn more:
+
- [Learn C - W3Schools](https://www.w3schools.com/c/)
- [Learn C - Tutorials Point](https://www.tutorialspoint.com/cprogramming/index.htm)
- [C Programming Tutorial for Beginners](https://www.youtube.com/watch?v=KJgsSFOSQv0)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md b/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md
index a6784eded..44ab4e3ba 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md
@@ -9,6 +9,8 @@ description='Click to check the detailed Java Roadmap.'
Java is general-purpose language, primarily used for Internet-based applications.
It was created in 1995 by James Gosling at Sun Microsystems and is one of the most popular options for backend developers.
+Visit the following resources to learn more:
+
- [Visit Dedicated Java Roadmap](/java)
- [Java Website](https://www.java.com/)
- [Codeacademy - Free Course](https://www.codecademy.com/learn/learn-java)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md b/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md
index 8a103785e..0272eb6e7 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md
@@ -8,6 +8,8 @@ description='Click to check the detailed Python Roadmap.'
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
+Visit the following resources to learn more:
+
- [Visit Dedicated Python Roadmap](/python)
- [Python Website](https://www.python.org/)
- [Python Getting Started](https://www.python.org/about/gettingstarted/)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md b/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md
index 051492b14..680fa846d 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md
@@ -9,6 +9,8 @@ description='Click to check the detailed Go Roadmap.'
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
+Visit the following resources to learn more:
+
- [Visit Dedicated Go Roadmap](/golang)
- [A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [Go Reference Documentation](https://go.dev/doc/)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md b/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md
index f08f0c241..6e0d794f0 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md
@@ -2,6 +2,8 @@
C# (pronounced "C sharp") is a general purpose programming language made by Microsoft. It is used to perform different tasks and can be used to create web apps, games, mobile apps, etc.
+Visit the following resources to learn more:
+
- [C# Learning Path](https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/?WT.mc_id=dotnet-35129-website)
- [C# on W3 schools](https://www.w3schools.com/cs/index.php)
- [Introduction to C#](https://docs.microsoft.com/en-us/shows/CSharp-101/?WT.mc_id=Educationalcsharp-c9-scottha)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md b/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md
index 5c26cbc59..c58a0d470 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md
@@ -2,6 +2,8 @@
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
+Visit the following resources to learn more:
+
- [The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
- [Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
- [Rust vs. Go: Why They’re Better Together](https://thenewstack.io/rust-vs-go-why-theyre-better-together/)
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/index.md b/src/roadmaps/computer-science/content/101-pick-a-language/index.md
index c546f5981..cf097052e 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/index.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/index.md
@@ -7,6 +7,8 @@ You need to pick a programming language to learn the Computer Science concepts.
Given below is the list of resources; pick ones relevant to the language of your choice.
+Visit the following resources to learn more:
+
- [Learn C++ - W3Schools](https://www.w3schools.com/cpp/)
- [Learn C++ - Tutorials Point](https://www.tutorialspoint.com/cplusplus/index.htm)
- [C++ Programming Course - Beginner to Advanced](https://www.youtube.com/watch?v=8jLOx1hD3_o)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/100-array.md b/src/roadmaps/computer-science/content/102-data-structures/100-array.md
index 1b593cab0..32b88d6a2 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/100-array.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/100-array.md
@@ -2,6 +2,8 @@
Arrays store elements in contiguous memory locations, resulting in easily calculable addresses for the elements stored and this allows faster access to an element at a specific index.
+Visit the following resources to learn more:
+
- [Array Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=QJNwK2uJyGs)
- [Array Data Structure - Coursera](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)
- [UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md b/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md
index 0f98b29a7..d8dfeac35 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md
@@ -2,6 +2,8 @@
Arrays store elements in contiguous memory locations, resulting in easily calculable addresses for the elements stored and this allows faster access to an element at a specific index. Linked lists are less rigid in their storage structure and elements are usually not stored in contiguous locations, hence they need to be stored with additional tags giving a reference to the next element. This difference in the data storage scheme decides which data structure would be more suitable for a given situation.
+Visit the following resources to learn more:
+
- [Linked List Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=odW9FU8jPRQ)
- [Linked Lists in 4 minutes](https://www.youtube.com/watch?v=F8AbOfQwl1c)
- [Singly Linked Lists](https://www.coursera.org/lecture/data-structures/singly-linked-lists-kHhgK)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/102-stack.md b/src/roadmaps/computer-science/content/102-data-structures/102-stack.md
index ddf11ad0e..aa5b2a434 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/102-stack.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/102-stack.md
@@ -2,6 +2,8 @@
Stack is a linear collection of items where items are inserted and removed in a particular order. Stack is also called a LIFO Data Structure because it follows the "Last In First Out" principle i.e. the item that is inserted in the last is the one that is taken out first.
+Visit the following resources to learn more:
+
- [Stack Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=I5lq6sCuABE)
- [Stack in 3 minutes](https://www.youtube.com/watch?v=KcT3aVgrrpU)
- [Stack Data Structure](https://www.coursera.org/lecture/data-structures/stacks-UdKzQ)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/103-queue.md b/src/roadmaps/computer-science/content/102-data-structures/103-queue.md
index 93b738db1..68252c09b 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/103-queue.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/103-queue.md
@@ -2,6 +2,8 @@
Queue is a linear collection of items where items are inserted and removed in a particular order. The queue is also called a FIFO Data Structure because it follows the "First In, First Out" principle i.e., the item that is inserted in the first is the one that is taken out first.
+Visit the following resources to learn more:
+
- [Queue Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=mDCi1lXd9hc)
- [Queue in 3 Minutes](https://www.youtube.com/watch?v=D6gu-_tmEpQ)
- [Queues - Coursera](https://www.coursera.org/lecture/data-structures/queues-EShpq)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md b/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md
index 55c9a3887..01a049b07 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md
@@ -2,6 +2,8 @@
Hash Table, Map, HashMap, Dictionary or Associative are all the names of the same data structure. It is one of the most commonly used data structures.
+Visit the following resources to learn more:
+
- [Hash Table | Illustrated Data Structures](https://www.youtube.com/watch?v=jalSiaIi8j4)
- [Hash Table in 4 Minutes](https://youtu.be/knV86FlSXJ8)
- [Hashing with Chaining](https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md
index b4f254a49..4c3e8c3d0 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md
@@ -2,5 +2,7 @@
A binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child.
+Visit the following resources to learn more:
+
- [Binary Trees - Part 1](https://www.youtube.com/watch?v=76dhtgZt38A&list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY&index=9)
- [Binary Trees - Part 2](https://www.youtube.com/watch?v=U1JYwHcFfso&list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY&index=10)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
index 49978e1c2..0ef2a512a 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
@@ -2,6 +2,8 @@
A binary search tree, also called an ordered or sorted binary tree, is a rooted binary tree data structure with the key of each internal node being greater than all the keys in the respective node's left subtree and less than the ones in its right subtree.
+Visit the following resources to learn more:
+
- [Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
- [Binary Search Trees - Coursera](https://www.coursera.org/learn/data-structures/lecture/E7cXP/introduction)
- [Binary Search Trees - MIT](https://www.youtube.com/watch?v=76dhtgZt38A)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
index 5941ad89c..e7de4db29 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
@@ -2,5 +2,7 @@
A full Binary tree is a special type of binary tree in which every parent node/internal node has either two or no children. It is also known as a proper binary tree.
+Visit the following resources to learn more:
+
- [Full Binary Tree](https://www.programiz.com/dsa/full-binary-tree)
- [Types of Binary Tree](https://www.geeksforgeeks.org/types-of-binary-tree/)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
index e641f3f58..6f3e6fb9c 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
@@ -2,5 +2,7 @@
A complete binary tree is a special type of binary tree where all the levels of the tree are filled completely except the lowest level nodes which are filled from as left as possible.
+Visit the following resources to learn more:
+
- [Complete Binary Tree - Geeks for Geeks](https://www.geeksforgeeks.org/complete-binary-tree)
- [Complete Binary Tree - Programiz](https://www.programiz.com/dsa/complete-binary-tree)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
index c039f29ac..a47de9c51 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
@@ -2,4 +2,6 @@
A balanced binary tree, also referred to as a height-balanced binary tree, is defined as a binary tree in which the height of the left and right subtree of any node differ by not more than 1.
+Visit the following resources to learn more:
+
- [Balanced Binary Tree](https://www.programiz.com/dsa/balanced-binary-tree)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
index 4f48d1399..e86006342 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
@@ -2,4 +2,6 @@
An unbalanced binary tree is one that is not balanced.
+Visit the following resources to learn more:
+
- [Balanced Binary Tree](https://www.programiz.com/dsa/balanced-binary-tree)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/index.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/index.md
index 1263002a5..61bbc72d5 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/index.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/index.md
@@ -2,5 +2,7 @@
A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value and a list of references to other nodes (the “children”).
+Visit the following resources to learn more:
+
- [Tree Data Structure - Geeks for Geeks](https://www.geeksforgeeks.org/introduction-to-tree-data-structure-and-algorithm-tutorials/)
- [Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md
index d339dde80..0bcc9c38b 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md
@@ -2,4 +2,6 @@
A directed graph is graph, i.e., a set of objects (called vertices or nodes) that are connected together, where all the edges are directed from one vertex to another. A directed graph is sometimes called a digraph or a directed network. In contrast, a graph where the edges are bidirectional is called an undirected graph.
+Visit the following resources to learn more:
+
- [Directed Graph](https://en.wikipedia.org/wiki/Directed_graph)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
index 53045658b..ff280b9c6 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
@@ -2,4 +2,6 @@
An undirected graph is graph, i.e., a set of objects (called vertices or nodes) that are connected together, where all the edges are bidirectional. An undirected graph is sometimes called an undirected network. In contrast, a graph where the edges point in a direction is called a directed graph.
+Visit the following resources to learn more:
+
- [Undirected Graph](https://mathinsight.org/definition/undirected_graph)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
index f128e5c91..4a9418b6e 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
@@ -2,6 +2,8 @@
A spanning tree is a subset of Graph G, which has all the vertices covered with minimum possible number of edges. Hence, a spanning tree does not have cycles and it cannot be disconnected..
+Visit the following resources to learn more:
+
- [Spanning Tree](https://www.tutorialspoint.com/data_structures_algorithms/spanning_tree.htm)
- [CSE373 2020 - Lecture 13 - Minimum Spanning Trees](https://www.youtube.com/watch?v=oolm2VnJUKw&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=13)
- [CSE373 2020 - Lecture 14 - Minimum Spanning Trees (cont)](https://www.youtube.com/watch?v=RktgPx0MarY&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=14)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md
index 3075f64c6..7af47b5a2 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md
@@ -6,5 +6,7 @@ The adjacency matrix is a 2D array of size `V x V` where `V` is the number of ve
Adjacency list is an array of vectors. Size of the array is equal to the number of vertices. Let the array be `array[]`. An entry `array[i]` represents the list of vertices adjacent to the ith vertex. This representation can also be used to represent a weighted graph. The weights of edges can be represented as lists of pairs.
+Visit the following resources to learn more:
+
- [Adjacency Matrix - Graph Representation](https://www.programiz.com/dsa/graph-adjacency-matrix)
- [Adjacency List - Graph Representation](https://www.programiz.com/dsa/graph-adjacency-list)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/index.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/index.md
index 7226ebdf0..cc7484e12 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/index.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/index.md
@@ -2,6 +2,8 @@
Graphs in data structures are non-linear data structures made up of a finite number of nodes or vertices and the edges that connect them. Graphs in data structures are used to address real-world problems in which it represents the problem area as a network like telephone networks, circuit networks, and social networks.
+Visit the following resources to learn more:
+
- [Graph Data Structure](https://www.simplilearn.com/tutorials/data-structure-tutorial/graphs-in-data-structure)
- [Graph Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=0sQE8zKhad0)
- [CSE373 2020 - Lecture 10 - Graph Data Structures](https://www.youtube.com/watch?v=Sjk0xqWWPCc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=10)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/107-heap.md b/src/roadmaps/computer-science/content/102-data-structures/107-heap.md
index 0c6782e4d..aab74a851 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/107-heap.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/107-heap.md
@@ -2,6 +2,8 @@
Heap is a tree-based data structure that follows the properties of a complete binary tree and is either a Min Heap or a Max Heap.
+Visit the following resources to learn more:
+
- [Heap | Illustrated Data Structures](https://www.youtube.com/watch?v=F_r0sJ1RqWk)
- [Priority Queue - Introduction](https://www.coursera.org/lecture/data-structures/introduction-2OpTs)
- [Heaps and Heap Sort](https://www.youtube.com/watch?v=B7hVxCmfPtM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=5)
diff --git a/src/roadmaps/computer-science/content/102-data-structures/index.md b/src/roadmaps/computer-science/content/102-data-structures/index.md
index 3a80b5b24..5bfb9f86a 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/index.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/index.md
@@ -2,6 +2,8 @@
As the name indicates itself, a **Data Structure** is a way of organizing the data in the **memory** so that it can be used efficiently. Some common data structures are array, linked list, stack, hashtable, queue, tree, heap, and graph.
+Visit the following resources to learn more:
+
- [What are Data Structures?](https://www.geeksforgeeks.org/data-structures)
- [ Data Structures and Algorithms](https://www.javatpoint.com/data-structure-tutorial)
- [Data Structures Illustrated](https://www.youtube.com/watch?v=9rhT3P1MDHk&list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md
index f0fc56716..058b413a4 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md
@@ -2,6 +2,8 @@
Big O Notation describes, how well an algorithm scales with the input size. It is used to describe the worst case scenario of an algorithm. It is used to compare algorithms and to determine which algorithm is better.
+Visit the following resources to learn more:
+
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
- [moviesCS 61B Lecture 19: Asymptotic Analysis](https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
index cae2e79c5..606eb3fbd 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
@@ -2,5 +2,7 @@
While Big O Notation refers to the upper bound of a function, Big Theta Notation refers to the exact bound of a function. Big Theta Notation is used to describe the exact growth rate of a function. It is denoted by the symbol Θ.
+Visit the following resources to learn more:
+
- [Big Oh Notation (and Omega and Theta)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN&index=3)
- [Asymptotic Notation - CS50](https://www.youtube.com/watch?v=iOq5kSKqeR4)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
index 5cf1c4bbf..c28e6248c 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
@@ -2,5 +2,7 @@
Big Omega notation is used to describe the lower bound of a function. It is the opposite of Big O notation. While Big O is used to describe the worst case scenario of an algorithm, Big Omega is used to describe the best case scenario of an algorithm.
+Visit the following resources to learn more:
+
- [Big Oh Notation (and Omega and Theta)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN&index=3)
- [Asymptotic Notation - CS50](https://www.youtube.com/watch?v=iOq5kSKqeR4)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
index 055b1a228..572b16737 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
@@ -2,5 +2,7 @@
Constant time algorithms are the simplest and most efficient algorithms. They are algorithms that always take the same amount of time to run, regardless of the size of the input. This is the best case scenario for an algorithm, and is the goal of all algorithms.
+Visit the following resources to learn more:
+
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
index b310ee273..158f705b1 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
@@ -2,5 +2,7 @@
Logarithmic complexity algorithms are the second fastest algorithms. They are faster than linear algorithms, but slower than constant algorithms.
+Visit the following resources to learn more:
+
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
index 2c5561a7c..078698974 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
@@ -2,5 +2,7 @@
Linear algorithms are algorithms that have a runtime that is directly proportional to the size of the input. This means that the runtime of the algorithm will increase linearly with the size of the input. For example, if the input size is 10, the runtime will be 10 times the runtime of the algorithm when the input size is 1. If the input size is 100, the runtime will be 100 times the runtime of the algorithm when the input size is 1.
+Visit the following resources to learn more:
+
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
index 66de26745..cd32b5522 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
@@ -9,5 +9,7 @@ def polynomial_algorithm(n):
print(i, j)
```
+Visit the following resources to learn more:
+
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
index 49a5d8bd7..3ba55af41 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
@@ -11,5 +11,7 @@ def exponential(n):
As you can see, the algorithm's runtime grows exponentially. For each additional input, the algorithm will take twice as long to run.
+Visit the following resources to learn more:
+
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/index.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/index.md
index 2c6c2c118..39662e36c 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/index.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/index.md
@@ -12,5 +12,7 @@ Given below is the list of common algorithmic runtimes. The runtimes are listed
* O(n!) - Factorial
* O(n^n) - Polynomial
+Visit the following resources to learn more:
+
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/index.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/index.md
index d3e0af1a5..6606ecc0d 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/index.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/index.md
@@ -6,6 +6,8 @@ An algorithm may not have the same performance for different types of inputs. Wi
The study of change in performance of the algorithm with the change in the order of the input size is defined as asymptotic analysis.
+Visit the following resources to learn more:
+
- [Asymptotic Analysis: Big-O Notation and More](https://www.programiz.com/dsa/asymptotic-notations)
- [Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [Big O Notation in 5 Minutes](https://www.youtube.com/watch?v=__vX2sjlpXU)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
index e0a84c409..7c62cb989 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
@@ -2,6 +2,8 @@
Bubble sort is a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order. The pass through the list is repeated until the list is sorted.
+Visit the following resources to learn more:
+
- [Bubble Sort](https://www.youtube.com/watch?v=P00xJgWzz2c&index=1&list=PL89B61F78B552C1AB)
- [Analyzing Bubble Sort](https://www.youtube.com/watch?v=ni_zk257Nqo&index=7&list=PL89B61F78B552C1AB)
- [Bubble sort in 2 minutes](https://youtu.be/xli_FI7CuzA)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
index d8d511845..363257dd0 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
@@ -2,5 +2,7 @@
Selection sort is a sorting algorithm that selects the smallest unsorted item in the list and swaps it with index 0, then finds the next smallest and places it into index 1 and so on.
+Visit the following resources to learn more:
+
- [Selection Sort in 3 Minutes](https://www.youtube.com/watch?v=g-PGLbMth_g)
- [Selection Sort](https://www.coursera.org/lecture/algorithms-part1/selection-UQxFT)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
index 88865d7f7..2845cdfa5 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
@@ -2,6 +2,8 @@
Insertion sort is a simple sorting algorithm that builds the final sorted array one item at a time by comparisons. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.
+Visit the following resources to learn more:
+
- [Insertion Sort — MIT](https://www.youtube.com/watch?v=Kg4bqzAqRBM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=4)
- [Insertion Sort in 3 Minutes](https://www.youtube.com/watch?v=JU767SDMDvA)
- [Insertion Sort Algorithm](https://www.programiz.com/dsa/insertion-sort)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
index 3a3d94d72..4ebc20c3e 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
@@ -2,6 +2,8 @@
Heap sort is a comparison based sorting algorithm. It is similar to selection sort where we first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element.
+Visit the following resources to learn more:
+
- [Heap Sort Algorithm](https://www.programiz.com/dsa/heap-sort)
- [Heap Sort Algorithm - Geeks for Geeks](https://www.geeksforgeeks.org/heap-sort/)
- [Heap Sort in 4 Minutes](https://www.youtube.com/watch?v=2DmK_H7IdTo)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
index 15ae6b715..e76537639 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
@@ -2,6 +2,8 @@
Quick Sort is a divide and conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways.
+Visit the following resources to learn more:
+
- [Quick Sort Algorithm](https://www.programiz.com/dsa/quick-sort)
- [Quick Sort Algorithm - Geeks for Geeks](https://www.geeksforgeeks.org/quick-sort/)
- [Quick Sort in 4 Minutes](https://www.youtube.com/watch?v=Hoixgm4-P4M&feature=youtu.be)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
index bddb462e3..1d82bee39 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
@@ -2,6 +2,8 @@
Merge sort is a divide and conquer algorithm. It divides the input array into two halves, calls itself for the two halves, and then merges the two sorted halves. The `merge()` function is used for merging two halves. The `merge(arr, l, m, r)` is key process that assumes that `arr[l..m]` and `arr[m+1..r]` are sorted and merges the two sorted sub-arrays into one.
+Visit the following resources to learn more:
+
- [Merge Sort - Geeks for Geeks](https://www.geeksforgeeks.org/merge-sort/)
- [Merge Sort Algorithm](https://www.programiz.com/dsa/merge-sort)
- [Merge Sort for Linked Lists](https://www.geeksforgeeks.org/merge-sort-for-linked-list/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/index.md
index 9caa6b53e..07233403c 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/index.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/index.md
@@ -4,6 +4,8 @@ Sorting algorithms are used to sort data in a collection. Sorting is a very comm
Learn about the sorting algorithms and know the best case/worst case, average complexity of each. Also, learn about the stability of sorting algorithms.
+Visit the following resources to learn more:
+
- [CS 61B Lecture 29: Sorting I](https://archive.org/details/ucberkeley_webcast_EiUvYS2DT6I)
- [CS 61B Lecture 30: Sorting II](https://archive.org/details/ucberkeley_webcast_2hTY3t80Qsk)
- [CS 61B Lecture 32: Sorting III](https://archive.org/details/ucberkeley_webcast_Y6LOLpxg6Dc)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
index 0c49b4a62..d0fe830d2 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
@@ -2,5 +2,7 @@
Pre-order traversal is a tree traversal algorithm that visits the root node first, then recursively traverses the left subtree, followed by the right subtree.
+Visit the following resources to learn more:
+
- [Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
- [Tree Traversals (Inorder, Preorder and Postorder)](https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
index d8091b23b..ad2f108ef 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
@@ -2,5 +2,7 @@
In-order traversal is a tree traversal algorithm that visits the left subtree, the root, and then the right subtree. This is the most common way to traverse a binary search tree. It is also used to create a sorted list of nodes in a binary search tree.
+Visit the following resources to learn more:
+
- [Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
- [Tree Traversals (Inorder, Preorder and Postorder)](https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
index 3158aedc9..eaf6f3777 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
@@ -2,5 +2,7 @@
Post-order traversal is a type of tree traversal that visits the left subtree, then the right subtree, and finally the root node. This is the opposite of pre-order traversal, which visits the root node first, then the left subtree, and finally the right subtree.
+Visit the following resources to learn more:
+
- [Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
- [Tree Traversals (Inorder, Preorder and Postorder)](https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
index 5240d0e79..e839e0420 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
@@ -2,6 +2,8 @@
Breadth first search is a graph traversal algorithm that starts at the root node and explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.
+Visit the following resources to learn more:
+
- [BFS and DFS in a Binary Tree](https://www.youtube.com/watch?v=uWL6FJhq5fM)
- [Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java](https://www.digitalocean.com/community/tutorials/breadth-first-search-depth-first-search-bfs-dfs)
- [Breadth-first search in 4 minutes](https://www.youtube.com/watch?v=HZ5YTanv5QE)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
index 73bede71b..f5dda5ab8 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
@@ -2,6 +2,8 @@
Depth first search is a graph traversal algorithm that starts at a root node and explores as far as possible along each branch before backtracking.
+Visit the following resources to learn more:
+
- [BFS and DFS in a Binary Tree](https://www.youtube.com/watch?v=uWL6FJhq5fM)
- [Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java](https://www.digitalocean.com/community/tutorials/breadth-first-search-depth-first-search-bfs-dfs)
- [Depth First Search in 4 Minutes](https://www.youtube.com/watch?v=Urx87-NMm6c)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
index eef2dc9b0..e3a4e7105 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
@@ -2,6 +2,8 @@
Breadth first search for a graph is a way to traverse the graph. It starts at the root node and explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.
+Visit the following resources to learn more:
+
- [Breadth First Search or BFS for a Graph](https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/)
- [Graph Algorithms II - DFS, BFS, Kruskals Algorithm, Union Find Data Structure - Lecture 7](https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
index fa1207b9b..dfcd60487 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
@@ -2,4 +2,6 @@
Depth first search is a graph traversal algorithm that starts at a root node and explores as far as possible along each branch before backtracking.
+Visit the following resources to learn more:
+
- [Depth First Search or DFS for a Graph](https://www.geeksforgeeks.org/depth-first-search-or-dfs-for-a-graph/?ref=lbp)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
index ca6c679ea..693f337ad 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
@@ -2,5 +2,7 @@
Bellman ford's algorithm is a graph algorithm that finds the shortest path from a source vertex to all other vertices in a graph. It is a dynamic programming algorithm that uses a bottom-up approach to find the shortest path. It is similar to Dijkstra's algorithm but it can handle negative weights. It is also similar to Floyd-Warshall's algorithm but it can handle negative weights and it is faster than Floyd-Warshall's algorithm.
+Visit the following resources to learn more:
+
- [Bellman-Ford - MIT](https://www.youtube.com/watch?v=f9cVS_URPc0&ab_channel=MITOpenCourseWare)
- [Bellman-Ford in 4 Minutes](https://www.youtube.com/watch?v=9PHkk0UavIM)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
index fa265b139..53a53e3a5 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
@@ -2,5 +2,7 @@
Dijkstra's algorithm is a graph traversal algorithm that finds the shortest path between two nodes in a graph. It is a weighted graph algorithm, meaning that each edge in the graph has a weight associated with it. The algorithm works by finding the shortest path from the starting node to all other nodes in the graph. It does this by keeping track of the distance from the starting node to each node, and then choosing the node with the shortest distance from the starting node to visit next. It then updates the distance of each node from the starting node, and repeats the process until all nodes have been visited.
+Visit the following resources to learn more:
+
- [Dijkstras Algorithm - MIT](https://www.youtube.com/watch?v=NSHizBK9JD8&t=1731s&ab_channel=MITOpenCourseWare)
- [Dijkstras Algorithm in 3 Minutes](https://www.youtube.com/watch?v=_lHSawdgXpI)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
index 8624c8dde..abeac1108 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
@@ -2,5 +2,7 @@
A* is a graph traversal algorithm that is used to find the shortest path between two nodes in a graph. It is a modified version of Dijkstra's algorithm that uses heuristics to find the shortest path. It is used in pathfinding and graph traversal.
+Visit the following resources to learn more:
+
- [A* Search Algorithm - Wikipedia](https://en.wikipedia.org/wiki/A*_search_algorithm)
- [A* Pathfinding (E01: algorithm explanation)](https://www.youtube.com/watch?v=-L-WgKMFuhE)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/index.md
index 266ca2d57..9c3561a9a 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/index.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/index.md
@@ -2,6 +2,8 @@
Graphs in data structures are non-linear data structures made up of a finite number of nodes or vertices and the edges that connect them. Graphs in data structures are used to address real-world problems in which it represents the problem area as a network like telephone networks, circuit networks, and social networks.
+Visit the following resources to learn more:
+
- [Graph Algorithms I - Topological Sorting, Minimum Spanning Trees, Prims Algorithm - Lecture 6](https://www.youtube.com/watch?v=i_AQT_XfvD8&index=6&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [Graph Algorithms II - DFS, BFS, Kruskals Algorithm, Union Find Data Structure - Lecture 7](https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7)
- [Graph Algorithms III: Shortest Path - Lecture 8](https://www.youtube.com/watch?v=DiedsPsMKXc&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
index 880fa5aa1..15a98da07 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
@@ -2,6 +2,8 @@
Dijkstra's algorithm is a greedy algorithm that finds the shortest path between two nodes in a graph. It is a very common algorithm used in computer science and is used in many applications such as GPS navigation, network routing, and finding the shortest path in a maze.
+Visit the following resources to learn more:
+
- [Dijkstras Algorithm in 3 Minutes](https://www.youtube.com/watch?v=_lHSawdgXpI)
- [Dijkstras Algorithm - MIT](https://www.youtube.com/watch?v=NSHizBK9JD8&t=1731s&ab_channel=MITOpenCourseWare)
- [Speeding Up Dijkstras Algorithm - MIT](https://www.youtube.com/watch?v=CHvQ3q_gJ7E&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=18)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
index 40a37a9c4..587f4c095 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
@@ -2,6 +2,8 @@
Huffman coding is a lossless data compression algorithm. The idea is to assign variable-length codes to input characters, lengths of the assigned codes are based on the frequencies of corresponding characters. The most frequent character gets the smallest code and the least frequent character gets the largest code.
+Visit the following resources to learn more:
+
- [Huffman Coding](https://www.programiz.com/dsa/huffman-coding)
- [Huffman Coding | Greedy Algo-3](https://www.geeksforgeeks.org/huffman-coding-greedy-algo-3/)
- [Huffman Coding - Greedy Method](https://www.youtube.com/watch?v=co4_ahEDCho)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
index 7419fd2c2..4b6c72199 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
@@ -2,5 +2,7 @@
Kruskal's algorithm is a greedy algorithm that finds a minimum spanning tree for a connected weighted graph. It is a minimum spanning tree algorithm that takes a graph as input and finds the subset of the edges of that graph which form a tree that includes every vertex, where the total weight of all the edges in the tree is minimized. If the graph is not connected, then it finds a minimum spanning forest (a minimum spanning tree for each connected component).
+Visit the following resources to learn more:
+
- [Kruskals Algorithm in 2 Minutes](https://www.youtube.com/watch?v=71UQH7Pr9kU)
- [Graph Algorithms II - DFS, BFS, Kruskals Algorithm, Union Find Data Structure - Lecture 7](https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
index 762031052..91e4d9ac9 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
@@ -2,6 +2,8 @@
Ford Fulkerson Algorithm is a greedy algorithm that is used to find the maximum flow in a flow network. It is also known as the Edmonds-Karp Algorithm.
+Visit the following resources to learn more:
+
- [Ford-Fulkerson in 5 minutes](https://www.youtube.com/watch?v=Tl90tNtKvxs)
- [Ford-Fulkerson Algorithm for Maximum Flow Problem](https://www.geeksforgeeks.org/ford-fulkerson-algorithm-for-maximum-flow-problem/)
- [Ford-Fulkerson Algorithm](https://www.programiz.com/dsa/ford-fulkerson-algorithm)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
index 9827439ae..e885c148a 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
@@ -2,6 +2,8 @@
Prim's algorithm is a greedy algorithm that finds a minimum spanning tree for a weighted undirected graph. A minimum spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight. A minimum spanning tree for a weighted undirected graph is also called a minimum weight spanning tree or minimum cost spanning tree.
+Visit the following resources to learn more:
+
- [Graph Algorithms I - Topological Sorting, Prims Algorithm - Lecture 6](https://www.youtube.com/watch?v=i_AQT_XfvD8&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7)
- [Prim’s Minimum Spanning Tree (MST) | Greedy Algo-5](https://www.geeksforgeeks.org/prims-minimum-spanning-tree-mst-greedy-algo-5/)
- [Prims Algorithm](https://www.programiz.com/dsa/prim-algorithm)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/index.md
index 718364e4e..0c3f58e01 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/index.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/index.md
@@ -2,6 +2,8 @@
Greedy algorithms are a type of algorithm that always makes the choice that seems to be the best at that moment. This means that it makes a locally-optimal choice in the hope that this choice will lead to a globally-optimal solution.
+Visit the following resources to learn more:
+
- [Greedy Algorithms - Geeks for Geeks](https://www.geeksforgeeks.org/greedy-algorithms/)
- [Greedy Algorithms - Programiz](https://www.programiz.com/dsa/greedy-algorithm)
- [Greedy Algorithms Tutorial – Solve Coding Challenges](https://www.youtube.com/watch?v=bC7o8P_Ste4)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
index e708d0210..5f8d2d5d9 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
@@ -2,6 +2,8 @@
Hamiltonian paths are paths that visit every node in a graph exactly once. They are named after the famous mathematician [Hamilton](https://en.wikipedia.org/wiki/William_Rowan_Hamilton). Hamiltonian paths are a special case of [Hamiltonian cycles](https://en.wikipedia.org/wiki/Hamiltonian_cycle), which are cycles that visit every node in a graph exactly once.
+Visit the following resources to learn more:
+
- [Hamiltonian Path](https://www.hackerearth.com/practice/algorithms/graphs/hamiltonian-path/tutorial/)
- [Hamiltonian Cycle | Backtracking-6](https://www.geeksforgeeks.org/hamiltonian-cycle-backtracking-6/)
- [Hamiltonian Paths and Cycles](https://medium.com/stamatics-iit-kanpur/hamiltonian-paths-and-cycles-4f233bfbc53a)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
index b378e4a22..0e1c43905 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
@@ -2,6 +2,8 @@
N Queen Problem is a famous problem in Computer Science. It is a problem of placing n queens on an n x n chessboard such that no two queens attack each other. The problem is to find all possible solutions to the problem.
+Visit the following resources to learn more:
+
- [N-Queens problem using backtracking in Java/C++](https://www.digitalocean.com/community/tutorials/n-queens-problem-java-c-plus-plus)
- [N Queen Problem | Backtracking-3](https://www.geeksforgeeks.org/n-queen-problem-backtracking-3/)
- [6.1 N Queens Problem using Backtracking](https://www.youtube.com/watch?v=xFv_Hl4B83A)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
index a05b382b8..1c5eb5e12 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
@@ -2,6 +2,8 @@
Maze solving problem is a classic problem in computer science. It is a problem where we have to find a path from a starting point to an end point in a maze. The maze is represented as a grid of cells. Each cell can be either a wall or a path. The path cells are connected to each other. The starting point and the end point are also given. The goal is to find a path from the starting point to the end point. The path can only be made up of path cells. The path cannot go through the wall cells.
+Visit the following resources to learn more:
+
- [Maze Solving Algorithms](https://github.com/john-science/mazelib/blob/main/docs/MAZE_SOLVE_ALGOS.md)
- [Maze Solving Algorithms](https://kidscodecs.com/maze-solving-algorithms/)
- [Maze Solving - Computerphile](https://www.youtube.com/watch?v=rop0W4QDOUI)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
index 163678d8c..c3439abc6 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
@@ -2,6 +2,8 @@
Knight's Tour Problem is a problem where we have to find a path for a knight to visit all the cells of a chessboard without visiting any cell twice.
+Visit the following resources to learn more:
+
- [The Knight’s tour problem | Backtracking-1](https://www.geeksforgeeks.org/the-knights-tour-problem-backtracking-1/)
- [Knights Tour](https://bradfieldcs.com/algos/graphs/knights-tour/)
- [Knights Tour Proble](https://www.codesdope.com/course/algorithms-knights-tour-problem/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/index.md
index c8ced642f..e864ac71a 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/index.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/index.md
@@ -2,5 +2,7 @@
Back tracking algorithms are used to solve problems that can be broken down into smaller sub-problems. The algorithm tries to solve each sub-problem and if it fails, it backtracks and tries to solve the sub-problem in a different way.
+Visit the following resources to learn more:
+
- [Backtracking Algorithms](https://www.geeksforgeeks.org/backtracking-algorithms)
- [Backtracking Algorithm](https://www.programiz.com/dsa/backtracking-algorithm)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
index 9c9853c0b..162f86589 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
@@ -2,6 +2,8 @@
Rabin-Karp algorithm is a string searching algorithm that uses hashing to find any one of a set of pattern strings in a text. For strings of average length `n`, it performs in `O(n+m)` time with `O(m)` space, where `m` is the length of the pattern. It is often used in bioinformatics to search for DNA patterns.
+Visit the following resources to learn more:
+
- [Rabin Karps Algorithm](https://www.coursera.org/lecture/data-structures/rabin-karps-algorithm-c0Qkw)
- [Optimization: Precomputation](https://www.coursera.org/learn/data-structures/lecture/nYrc8/optimization-precomputation)
- [Optimization: Implementation and Analysis](https://www.coursera.org/learn/data-structures/lecture/h4ZLc/optimization-implementation-and-analysis)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
index 16740dfa9..380e3a3e8 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
@@ -2,5 +2,7 @@
Tail recursion is a special kind of recursion where the recursive call is the very last thing in the function. It's a function that does not do anything at all after recursing.
+Visit the following resources to learn more:
+
- [What is tail recursion? Why is it so bad?](https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad)
- [Tail Recursion](https://www.coursera.org/lecture/programming-languages/tail-recursion-YZic1)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
index 84d4f79c9..aaf2a2ea0 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
@@ -4,6 +4,8 @@ Tail recursion is when a function can directly return the result of a recursive
In “non-tail recursion”, there are outstanding operations after the recursive call, and the stack frame cannot be nuked.
+Visit the following resources to learn more:
+
- [What is non-tail recursion?](https://www.quora.com/What-is-non-tail-recursion)
- [Tail vs Non-Tail Recursion](https://www.baeldung.com/cs/tail-vs-non-tail-recursion)
- [Recursion (Solved Problem 1)](https://www.youtube.com/watch?v=IVLUGb_gDDE)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/index.md
index 7309f4ece..fade634ea 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/index.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/index.md
@@ -2,6 +2,8 @@
Recursion is a method of solving problems where the solution depends on solutions to smaller instances of the same problem. A recursive algorithm must have a base case. A recursive algorithm calls itself, recursively.
+Visit the following resources to learn more:
+
- [Recursion in 100 Seconds](https://www.youtube.com/watch?v=rf60MejMz3E)
- [Lecture 8 | Programming Abstractions (Stanford)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=9)
- [Lecture 9 | Programming Abstractions (Stanford)](https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=10)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
index 8214c4238..eb122377a 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
@@ -2,6 +2,8 @@
Binary search is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array. If they are not equal, the half in which the target cannot lie is eliminated and the search continues on the remaining half, again taking the middle element to compare to the target value, and repeating this until the target value is found. If the search ends with the remaining half being empty, the target is not in the array.
+Visit the following resources to learn more:
+
- [Binary Search in 4 Minutes](https://www.youtube.com/watch?v=fDKIpRe8GW4&feature=youtu.be)
- [Binary Search - CS50](https://www.youtube.com/watch?v=D5SrAga1pno)
- [Binary Search - Khan Academy](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
index 0f0e0b18c..87e17d9d7 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
@@ -2,4 +2,6 @@
Linear search is a very simple algorithm that is used to search for a value in an array. It sequentially checks each element of the array until a match is found or until all the elements have been searched.
+Visit the following resources to learn more:
+
- [Linear Search Algorithm](https://www.geeksforgeeks.org/linear-search/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/index.md
index 837f67dca..a7a7a2129 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/index.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/index.md
@@ -2,5 +2,7 @@
Search algorithms are used to find a specific item in a collection of items. For example, if you have a list of names and you want to find a specific name, you can use a search algorithm to find that name.
+Visit the following resources to learn more:
+
- [Searching Algorithms](https://www.geeksforgeeks.org/searching-algorithms/)
- [Search Algorithms – Linear Search and Binary Search](https://www.freecodecamp.org/news/search-algorithms-linear-and-binary-search-explained/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
index 2cef6b986..271342c05 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
@@ -2,6 +2,8 @@
LRU cache is a cache that evicts the least recently used item first. It is a very common cache algorithm. It is used in many places, such as in the browser cache, the database cache, and the cache of the operating system.
+Visit the following resources to learn more:
+
- [The Magic of LRU Cache (100 Days of Google Dev)](https://www.youtube.com/watch?v=R5ON3iwx78M)
- [Implementing LRU - Udacity](https://www.youtube.com/watch?v=bq6N7Ym81iI)
- [LeetCode | 146 LRU Cache | C++ | Explanation](https://www.youtube.com/watch?v=8-FZRAjR7qU)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
index 5661af4c6..e149e9626 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
@@ -2,5 +2,7 @@
LFU Cache is a data structure that stores key-value pairs. It has a fixed size and when it is full, it removes the least frequently used key-value pair. It is a variation of the LRU Cache and is used in many applications such as caching web pages, caching database queries, and caching images.
+Visit the following resources to learn more:
+
- [Least Frequently Used (LFU) Cache Implementation](https://www.geeksforgeeks.org/least-frequently-used-lfu-cache-implementation/)
- [1117. Data Structure - LFU Cache](https://jojozhuang.github.io/algorithm/data-structure-lfu-cache/)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
index 12ff708b8..b2093215e 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
@@ -2,5 +2,7 @@
MFU Cache is a variation of the LRU Cache. The difference is that instead of deleting the least recently used entry, the MFU Cache deletes the least frequently used entry.
+Visit the following resources to learn more:
+
- [Comparison of MFU and LRU page replacement algorithms](https://stackoverflow.com/questions/13597246/comparison-of-mfu-and-lru-page-replacement-algorithms)
- [Why does cache use Most Recently Used (MRU) algorithm as evict policy?](https://stackoverflow.com/questions/5088128/why-does-cache-use-most-recently-used-mru-algorithm-as-evict-policy)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/index.md
index b4fdcddb4..94cc9c0b5 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/index.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/index.md
@@ -2,5 +2,7 @@
Cache algorithms are used to manage the cache memory of a computer. Cache memory is a small amount of memory that is used to store data that is frequently accessed. This allows the computer to access the data faster than if it had to go to the main memory. Cache algorithms are used to determine which data should be stored in the cache memory and which data should be removed from the cache memory.
+Visit the following resources to learn more:
+
- [Cache Replacement Algorithms: How To Efficiently Manage The Cache Storage](https://dev.to/satrobit/cache-replacement-algorithms-how-to-efficiently-manage-the-cache-storage-2ne1)
- [14. Caching and Cache-Efficient Algorithms](https://www.youtube.com/watch?v=xDKnMXtZKq8)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
index 61db4254a..28ef017ec 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
@@ -2,6 +2,8 @@
Suffix arrays are a data structure that allows us to quickly find all the suffixes of a string in lexicographical order. This is useful for many problems, such as finding the longest common substring between two strings, or finding the number of distinct substrings of a string.
+Visit the following resources to learn more:
+
- [Suffix Array | Set 1 (Introduction)](https://www.geeksforgeeks.org/suffix-array-set-1-introduction/)
- [Suffix array introduction](https://www.youtube.com/watch?v=zqKlL3ZpTqs)
- [Advanced Data Structures: Suffix Arrays](https://www.youtube.com/watch?v=IzMxbboPcqQ)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
index 7639da6f2..5e3698b76 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
@@ -2,4 +2,6 @@
Searching pattern in text is a very common task in computer science. It is used in many applications like spell checkers, text editors, and many more.
+Visit the following resources to learn more:
+
- [Search Pattern in Text](https://www.coursera.org/learn/data-structures/lecture/tAfHI/search-pattern-in-text)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
index 0b4407f55..ed657182f 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
@@ -2,6 +2,8 @@
Brute force search is a simple algorithm that checks for a pattern in a string by comparing each character of the string with the first character of the pattern. If the first character matches, it then compares the next character of the string with the next character of the pattern and so on. If all the characters of the pattern match, then the pattern is found. If the first character does not match, then the algorithm compares the second character of the string with the first character of the pattern and so on.
+Visit the following resources to learn more:
+
- [A beginner guide to Brute Force Algorithm for substring search](https://nulpointerexception.com/2019/02/10/a-beginner-guide-to-brute-force-algorithm-for-substring-search/)
- [Brute Force Algorithm in Cybersecurity and String Search](https://www.baeldung.com/cs/brute-force-cybersecurity-string-search)
- [Brute-Force Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/2Kn5i/brute-force-substring-search)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
index 625cf98b6..abead52dd 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
@@ -7,6 +7,8 @@ Knuth morris pratt is a string searching algorithm that uses a precomputed array
* If the characters match, increment the index of both the string and substring.
* If the characters don't match, increment the index of the string by the value of the prefix function at the index of the substring.
+Visit the following resources to learn more:
+
- [KMP Algorithm for Pattern Searching](https://www.geeksforgeeks.org/kmp-algorithm-for-pattern-searching/)
- [The Knuth-Morris-Pratt (KMP)Algorithm](https://www.javatpoint.com/daa-knuth-morris-pratt-algorithm)
- [9.1 Knuth-Morris-Pratt KMP String Matching Algorithm](https://www.youtube.com/watch?v=V5-7GzOfADQ)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
index a692b6020..baf982011 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
@@ -2,6 +2,8 @@
Boyer Moore algorithm is a string searching algorithm that is used to find the index of a substring in a string. It is a very efficient algorithm that is used in many applications. It is used in text editors, compilers, and many other applications.
+Visit the following resources to learn more:
+
- [Boyer Moore Algorithm for Pattern Searching](https://www.geeksforgeeks.org/boyer-moore-algorithm-for-pattern-searching/)
- [The Boyer-Moore Algorithm](https://www.javatpoint.com/daa-boyer-moore-algorithm)
- [Boyer Moore Algorithm](https://www.coursera.org/learn/algorithms-part2/lecture/CYxOT/boyer-moore)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
index 9c9853c0b..162f86589 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
@@ -2,6 +2,8 @@
Rabin-Karp algorithm is a string searching algorithm that uses hashing to find any one of a set of pattern strings in a text. For strings of average length `n`, it performs in `O(n+m)` time with `O(m)` space, where `m` is the length of the pattern. It is often used in bioinformatics to search for DNA patterns.
+Visit the following resources to learn more:
+
- [Rabin Karps Algorithm](https://www.coursera.org/lecture/data-structures/rabin-karps-algorithm-c0Qkw)
- [Optimization: Precomputation](https://www.coursera.org/learn/data-structures/lecture/nYrc8/optimization-precomputation)
- [Optimization: Implementation and Analysis](https://www.coursera.org/learn/data-structures/lecture/h4ZLc/optimization-implementation-and-analysis)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/index.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/index.md
index c56114e12..fc20005e0 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/index.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/index.md
@@ -2,6 +2,8 @@
Substring search is the problem of finding a substring in a string. This is a very common problem in computer science, and there are many algorithms for solving it.
+Visit the following resources to learn more:
+
- [Introduction to Substring Search](https://www.coursera.org/lecture/algorithms-part2/introduction-to-substring-search-n3ZpG)
- [What is the fastest substring search algorithm?](https://stackoverflow.com/questions/3183582/what-is-the-fastest-substring-search-algorithm)
- [Check if a string is substring of another](https://www.geeksforgeeks.org/check-string-substring-another/)
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/index.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/index.md
index d534a7dd6..91394d248 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/index.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/index.md
@@ -2,6 +2,8 @@
String search and manipulation is a very important topic in computer science. It is used in many different applications, such as searching or replacing a specific pattern, word or character in a string.
+Visit the following resources to learn more:
+
- [String-searching algorithm](https://en.wikipedia.org/wiki/String-searching_algorithm)
- [Pattern Searching](https://www.geeksforgeeks.org/algorithms-gq/pattern-searching/)
- [Applications of String Matching Algorithms](https://www.geeksforgeeks.org/applications-of-string-matching-algorithms/)
diff --git a/src/roadmaps/computer-science/content/106-bitwise-operators.md b/src/roadmaps/computer-science/content/106-bitwise-operators.md
index 1b6f9b9dd..1606b2852 100644
--- a/src/roadmaps/computer-science/content/106-bitwise-operators.md
+++ b/src/roadmaps/computer-science/content/106-bitwise-operators.md
@@ -2,6 +2,8 @@
Bitwise operators are used to perform operations on individual bits of a number. They are used in cryptography, image processing, and other applications.
+Visit the following resources to learn more:
+
- [Bit Manipulation](https://www.youtube.com/watch?v=7jkIUgLC29I)
- [Binary: Plusses & Minuses (Why We Use Twos Complement) - Computerphile](https://www.youtube.com/watch?v=lKTsv6iVxV4)
- [Algorithms: Bit Manipulation](https://www.youtube.com/watch?v=NLKQEOgBAnw)
diff --git a/src/roadmaps/computer-science/content/107-floating-point-numbers.md b/src/roadmaps/computer-science/content/107-floating-point-numbers.md
index 5b3dc21ae..ddd5ae1e0 100644
--- a/src/roadmaps/computer-science/content/107-floating-point-numbers.md
+++ b/src/roadmaps/computer-science/content/107-floating-point-numbers.md
@@ -2,5 +2,7 @@
Floating point numbers are numbers that have a decimal point in them. They are used to represent real numbers. For example, 3.14 is a floating point number. 3 is not a floating point number because it does not have a decimal point in it.
+Visit the following resources to learn more:
+
- [Representation of Floating Point Numbers - 1](https://www.youtube.com/watch?v=ji3SfClm8TU)
- [Why 0.1 + 0.2 != 0.3? | Floating Point Math](https://www.youtube.com/watch?v=RIiq4tTt6rI)
diff --git a/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md b/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md
index becbcd94d..2f9554c56 100644
--- a/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md
+++ b/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md
@@ -2,5 +2,7 @@
Big endian is the most common type of endianness. In this type, the most significant byte is stored at the lowest memory address. This means that the most significant byte is stored first and the least significant byte is stored last.
+Visit the following resources to learn more:
+
- [Little and Big Endian Mystery](https://www.geeksforgeeks.org/little-and-big-endian-mystery/)
- [Lecture 22. Big Endian and Little Endian](https://www.youtube.com/watch?v=T1C9Kj_78ek)
diff --git a/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md b/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md
index fd58ea4f4..7fdd48b87 100644
--- a/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md
+++ b/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md
@@ -2,6 +2,8 @@
Little Endian is a way of storing data in memory. It is the opposite of Big Endian. In Little Endian, the least significant byte is stored first. In Big Endian, the most significant byte is stored first.
+Visit the following resources to learn more:
+
- [What is Endianness? Big-Endian vs Little-Endian Explained with Examples](https://www.freecodecamp.org/news/what-is-endianness-big-endian-vs-little-endian/)
- [Big Endian vs Little Endian.mp4](https://www.youtube.com/watch?v=JrNF0KRAlyo)
- [Endianness Explained With an Egg - Computerphile](https://www.youtube.com/watch?v=NcaiHcBvDR4)
diff --git a/src/roadmaps/computer-science/content/108-endianess/index.md b/src/roadmaps/computer-science/content/108-endianess/index.md
index 24b9b5230..195527e76 100644
--- a/src/roadmaps/computer-science/content/108-endianess/index.md
+++ b/src/roadmaps/computer-science/content/108-endianess/index.md
@@ -2,6 +2,8 @@
Endianess is the order in which bytes are stored in memory. The two most common types of endianess are big endian and little endian. Big endian stores the most significant byte first, while little endian stores the least significant byte first.
+Visit the following resources to learn more:
+
- [What is Endianness? Big-Endian vs Little-Endian Explained with Examples](https://www.freecodecamp.org/news/what-is-endianness-big-endian-vs-little-endian/)
- [Big Endian vs Little Endian.mp4](https://www.youtube.com/watch?v=JrNF0KRAlyo)
- [Endianness Explained With an Egg - Computerphile](https://www.youtube.com/watch?v=NcaiHcBvDR4)
diff --git a/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md b/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md
index c061f01f8..4544d021a 100644
--- a/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md
+++ b/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md
@@ -2,5 +2,7 @@
Unicode is a standard for encoding characters. It is a superset of ASCII, which means that ASCII is a subset of Unicode. Unicode is a 16-bit encoding, which means that it can encode 2^16 = 65536 characters. This is a lot more than ASCII, which can only encode 128 characters.
+Visit the following resources to learn more:
+
- [How Unicode Works: What Every Developer Needs to Know About Strings and 🦄](https://deliciousbrains.com/how-unicode-works/)
- [Characters, Symbols and the Unicode Miracle - Computerphile](https://www.youtube.com/watch?v=MijmeoH9LT4)
diff --git a/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md b/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md
index fed87beb4..97e6dfa7c 100644
--- a/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md
+++ b/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md
@@ -2,5 +2,7 @@
ASCII is a character encoding standard for electronic communication. It was developed from telegraph code and uses 7 bits to represent 128 different characters. The first 32 characters are non-printable control characters used to control devices like printers and typewriters. The remaining 96 characters are printable and include the letters of the English alphabet, numbers, punctuation, and various symbols.
+Visit the following resources to learn more:
+
- [Must Know about Character Encodings](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/)
- [Character Encoding](https://cs.lmu.edu/~ray/notes/charenc/)
diff --git a/src/roadmaps/computer-science/content/109-character-encodings/index.md b/src/roadmaps/computer-science/content/109-character-encodings/index.md
index da449e96c..c0cf8bf53 100644
--- a/src/roadmaps/computer-science/content/109-character-encodings/index.md
+++ b/src/roadmaps/computer-science/content/109-character-encodings/index.md
@@ -2,5 +2,7 @@
Character encodings are a way of representing characters as numbers. They are used to store and transmit text. The most common character encoding is ASCII, which is a 7-bit encoding. This means that each character is represented by a number between 0 and 127. The ASCII character set contains 128 characters, including letters, numbers, punctuation, and control characters. The ASCII character set is a subset of the Unicode character set, which is a 16-bit encoding. Unicode is a superset of ASCII, so ASCII characters can be represented by Unicode. Unicode is the most common character encoding used on the web.
+Visit the following resources to learn more:
+
- [Must Know about Character Encodings](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/)
- [Character Encoding](https://cs.lmu.edu/~ray/notes/charenc/)
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
index e1b22500a..413959486 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
@@ -2,6 +2,8 @@
Class Diagrams are used to model the static structure of a system. They are used to show the classes, their attributes, operations (or methods), and the relationships between objects.
+Visit the following resources to learn more:
+
- [UML Class Diagram Tutorial](https://www.youtube.com/watch?v=UI6lqHOVHic)
- [UML Class Diagram Tutorial](https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLfoY2ARMh0hC2FcJKP5voAKCpk6PZXSd5&index=2)
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
index a4418b95a..40c381eee 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
@@ -8,6 +8,8 @@ A usecase is a task that the system performs. Usecases are represented by an ell
A usecase diagram is a diagram that shows the actors and the usecases of the system. The diagram is represented by a rectangle that contains the name of the system inside it. The actors are represented by rectangles and the usecases are represented by ellipses.
+Visit the following resources to learn more:
+
- [UML Use Case Diagram Tutorial](https://www.lucidchart.com/pages/uml-use-case-diagram)
- [What is Use Case Diagram?](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-case-diagram/)
- [UML Use Case Diagram Tutorial](https://www.youtube.com/watch?v=zid-MVo7M-E)
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
index 886a8c75c..d3c8f4ff3 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
@@ -2,5 +2,7 @@
Activity diagrams are used to model the flow of control in a system. They are used in conjunction with use case diagrams to model the behavior of the system for each use case. They are also used to model the behavior of a single class.
+Visit the following resources to learn more:
+
- [UML Activity Diagram Tutorial](https://www.lucidchart.com/pages/uml-activity-diagram)
- [What is Activity Diagram?](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/)
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
index 212ea6e67..36078ac27 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
@@ -2,6 +2,8 @@
State machine diagrams are used to show the different states an object can be in at a given time. The object can be in one and only one state at a given time. State machine diagrams are similar to activity diagrams, but they are more focused on the flow of an object's state rather than the flow of the object itself.
+Visit the following resources to learn more:
+
- [What is State Machine Diagram?](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-state-machine-diagram/)
- [State Machine Diagram Tutorial](https://www.lucidchart.com/pages/uml-state-machine-diagram)
- [State Machine Diagram](https://www.sciencedirect.com/topics/computer-science/state-machine-diagram)
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
index 137602b1f..3afad7e63 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
@@ -2,5 +2,7 @@
Sequence diagrams are a way to show how objects or systems interact with each other over time.
+Visit the following resources to learn more:
+
- [How to Make a UML Sequence Diagram](https://www.youtube.com/watch?v=pCK6prSq8aw)
- [Sequence Diagrams Tutorial](https://www.youtube.com/watch?v=cxG-qWthxt4&list=PLfoY2ARMh0hBthB9VqsQzogSouTjzkMHe&index=2)
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/index.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/index.md
index 2e384d2b5..711e13efb 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/index.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/index.md
@@ -2,4 +2,6 @@
UML is a standard way of visualizing a software system. It is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
+Visit the following resources to learn more:
+
- [UML Diagrams Full Course (Unified Modeling Language)](https://www.youtube.com/watch?v=WnMQ8HlmeXc)
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md b/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md
index d830c58ff..03ccea99c 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md
@@ -2,4 +2,6 @@
Gang of Four (GoF) design patterns are a set of 23 design patterns that were first described in the book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The book is commonly referred to as the "Gang of Four book".
+Visit the following resources to learn more:
+
- [Design Patterns for Humans](https://github.com/kamranahmedse/design-patterns-for-humans)
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md b/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md
index f0d306a22..becbfec93 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md
@@ -2,5 +2,7 @@
Architectural patterns are a high-level design pattern that focuses on the overall structure of the system. They are similar to design patterns, but they are more concerned with the structure of the system. They are used to solve problems that are common to many software systems.
+Visit the following resources to learn more:
+
- [10 Common Software Architectural Patterns in a nutshell](https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013)
- [Architectural Pattern - Wikipedia](https://en.wikipedia.org/wiki/Architectural_pattern)
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md b/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md
index 35e428182..869aaacb4 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md
@@ -2,5 +2,7 @@
Dependency injection is a software design pattern that allows us to decouple the dependencies of a class from the class itself. This allows us to write more flexible and testable code.
+Visit the following resources to learn more:
+
- [Dependency Injection - StackOverflow](https://stackoverflow.com/questions/130794/what-is-dependency-injection)
- [What is Dependency Injection?](https://www.youtube.com/watch?v=0yc2UANSDiw)
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md b/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md
index 93146f9a3..735c9f69f 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md
@@ -2,5 +2,7 @@
Null object pattern is a design pattern that is used to represent a null value with an object. It is a way to avoid null reference exceptions by providing a default object that does nothing. It is a way to provide a default behavior in case data is not available.
+Visit the following resources to learn more:
+
- [Design Patterns - Null Object Pattern](https://www.tutorialspoint.com/design_pattern/null_object_pattern.htm)
- [Null Object Design Pattern - Geeks for Geeks](https://www.geeksforgeeks.org/null-object-design-pattern/)
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md b/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md
index c5538373b..bbfb9c8fb 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md
@@ -2,4 +2,6 @@
Type object pattern is a creational design pattern that allows us to create a new object of a type without exposing the object creation logic to the client. It is used when we need to create a new object of a type, but we don't know which type we need to create until runtime. It is like a factory pattern, but instead of returning a new object of a type, it returns a new object of a type that is already created.
+Visit the following resources to learn more:
+
- [Type Object Pattern](https://gameprogrammingpatterns.com/type-object.html)
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/index.md b/src/roadmaps/computer-science/content/111-design-patterns/index.md
index 67b1dfb03..75ad3f102 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/index.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/index.md
@@ -2,4 +2,6 @@
Design patterns are solutions to common problems in software design. They are formalized best practices that the programmer can use to solve common problems when designing an application or system.
+Visit the following resources to learn more:
+
- [Design Patterns - Wikipedia](https://en.wikipedia.org/wiki/Software_design_pattern)
diff --git a/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md b/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md
index 83fbaa5a8..a9710d5fd 100644
--- a/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md
+++ b/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md
@@ -2,6 +2,8 @@
Probability is the study of how likely an event is to occur. It is a measure of how certain we are that an event will happen.
+Visit the following resources to learn more:
+
- [MIT 6.042J - Probability Introduction](https://www.youtube.com/watch?v=SmFwFdESMHI&index=18&list=PLB7540DEDD482705B)
- [MIT 6.042J - Conditional Probability](https://www.youtube.com/watch?v=E6FbvM-FGZ8&index=19&list=PLB7540DEDD482705B)
- [MIT 6.042J - Independence](https://www.youtube.com/watch?v=l1BCv3qqW4A&index=20&list=PLB7540DEDD482705B)
diff --git a/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md b/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md
index a9b0f2bc8..df46be198 100644
--- a/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md
+++ b/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md
@@ -2,6 +2,8 @@
Combinatorics is the study of counting. It is a branch of mathematics that is used to solve problems in a variety of fields, including computer science, statistics, and physics. In computer science, combinatorics is used to solve problems related to counting the number of possible outcomes of a given problem. For example, if you are given a set of 10 objects, how many different ways can you arrange them? Or, if you are given a set of 10 objects, how many different ways can you choose 3 objects from that set? These are examples of combinatorial problems.
+Visit the following resources to learn more:
+
- [Math Skills: How to find Factorial, Permutation and Combination](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
- [Make School: Probability](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
- [Make School: More Probability and Markov Chains](https://www.youtube.com/watch?v=dNaJg-mLobQ)
diff --git a/src/roadmaps/computer-science/content/112-basic-math-skills/index.md b/src/roadmaps/computer-science/content/112-basic-math-skills/index.md
index b17bda8c2..f2df1ca76 100644
--- a/src/roadmaps/computer-science/content/112-basic-math-skills/index.md
+++ b/src/roadmaps/computer-science/content/112-basic-math-skills/index.md
@@ -2,6 +2,8 @@
Math is a fundamental skill for computer science.
+Visit the following resources to learn more:
+
- [Lec 1 | MIT 6.042J Mathematics for Computer Science, Fall 2010](https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD482705B)
- [Integer Arithmetic, Karatsuba Multiplication](https://www.youtube.com/watch?v=eCaXlAaN2uE&index=11&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
- [The Chinese Remainder Theorem (used in cryptography)](https://www.youtube.com/watch?v=ru7mWZJlRQg)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md b/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md
index adedd3d85..25ef08e60 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md
@@ -2,6 +2,8 @@
The P in the P class stands for Polynomial Time. It is the collection of decision problems(problems with a “yes” or “no” answer) that can be solved by a deterministic machine in polynomial time.
+Visit the following resources to learn more:
+
- [Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md b/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md
index 157cfcb8d..a14f9059d 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md
@@ -2,6 +2,8 @@
The NP in NP class stands for Non-deterministic Polynomial Time. It is the collection of decision problems that can be solved by a non-deterministic machine in polynomial time.
+Visit the following resources to learn more:
+
- [Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md b/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md
index 6833a3e85..bf47c9ef1 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md
@@ -2,6 +2,8 @@
Co-NP stands for the complement of NP Class. It means if the answer to a problem in Co-NP is No, then there is proof that can be checked in polynomial time.
+Visit the following resources to learn more:
+
- [Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md b/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md
index f739522c9..7b23d47b9 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md
@@ -2,6 +2,8 @@
An NP-hard problem is at least as hard as the hardest problem in NP and it is the class of the problems such that every problem in NP reduces to NP-hard.
+Visit the following resources to learn more:
+
- [Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
index 8d62c14aa..498461fc8 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
@@ -2,6 +2,8 @@
The Travelling Salesman Problem (TSP) is a classic problem in computer science. It is a problem that is NP-complete, which means that it is a problem that is hard to solve. It is also a problem that is used to test the efficiency of algorithms.
+Visit the following resources to learn more:
+
- [Travelling Salesman Problem | Set 1 (Naive and Dynamic Programming)](https://www.geeksforgeeks.org/travelling-salesman-problem-set-1/)
- [What is the Traveling Salesman Problem?](https://www.youtube.com/watch?v=1pmBjIZ20pE)
- [4.7 Traveling Salesperson Problem - Dynamic Programming](https://www.youtube.com/watch?v=XaXsJJh-Q5Y)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
index 52811a67a..b7c1a76ef 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
@@ -2,6 +2,8 @@
KnapSack Problem is a classic problem in computer science. It is a problem in which we are given a set of items, each with a weight and a value, and we need to determine which items to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
+Visit the following resources to learn more:
+
- [0-1 Knapsack Problem | DP-10](https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/)
- [How to solve the Knapsack Problem with dynamic programming](https://medium.com/@fabianterh/how-to-solve-the-knapsack-problem-with-dynamic-programming-eb88c706d3cf)
- [3.1 Knapsack Problem - Greedy Method](https://www.youtube.com/watch?v=oTTzNMHM05I)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
index 0cb1de155..ecde53ca7 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
@@ -2,6 +2,8 @@
Longest path problem is a problem that asks us to find the longest path in a graph.
+Visit the following resources to learn more:
+
- [Longest Path in a Directed Acyclic Graph](https://www.geeksforgeeks.org/find-longest-path-directed-acyclic-graph/)
- [Shortest/Longest path on a Directed Acyclic Graph (DAG) | Graph Theory](https://www.youtube.com/watch?v=TXkDpqjDMHA)
- [Longest Simple Path - Intro to Algorithms](https://www.youtube.com/watch?v=lRH0tax5dFA)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/index.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/index.md
index 65e31dd53..88e0c8c53 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/index.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/index.md
@@ -2,6 +2,8 @@
A problem is NP-complete if it is both NP and NP-hard. NP-complete problems are the hard problems in NP.
+Visit the following resources to learn more:
+
- [Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md b/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md
index f9e17aa8e..713491057 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md
@@ -2,4 +2,6 @@
The P = NP problem is one of the most famous problems in computer science. It asks if the problem of determining if a given input belongs to a certain class of problems is as hard as the problem of solving the given input. In other words, it asks if the problem of determining if a given input belongs to a certain class of problems is as hard as the problem of determining if a given input belongs to a certain class of problems. This problem is also known as the Halting Problem.
+Visit the following resources to learn more:
+
- [Whats P=NP?, and why is it such a famous question?](https://stackoverflow.com/questions/111307/whats-p-np-and-why-is-it-such-a-famous-question)
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/index.md b/src/roadmaps/computer-science/content/113-complexity-classes/index.md
index af078e0da..87650c9ec 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/index.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/index.md
@@ -2,6 +2,8 @@
In computer science, there exist some problems whose solutions are not yet found, the problems are divided into classes known as Complexity Classes. In complexity theory, a Complexity Class is a set of problems with related complexity. These classes help scientists to groups problems based on how much time and space they require to solve problems and verify the solutions. It is the branch of the theory of computation that deals with the resources required to solve a problem.
+Visit the following resources to learn more:
+
- [Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
diff --git a/src/roadmaps/computer-science/content/114-tries.md b/src/roadmaps/computer-science/content/114-tries.md
index a269b4dec..ae055e34a 100644
--- a/src/roadmaps/computer-science/content/114-tries.md
+++ b/src/roadmaps/computer-science/content/114-tries.md
@@ -2,6 +2,8 @@
Tries are a data structure that can be used to store strings. The idea is to store the characters of the string in a tree-like structure, where each node of the tree represents a single character. We can use this structure to store strings in a way that allows us to quickly search for strings with a common prefix.
+Visit the following resources to learn more:
+
- [Tries - DataStructure Notes](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Tries)
- [The Trie: A Neglected Data Structure](https://www.toptal.com/java/the-trie-a-neglected-data-structure)
- [TopCoder - Using Tries](https://www.topcoder.com/thrive/articles/Using%20Tries)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md
index f6dae415d..9612b6ccd 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md
@@ -4,6 +4,8 @@ AVL trees are a type of self-balancing binary search tree. They are named after
In practice: From what I can tell, these aren't used much in practice, but I could see where they would be: The AVL tree is another structure supporting O(log n) search, insertion, and removal. It is more rigidly balanced than red–black trees, leading to slower insertion and removal but faster retrieval. This makes it attractive for data structures that may be built once and loaded without reconstruction, such as language dictionaries (or program dictionaries, such as the opcodes of an assembler or interpreter)
+Visit the following resources to learn more:
+
- [MIT AVL Trees / AVL Sort](https://www.youtube.com/watch?v=FNeL18KsWPc&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=6)
- [AVL Trees](https://www.coursera.org/learn/data-structures/lecture/Qq5E0/avl-trees)
- [AVL Tree Implementation](https://www.coursera.org/learn/data-structures/lecture/PKEBC/avl-tree-implementation)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md
index 6fbc84612..3cc0b5390 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md
@@ -6,6 +6,8 @@ These are a translation of a 2-3 tree (see below).
In practice: Red–black trees offer worst-case guarantees for insertion time, deletion time, and search time. Not only does this make them valuable in time-sensitive applications such as real-time applications, but it makes them valuable building blocks in other data structures which provide worst-case guarantees; for example, many data structures used in computational geometry can be based on red–black trees, and the Completely Fair Scheduler used in current Linux kernels uses red–black trees. In the version 8 of Java, the Collection HashMap has been modified such that instead of using a LinkedList to store identical elements with poor hashcodes, a Red-Black tree is used.
+Visit the following resources to learn more:
+
- [Red-Black Tree - Wikipedia](https://en.wikipedia.org/wiki/Red%E2%80%93black_tree)
- [An Introduction To Binary Search And Red Black Tree](https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Binary%20Search%20and%20Red-Black%20Trees)
- [Red-Black Trees (playlist) in 30 minutes](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNqDI8qfOZgzbqahCUmUEin)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
index 4ce0c2fbc..9a0c0cf63 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
@@ -4,6 +4,8 @@ In practice: 2-3 trees have faster inserts at the expense of slower searches (si
You would use 2-3 tree very rarely because its implementation involves different types of nodes. Instead, people use Red Black trees.
+Visit the following resources to learn more:
+
- [23-Tree Intuition and Definition](https://www.youtube.com/watch?v=C3SsdUqasD4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=2)
- [Binary View of 23-Tree](https://www.youtube.com/watch?v=iYvBtGKsqSg&index=3&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
- [2-3 Trees (student recitation)](https://www.youtube.com/watch?v=TOb1tuEZ2X4&index=5&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
index 16d3c4799..dda1ccc87 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
@@ -2,6 +2,8 @@
In practice: For every 2-4 tree, there are corresponding red–black trees with data elements in the same order. The insertion and deletion operations on 2-4 trees are also equivalent to color-flipping and rotations in red–black trees. This makes 2-4 trees an important tool for understanding the logic behind red–black trees, and this is why many introductory algorithm texts introduce 2-4 trees just before red–black trees, even though 2-4 trees are not often used in practice.
+Visit the following resources to learn more:
+
- [CS 61B Lecture 26: Balanced Search Trees](https://archive.org/details/ucberkeley_webcast_zqrqYXkth6Q)
- [Bottom Up 234-Trees](https://www.youtube.com/watch?v=DQdMYevEyE4&index=4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
- [Top Down 234-Trees](https://www.youtube.com/watch?v=2679VQ26Fp4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=5)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
index 13a978afb..90f2bf02e 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
@@ -6,4 +6,6 @@ Binary trees are a 2-ary tree, with branching factor = 2
2-3 trees are 3-ary
+Visit the following resources to learn more:
+
- [K-Ary Tree](https://en.wikipedia.org/wiki/K-ary_tree)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md
index ff4851555..d5be8505e 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md
@@ -4,6 +4,8 @@ Fun fact: it's a mystery, but the B could stand for Boeing, Balanced, or Bayer (
In Practice: B-Trees are widely used in databases. Most modern filesystems use B-trees (or Variants). In addition to its use in databases, the B-tree is also used in filesystems to allow quick random access to an arbitrary block in a particular file. The basic problem is turning the file block i address into a disk block (or perhaps to a cylinder-head-sector) address
+Visit the following resources to learn more:
+
- [B-Tree - Wikipedia](https://en.wikipedia.org/wiki/B-tree)
- [B-Tree Datastructure](http://btechsmartclass.com/data_structures/b-trees.html)
- [Introduction to B-Trees](https://www.youtube.com/watch?v=I22wEC1tTGo&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=6)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/index.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/index.md
index 1a5194d49..0afadf856 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/index.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/index.md
@@ -2,6 +2,8 @@
Balanced search trees are a type of data structure that allow for fast insertion, deletion, and lookup of data. They are a type of self-balancing binary search tree, which means that they are a binary tree that maintains the binary search tree property while also keeping the tree balanced. This means that the tree is always approximately balanced, which allows for fast insertion, deletion, and lookup of data.
+Visit the following resources to learn more:
+
- [Self-balancing binary search tree - Wikipedia](https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree)
- [Balanced Search Trees Operations and Applications 11 min](https://www.youtube.com/watch?v=IbNZ-x1I2IM)
- [Balanced binary search tree rotations](https://www.youtube.com/watch?v=q4fnJZr8ztY)
diff --git a/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md b/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
index 1ec2071a9..0d13197bb 100644
--- a/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
+++ b/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
@@ -2,6 +2,8 @@
Horizontal scaling is the process of adding more machines to your system. This is also known as scaling out. Vertical scaling is the process of adding more power to a single machine. This is also known as scaling up.
+Visit the following resources to learn more:
+
- [Scaling Horizontally vs. Scaling Vertically](https://www.section.io/blog/scaling-horizontally-vs-vertically/)
- [System Design Basics: Horizontal vs. Vertical Scaling](https://www.youtube.com/watch?v=xpDnVSmNFX0)
- [Vertical vs. Horizontal Scaling for Database Servers](https://www.youtube.com/watch?v=R99R-SNbo9g)
diff --git a/src/roadmaps/computer-science/content/116-system-design/101-clustering.md b/src/roadmaps/computer-science/content/116-system-design/101-clustering.md
index dfd459187..5ef002bd8 100644
--- a/src/roadmaps/computer-science/content/116-system-design/101-clustering.md
+++ b/src/roadmaps/computer-science/content/116-system-design/101-clustering.md
@@ -2,4 +2,6 @@
At a high level, a computer cluster is a group of two or more computers, or nodes, that run in parallel to achieve a common goal. This allows workloads consisting of a high number of individual, parallelizable tasks to be distributed among the nodes in the cluster. As a result, these tasks can leverage the combined memory and processing power of each computer to increase overall performance.
+Visit the following resources to learn more:
+
- [System Design: Clustering](https://dev.to/karanpratapsingh/system-design-clustering-3726)
diff --git a/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md b/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md
index 6b328ea83..8e5e0c835 100644
--- a/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md
+++ b/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md
@@ -2,5 +2,7 @@
Load balancing is the process of distributing network or application traffic across a cluster of servers. Load balancing is used to improve responsiveness and reliability of applications, maximize throughput, minimize response time, and avoid overload of any single server.
+Visit the following resources to learn more:
+
- [Load Balancers 101](https://www.youtube.com/watch?v=galcDRNd5Ow)
- [What is Load Balancing?](https://www.youtube.com/watch?v=gGLophKzJs8)
diff --git a/src/roadmaps/computer-science/content/116-system-design/102-caching.md b/src/roadmaps/computer-science/content/116-system-design/102-caching.md
index d5c2c58d1..2a0a419cc 100644
--- a/src/roadmaps/computer-science/content/116-system-design/102-caching.md
+++ b/src/roadmaps/computer-science/content/116-system-design/102-caching.md
@@ -2,6 +2,8 @@
Caching is a way of storing data in a temporary storage to make future requests faster. It is one of the most important tools in the computer science toolbox.
+Visit the following resources to learn more:
+
- [System Design - Caching](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#caching)
- [What is Caching | System Design Basics](https://www.youtube.com/watch?v=joifNgoXXFk)
diff --git a/src/roadmaps/computer-science/content/116-system-design/103-cdn.md b/src/roadmaps/computer-science/content/116-system-design/103-cdn.md
index 4e0dc66c4..e487d8a3e 100644
--- a/src/roadmaps/computer-science/content/116-system-design/103-cdn.md
+++ b/src/roadmaps/computer-science/content/116-system-design/103-cdn.md
@@ -2,5 +2,7 @@
A CDN is a network of servers that are distributed geographically. The servers are connected to each other and to the internet. The servers are used to deliver content to users. The content is delivered to the user from the server that is closest to the user. This is done to reduce latency and improve the performance of the content delivery.
+Visit the following resources to learn more:
+
- [Content Delivery Network (CDN) - System Design](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#content-delivery-network-cdn)
- [Content Delivery Networks](https://www.youtube.com/watch?v=6DXEPcXKQNY)
diff --git a/src/roadmaps/computer-science/content/116-system-design/104-proxy.md b/src/roadmaps/computer-science/content/116-system-design/104-proxy.md
index a82b2615d..c0f81f7d8 100644
--- a/src/roadmaps/computer-science/content/116-system-design/104-proxy.md
+++ b/src/roadmaps/computer-science/content/116-system-design/104-proxy.md
@@ -2,5 +2,7 @@
A proxy server is an intermediary piece of hardware/software sitting between the client and the backend server. It receives requests from clients and relays them to the origin servers. Typically, proxies are used to filter requests, log requests, or sometimes transform requests (by adding/removing headers, encrypting/decrypting, or compression).
+Visit the following resources to learn more:
+
- [Proxy - System Design](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#proxy)
- [Proxy Servers](https://roadmap.sh/guides/proxy-servers)
diff --git a/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md b/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md
index 6e33f5308..9601eed23 100644
--- a/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md
+++ b/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md
@@ -2,5 +2,7 @@
The CAP theorem states that it is impossible for a distributed data store to simultaneously provide more than two out of Consistency, Availability and Partition Tolerance.
+Visit the following resources to learn more:
+
- [What is CAP Theorem?](https://www.youtube.com/watch?v=_RbsFXWRZ10)
- [CAP Theorem - Wikipedia](https://en.wikipedia.org/wiki/CAP_theorem)
diff --git a/src/roadmaps/computer-science/content/116-system-design/106-queues.md b/src/roadmaps/computer-science/content/116-system-design/106-queues.md
index a3fa57d48..989ab8632 100644
--- a/src/roadmaps/computer-science/content/116-system-design/106-queues.md
+++ b/src/roadmaps/computer-science/content/116-system-design/106-queues.md
@@ -2,6 +2,8 @@
Messaging queues are a common way to decouple systems. They are used to decouple the producer of a message from the consumer of a message. This allows the producer to send a message and not have to wait for the consumer to process it. It also allows the consumer to process the message at their own pace.
+Visit the following resources to learn more:
+
- [Message Queues - System Design](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#message-queues)
- [What is a Message Queue?](https://www.youtube.com/watch?v=xErwDaOc-Gs)
- [What is a Message Queue and Where is it used?](https://www.youtube.com/watch?v=oUJbuFMyBDk)
diff --git a/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md b/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md
index c2597e723..2e935461f 100644
--- a/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md
+++ b/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md
@@ -2,4 +2,6 @@
Architectural patterns are the fundamental organization of a system, defining how the system is composed and how its components interact. Architectural patterns are identified by their name, like client-server, peer-to-peer, and layered.
+Visit the following resources to learn more:
+
- [List of software architecture styles and patterns](https://en.wikipedia.org/wiki/List_of_software_architecture_styles_and_patterns)
diff --git a/src/roadmaps/computer-science/content/116-system-design/108-rest.md b/src/roadmaps/computer-science/content/116-system-design/108-rest.md
index 3171ffee3..47d318f77 100644
--- a/src/roadmaps/computer-science/content/116-system-design/108-rest.md
+++ b/src/roadmaps/computer-science/content/116-system-design/108-rest.md
@@ -2,6 +2,8 @@
REST, or REpresentational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other.
+Visit the following resources to learn more:
+
- [What is REST?](https://www.codecademy.com/article/what-is-rest)
- [What is a REST API?](https://www.redhat.com/en/topics/api/what-is-a-rest-api)
- [Roy Fieldings dissertation chapter, Representational State Transfer (REST)](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)
diff --git a/src/roadmaps/computer-science/content/116-system-design/109-graphql.md b/src/roadmaps/computer-science/content/116-system-design/109-graphql.md
index 0d6f69509..7d66a5fe4 100644
--- a/src/roadmaps/computer-science/content/116-system-design/109-graphql.md
+++ b/src/roadmaps/computer-science/content/116-system-design/109-graphql.md
@@ -2,4 +2,6 @@
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
+Visit the following resources to learn more:
+
- [Apollo GraphQL Tutorials](https://www.apollographql.com/tutorials/)
diff --git a/src/roadmaps/computer-science/content/116-system-design/110-grpc.md b/src/roadmaps/computer-science/content/116-system-design/110-grpc.md
index 44f781947..f0e4cb5f5 100644
--- a/src/roadmaps/computer-science/content/116-system-design/110-grpc.md
+++ b/src/roadmaps/computer-science/content/116-system-design/110-grpc.md
@@ -6,6 +6,8 @@ It's main use case is for communication between two different languages within t
gRPC uses the protocol buffer language to define the structure of the data that is
+Visit the following resources to learn more:
+
- [gRPC Website](https://grpc.io/)
- [gRPC Introduction](https://grpc.io/docs/what-is-grpc/introduction/)
- [gRPC Core Concepts](https://grpc.io/docs/what-is-grpc/core-concepts/)
diff --git a/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md b/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md
index 2c01b9dc0..6186e02bf 100644
--- a/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md
+++ b/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md
@@ -4,4 +4,6 @@ These design patterns are useful for building reliable, scalable, secure applica
The link below has cloud design patterns where each pattern describes the problem that the pattern addresses, considerations for applying the pattern, and an example based on Microsoft Azure. Most patterns include code samples or snippets that show how to implement the pattern on Azure. However, most patterns are relevant to any distributed system, whether hosted on Azure or other cloud platforms.
+Visit the following resources to learn more:
+
- [Cloud Design Patterns](https://learn.microsoft.com/en-us/azure/architecture/patterns/)
diff --git a/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md b/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md
index 296d1945b..42628e6cd 100644
--- a/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md
+++ b/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md
@@ -2,5 +2,7 @@
Long polling is a technique used to implement server push functionality over HTTP. It is a method of opening a request on the server and keeping it open until an event occurs, at which point the server responds. This is in contrast to a regular HTTP request, where the server responds immediately with whatever data is available at the time.
+Visit the following resources to learn more:
+
- [Long polling](https://javascript.info/long-polling)
- [What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?](https://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet)
diff --git a/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md b/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md
index d540c6a98..1aa5f7224 100644
--- a/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md
+++ b/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md
@@ -2,4 +2,6 @@
In short polling, the client requests information from the server. The server processes the request. If data is available for the request, server responds to the request with the required information. However, if the server has no data available for the client, server returns an empty response. In both the situation, the connection will be closed after returning the response. Clients keep issuing new requests even after server sends the empty responses. This mechanism increases the network cost on the server.
+Visit the following resources to learn more:
+
- [What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?](https://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet)
diff --git a/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md b/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md
index 852ffc5f5..6e37d3a32 100644
--- a/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md
+++ b/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md
@@ -2,4 +2,6 @@
Web sockets are a bidirectional communication protocol between a client and a server. They are used for real-time applications like chat, multiplayer games, and live data updates. Web sockets are also used to establish a connection between a server and a client. This connection is then used to send data in both directions.
+Visit the following resources to learn more:
+
- [What is web socket and how it is different from the HTTP?](https://www.geeksforgeeks.org/what-is-web-socket-and-how-it-is-different-from-the-http/)
diff --git a/src/roadmaps/computer-science/content/116-system-design/115-sse.md b/src/roadmaps/computer-science/content/116-system-design/115-sse.md
index f710db226..3d723efac 100644
--- a/src/roadmaps/computer-science/content/116-system-design/115-sse.md
+++ b/src/roadmaps/computer-science/content/116-system-design/115-sse.md
@@ -2,5 +2,7 @@
Server-Sent Events is a server push technology enabling a client to receive automatic updates from a server via an HTTP connection, and describes how servers can initiate data transmission towards clients once an initial client connection has been established.
+Visit the following resources to learn more:
+
- [What is Server-Sent Events (SSE) and how to implement it?](https://medium.com/yemeksepeti-teknoloji/what-is-server-sent-events-sse-and-how-to-implement-it-904938bffd73)
- [Using server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
diff --git a/src/roadmaps/computer-science/content/116-system-design/index.md b/src/roadmaps/computer-science/content/116-system-design/index.md
index 1f74f1559..e6c07494b 100644
--- a/src/roadmaps/computer-science/content/116-system-design/index.md
+++ b/src/roadmaps/computer-science/content/116-system-design/index.md
@@ -2,6 +2,8 @@
System design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements. It is a very broad topic, and there are many ways to approach it.
+Visit the following resources to learn more:
+
- [System Design Primer](https://github.com/donnemartin/system-design-primer)
- [System Design: The complete course](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo)
- [System Design 101](https://www.youtube.com/watch?v=Y-Gl4HEyeUQ)
diff --git a/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md b/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md
index ba6f17b3f..36077a94d 100644
--- a/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md
+++ b/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md
@@ -4,6 +4,8 @@ SQL stands for Structured Query Language. It's used for relational databases. A
NoSQL stands for Not Only SQL. It's used for non-relational databases. A NoSQL database is a collection of collections that stores a specific set of unstructured data. Some examples are MongoDB, CouchDB, Redis etc.
+Visit the following resources to learn more:
+
- [SQL vs. NoSQL: Whats the difference?](https://www.youtube.com/watch?v=Q5aTUc7c4jg)
- [Database Design Tips | Choosing the Best Database in a System Design Interview](https://www.youtube.com/watch?v=cODCpXtPHbQ&t=22s)
- [NoSQL vs SQL – Which Type of Database Should You Use?](https://www.youtube.com/watch?v=FzlpwoeSrE0)
diff --git a/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md b/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md
index f5399de9b..5d2dd8863 100644
--- a/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md
+++ b/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md
@@ -4,5 +4,7 @@ Database normalization is a process used to organize a database into tables and
Denormalization is the opposite of normalization. It is the process of adding redundant data to a database to improve read performance. This is done by adding duplicate data into multiple tables to avoid expensive joins. This is done at the expense of increased storage and decreased write performance.
+Visit the following resources to learn more:
+
- [Normalization vs. Denormalization | Events and Event Streaming](https://www.youtube.com/watch?v=sDU94hraq8g)
- [Normalization - 1NF, 2NF, 3NF and 4NF](https://www.youtube.com/watch?v=UrYLYV7WSHM)
diff --git a/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md b/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md
index b0dc7572d..f4dc43843 100644
--- a/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md
+++ b/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md
@@ -2,5 +2,7 @@
Entity relationship model is a high-level data model that describes the logical structure of a database. It is a graphical representation of entities and their relationships to each other, typically used in modeling the organization of data within databases or information systems.
+Visit the following resources to learn more:
+
- [Entity Relationship Diagram (ERD) Tutorial - Part 1](https://www.youtube.com/watch?v=QpdhBUYk7Kk)
- [Entity Relationship Diagram (ERD) Tutorial - Part 2](https://www.youtube.com/watch?v=-CuY5ADwn24)
diff --git a/src/roadmaps/computer-science/content/117-databases/103-ddl.md b/src/roadmaps/computer-science/content/117-databases/103-ddl.md
index 86dac45b9..42286b035 100644
--- a/src/roadmaps/computer-science/content/117-databases/103-ddl.md
+++ b/src/roadmaps/computer-science/content/117-databases/103-ddl.md
@@ -2,4 +2,6 @@
DDL or Data Definition Language actually consists of the SQL commands that can be used to define the database schema. It simply deals with descriptions of the database schema and is used to create and modify the structure of database objects in the database. DDL is a set of SQL commands used to create, modify, and delete database structures but not data. These commands are normally not used by a general user, who should be accessing the database via an application.
+Visit the following resources to learn more:
+
- [SQL | DDL, DQL, DML, DCL and TCL Commands](https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/)
diff --git a/src/roadmaps/computer-science/content/117-databases/104-dml.md b/src/roadmaps/computer-science/content/117-databases/104-dml.md
index 6150bd9d3..1f804d6c7 100644
--- a/src/roadmaps/computer-science/content/117-databases/104-dml.md
+++ b/src/roadmaps/computer-science/content/117-databases/104-dml.md
@@ -2,4 +2,6 @@
The SQL commands that deals with the manipulation of data present in the database belong to DML or Data Manipulation Language and this includes most of the SQL statements. It is the component of the SQL statement that controls access to data and to the database. Basically, DCL statements are grouped with DML statements.
+Visit the following resources to learn more:
+
- [SQL | DDL, DQL, DML, DCL and TCL Commands](https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/)
diff --git a/src/roadmaps/computer-science/content/117-databases/105-dql.md b/src/roadmaps/computer-science/content/117-databases/105-dql.md
index 698fb354f..52159b171 100644
--- a/src/roadmaps/computer-science/content/117-databases/105-dql.md
+++ b/src/roadmaps/computer-science/content/117-databases/105-dql.md
@@ -2,4 +2,6 @@
DQL statements are used for performing queries on the data within schema objects. The purpose of the DQL Command is to get some schema relation based on the query passed to it. We can define DQL as follows it is a component of SQL statement that allows getting data from the database and imposing order upon it. It includes the SELECT statement. This command allows getting the data out of the database to perform operations with it. When a SELECT is fired against a table or tables the result is compiled into a further temporary table, which is displayed or perhaps received by the program i.e. a front-end.
+Visit the following resources to learn more:
+
- [SQL | DDL, DQL, DML, DCL and TCL Commands](https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/)
diff --git a/src/roadmaps/computer-science/content/117-databases/106-dcl.md b/src/roadmaps/computer-science/content/117-databases/106-dcl.md
index 020c9f3e4..8c186c1f2 100644
--- a/src/roadmaps/computer-science/content/117-databases/106-dcl.md
+++ b/src/roadmaps/computer-science/content/117-databases/106-dcl.md
@@ -2,4 +2,6 @@ DCL (Data Control Language):
DCL includes commands such as GRANT and REVOKE which mainly deal with the rights, permissions, and other controls of the database system.
+Visit the following resources to learn more:
+
- [SQL | DDL, DQL, DML, DCL and TCL Commands](https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/)
diff --git a/src/roadmaps/computer-science/content/117-databases/107-locking.md b/src/roadmaps/computer-science/content/117-databases/107-locking.md
index cac1039bf..4e84c2524 100644
--- a/src/roadmaps/computer-science/content/117-databases/107-locking.md
+++ b/src/roadmaps/computer-science/content/117-databases/107-locking.md
@@ -2,6 +2,8 @@
Locks are used to prevent data from being modified by multiple processes at the same time. This is important because if two processes are modifying the same data at the same time, the data can become corrupted. Locks are used to prevent this from happening.
+Visit the following resources to learn more:
+
- [Locking in Databases and Isolation Mechanisms](https://medium.com/inspiredbrilliance/what-are-database-locks-1aff9117c290)
- [Understanding Database Lock Timeouts and Deadlocks](https://www.dbta.com/Columns/DBA-Corner/Understanding-Database-Lock-Timeouts-and-Deadlocks-148659.aspx)
- [Row-Level Database Locks Explained - (Read vs Exclusive)](https://www.youtube.com/watch?v=nuBi2XbHH18)
diff --git a/src/roadmaps/computer-science/content/117-databases/109-acid-model.md b/src/roadmaps/computer-science/content/117-databases/109-acid-model.md
index ae895c487..38a909aa4 100644
--- a/src/roadmaps/computer-science/content/117-databases/109-acid-model.md
+++ b/src/roadmaps/computer-science/content/117-databases/109-acid-model.md
@@ -2,6 +2,8 @@
ACID are the four properties of any database system that help in making sure that we are able to perform the transactions in a reliable manner. It's an acronym which refers to the presence of four properties: atomicity, consistency, isolation and durability
+Visit the following resources to learn more:
+
- [What is ACID Compliant Database?](https://retool.com/blog/whats-an-acid-compliant-database/)
- [What is ACID Compliance?: Atomicity, Consistency, Isolation](https://fauna.com/blog/what-is-acid-compliance-atomicity-consistency-isolation)
- [ACID Explained: Atomic, Consistent, Isolated & Durable](https://www.youtube.com/watch?v=yaQ5YMWkxq4)
diff --git a/src/roadmaps/computer-science/content/117-databases/110-base-model.md b/src/roadmaps/computer-science/content/117-databases/110-base-model.md
index e752d1708..125ca0948 100644
--- a/src/roadmaps/computer-science/content/117-databases/110-base-model.md
+++ b/src/roadmaps/computer-science/content/117-databases/110-base-model.md
@@ -6,4 +6,6 @@ The rise in popularity of NoSQL databases provided a flexible and fluidity with
- **S**oft state
- **E**ventual consistency
+Visit the following resources to learn more:
+
- [ACID Model vs BASE Model For Database](https://www.geeksforgeeks.org/acid-model-vs-base-model-for-database/)
diff --git a/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md b/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md
index 32fa1140f..2405bcf81 100644
--- a/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md
+++ b/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md
@@ -2,6 +2,8 @@
CAP is an acronym for Consistency, Availability, and Partition Tolerance. According to the CAP theorem, any distributed system can only guarantee two of the three properties at any time. You can't guarantee all three properties at once.
+Visit the following resources to learn more:
+
- [What is CAP Theorem?](https://www.bmc.com/blogs/cap-theorem/)
- [CAP Theorem - Wikipedia](https://en.wikipedia.org/wiki/CAP_theorem)
- [An Illustrated Proof of the CAP Theorem](https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/)
diff --git a/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md b/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md
index 3666f67d1..346e3dff1 100644
--- a/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md
+++ b/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md
@@ -2,5 +2,7 @@
The PACELC Theorem is an extension of the CAP Theorem. One of the questions that CAP Theorem wasn’t able to answer was “what happens when there is no Partition, What Logical Combination then a Distributed System have?“. So to answer this, In addition to Consistency, Availability, and Partition Tolerance it also includes Latency as one of the desired properties of a Distributed System. The acronym PACELC stands for Partitioned, Availability, Consistency Else Latency, Consistency.
+Visit the following resources to learn more:
+
- [PACELC Theorem - Geeks for Geeks](https://www.geeksforgeeks.org/pacelc-theorem/)
- [PACELC Theorem](https://www.scylladb.com/glossary/pacelc-theorem/)
diff --git a/src/roadmaps/computer-science/content/117-databases/113-indexes.md b/src/roadmaps/computer-science/content/117-databases/113-indexes.md
index 075c519a5..90ea75fc0 100644
--- a/src/roadmaps/computer-science/content/117-databases/113-indexes.md
+++ b/src/roadmaps/computer-science/content/117-databases/113-indexes.md
@@ -2,5 +2,7 @@
An index is a data structure that you build and assign on top of an existing table that basically looks through your table and tries to analyze and summarize so that it can create shortcuts.
+Visit the following resources to learn more:
+
- [An in-depth look at Database Indexing](https://www.freecodecamp.org/news/database-indexing-at-a-glance-bb50809d48bd/)
- [Database Indexing Explained](https://www.youtube.com/watch?v=-qNSXK7s7_w)
diff --git a/src/roadmaps/computer-science/content/117-databases/114-views.md b/src/roadmaps/computer-science/content/117-databases/114-views.md
index 4a778ae72..e77a8ae72 100644
--- a/src/roadmaps/computer-science/content/117-databases/114-views.md
+++ b/src/roadmaps/computer-science/content/117-databases/114-views.md
@@ -2,6 +2,8 @@
Views in SQL are kind of virtual tables. A view also has rows and columns as they are in a real table in the database. We can create a view by selecting fields from one or more tables present in the database. A View can either have all the rows of a table or specific rows based on certain condition.
+Visit the following resources to learn more:
+
- [SQL | Views](https://www.geeksforgeeks.org/sql-views/)
- [Datbase Views](https://www.ibm.com/docs/en/eamfoc/7.6.0?topic=structure-views)
- [SQL Views - Wikipedia](https://en.wikipedia.org/wiki/View_(SQL))
diff --git a/src/roadmaps/computer-science/content/117-databases/115-transactions.md b/src/roadmaps/computer-science/content/117-databases/115-transactions.md
index d101bc1c5..5faf3eaff 100644
--- a/src/roadmaps/computer-science/content/117-databases/115-transactions.md
+++ b/src/roadmaps/computer-science/content/117-databases/115-transactions.md
@@ -2,4 +2,6 @@
In short, a database transaction is a sequence of multiple operations performed on a database, and all served as a single logical unit of work — taking place wholly or not at all. In other words, there's never a case where only half of the operations are performed and the results saved.
+Visit the following resources to learn more:
+
- [What are Transactions?](https://fauna.com/blog/database-transaction)
diff --git a/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md b/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md
index 113db2f50..0328adbfc 100644
--- a/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md
+++ b/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md
@@ -2,5 +2,7 @@
Stored Procedures are created to perform one or more DML operations on Database. It is nothing but the group of SQL statements that accepts some input in the form of parameters and performs some task and may or may not returns a value.
+Visit the following resources to learn more:
+
- [What is Stored Procedures in SQL ?](https://www.geeksforgeeks.org/what-is-stored-procedures-in-sql/)
- [SQL Stored Procedures](https://www.programiz.com/sql/stored-procedures)
diff --git a/src/roadmaps/computer-science/content/117-databases/117-database-federation.md b/src/roadmaps/computer-science/content/117-databases/117-database-federation.md
index ee3de6ad7..7c1441405 100644
--- a/src/roadmaps/computer-science/content/117-databases/117-database-federation.md
+++ b/src/roadmaps/computer-science/content/117-databases/117-database-federation.md
@@ -2,4 +2,6 @@
Federation (or functional partitioning) splits up databases by function. The federation architecture makes several distinct physical databases appear as one logical database to end-users.
+Visit the following resources to learn more:
+
- [Database Federation](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#database-federation)
diff --git a/src/roadmaps/computer-science/content/117-databases/118-replication.md b/src/roadmaps/computer-science/content/117-databases/118-replication.md
index 92476a8ec..fb10b2296 100644
--- a/src/roadmaps/computer-science/content/117-databases/118-replication.md
+++ b/src/roadmaps/computer-science/content/117-databases/118-replication.md
@@ -2,5 +2,7 @@
Replication is a process that involves sharing information to ensure consistency between redundant resources such as multiple databases, to improve reliability, fault-tolerance, or accessibility.
+Visit the following resources to learn more:
+
- [Database Replication](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#database-replication)
- [Replication (computing)](https://en.wikipedia.org/wiki/Replication_(computing))
diff --git a/src/roadmaps/computer-science/content/117-databases/119-sharding.md b/src/roadmaps/computer-science/content/117-databases/119-sharding.md
index 6fe30cd22..d17129969 100644
--- a/src/roadmaps/computer-science/content/117-databases/119-sharding.md
+++ b/src/roadmaps/computer-science/content/117-databases/119-sharding.md
@@ -2,6 +2,8 @@
Database sharding is a method of distributing data across multiple machines. It is a horizontal scaling technique, as opposed to vertical scaling, which is scaling by adding more power to a single machine. Sharding is a common way to scale a database.
+Visit the following resources to learn more:
+
- [Sharding](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#sharding)
- [Sharding & Database Partitioning | System Design Basics](https://www.youtube.com/watch?v=RynPj8C0BXA)
- [Database Sharding - Watch](https://www.youtube.com/watch?v=hdxdhCpgYo8)
diff --git a/src/roadmaps/computer-science/content/117-databases/index.md b/src/roadmaps/computer-science/content/117-databases/index.md
index b9e604751..be727b655 100644
--- a/src/roadmaps/computer-science/content/117-databases/index.md
+++ b/src/roadmaps/computer-science/content/117-databases/index.md
@@ -2,6 +2,8 @@
A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
+Visit the following resources to learn more:
+
- [Oracle: What is a Database?](https://www.oracle.com/database/what-is-database/)
- [Prisma.io: What are Databases?](https://www.prisma.io/dataguide/intro/what-are-databases)
- [DBMS by Stanford](https://www.youtube.com/watch?v=D-k-h0GuFmE&list=PL9ysvtVnryGpnIj9rcIqNDxakUn6v72Hm)
diff --git a/src/roadmaps/computer-science/content/118-networking/100-sockets.md b/src/roadmaps/computer-science/content/118-networking/100-sockets.md
index 892ff6406..b98f12424 100644
--- a/src/roadmaps/computer-science/content/118-networking/100-sockets.md
+++ b/src/roadmaps/computer-science/content/118-networking/100-sockets.md
@@ -2,5 +2,7 @@
A socket is an interface for network communication. It is a way for two programs to communicate with each other over a network. It is a way for a client to send a request to a server and for the server to send a response back to the client.
+Visit the following resources to learn more:
+
- [A Beginners Guide to WebSockets](https://www.youtube.com/watch?v=8ARodQ4Wlf4)
- [WebSockets in 100 Seconds & Beyond with Socket.io](https://www.youtube.com/watch?v=1BfCnjr_Vjg)
diff --git a/src/roadmaps/computer-science/content/118-networking/101-tls-https.md b/src/roadmaps/computer-science/content/118-networking/101-tls-https.md
index 59e369909..f8742f4df 100644
--- a/src/roadmaps/computer-science/content/118-networking/101-tls-https.md
+++ b/src/roadmaps/computer-science/content/118-networking/101-tls-https.md
@@ -2,5 +2,7 @@
TLS (Transport Layer Security) is a cryptographic protocol that provides privacy and data integrity between two communicating applications. It is widely used to secure HTTP, although it can be used with any protocol. TLS is often used in combination with HTTPS, which is HTTP over TLS.
+Visit the following resources to learn more:
+
- [SSL and HTTPS](https://www.youtube.com/watch?v=S2iBR2ZlZf0)
- [SSL/TLS - Cristina Formaini](https://www.youtube.com/watch?v=Rp3iZUvXWlM)
diff --git a/src/roadmaps/computer-science/content/118-networking/102-http.md b/src/roadmaps/computer-science/content/118-networking/102-http.md
index bd48711ff..41e82d7d2 100644
--- a/src/roadmaps/computer-science/content/118-networking/102-http.md
+++ b/src/roadmaps/computer-science/content/118-networking/102-http.md
@@ -2,6 +2,8 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
+Visit the following resources to learn more:
+
- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/)
- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- [Journey to HTTP/2](https://kamranahmed.info/blog/2016/08/13/http-in-depth)
diff --git a/src/roadmaps/computer-science/content/118-networking/103-dns.md b/src/roadmaps/computer-science/content/118-networking/103-dns.md
index 8f174dc84..4f80f3ae8 100644
--- a/src/roadmaps/computer-science/content/118-networking/103-dns.md
+++ b/src/roadmaps/computer-science/content/118-networking/103-dns.md
@@ -2,6 +2,8 @@
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
+Visit the following resources to learn more:
+
- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
- [How DNS works (comic)](https://howdns.works/)
- [DNS and How does it Work?](https://www.youtube.com/watch?v=Wj0od2ag5sk)
diff --git a/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md b/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md
index e40ca4a36..ad8559634 100644
--- a/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md
+++ b/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md
@@ -2,6 +2,8 @@
The OSI and TCP/IP model is used to help the developer to design their system for interoperability. The OSI model has 7 layers while the TCP/IP model has a more summarized form of the OSI model only consisting 4 layers. This is important if you're are trying to design a system to communicate with other systems.
+Visit the following resources to learn more:
+
- [Cloudflare - What is the OSI model](https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/)
- [Geeksforgeeks - Layers of OSI model](https://www.geeksforgeeks.org/layers-of-osi-model/)
- [Geeksforgeeks - TCP/IP model](https://www.geeksforgeeks.org/tcp-ip-model/)
diff --git a/src/roadmaps/computer-science/content/118-networking/105-osi-model.md b/src/roadmaps/computer-science/content/118-networking/105-osi-model.md
index e40ca4a36..ad8559634 100644
--- a/src/roadmaps/computer-science/content/118-networking/105-osi-model.md
+++ b/src/roadmaps/computer-science/content/118-networking/105-osi-model.md
@@ -2,6 +2,8 @@
The OSI and TCP/IP model is used to help the developer to design their system for interoperability. The OSI model has 7 layers while the TCP/IP model has a more summarized form of the OSI model only consisting 4 layers. This is important if you're are trying to design a system to communicate with other systems.
+Visit the following resources to learn more:
+
- [Cloudflare - What is the OSI model](https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/)
- [Geeksforgeeks - Layers of OSI model](https://www.geeksforgeeks.org/layers-of-osi-model/)
- [Geeksforgeeks - TCP/IP model](https://www.geeksforgeeks.org/tcp-ip-model/)
diff --git a/src/roadmaps/computer-science/content/118-networking/index.md b/src/roadmaps/computer-science/content/118-networking/index.md
index 2cfa93124..dfed1f7a3 100644
--- a/src/roadmaps/computer-science/content/118-networking/index.md
+++ b/src/roadmaps/computer-science/content/118-networking/index.md
@@ -4,6 +4,8 @@ Networking is the process of connecting two or more computing devices together f
If you have networking experience or want to be a reliability engineer or operations engineer, expect questions from these topics. Otherwise, this is just good to know.
+Visit the following resources to learn more:
+
- [Computer Networking Course - Network Engineering](https://www.youtube.com/watch?v=qiQR5rTSshw)
- [Khan Academy - Networking](https://www.khanacademy.org/computing/code-org/computers-and-the-internet)
- [Networking Video Series (21 videos)](https://www.youtube.com/playlist?list=PLEbnTDJUr_IegfoqO4iPnPYQui46QqT0j)
diff --git a/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md b/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md
index a998eed28..033c3fbc1 100644
--- a/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md
+++ b/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md
@@ -2,6 +2,8 @@
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic algorithms based on mathematical problems termed one-way functions.
+Visit the following resources to learn more:
+
- [Public-key cryptography - Wikipedia](https://en.wikipedia.org/wiki/Public-key_cryptography)
- [Public Key Cryptography - Computerphile](https://www.youtube.com/watch?v=GSIDS_lvRv4)
- [Public Key Cryptography: RSA Encryption Algorithm](https://www.youtube.com/watch?v=wXB-V_Keiu8)
diff --git a/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md b/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md
index b0fc808f9..e7262d26a 100644
--- a/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md
+++ b/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md
@@ -6,4 +6,6 @@ Encryption is a two-way function that takes an input and produces an output. The
Encoding is a two-way function that takes an input and produces an output. The output is called encoded text. The encoded text is a unique representation of the input. The encoded text is deterministic, meaning that the same input will always produce the same encoded text. The encoded text is reversible, meaning that it is possible to go from the encoded text back to the original input. The encoded text is not collision-resistant, meaning that it is possible to find two different inputs that produce the same encoded text.
+Visit the following resources to learn more:
+
- [Encoding, Encryption and Hashing -- Whats the Difference?](https://www.youtube.com/watch?v=-bAnBzvMLig)
diff --git a/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md b/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md
index 01e1292a8..ea9b592ff 100644
--- a/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md
+++ b/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md
@@ -2,6 +2,8 @@
Hashing algorithms are used to generate a unique value for a given input. This value is called a hash. Hashing algorithms are used to verify the integrity of data, to store passwords, and to generate unique identifiers for data.
+Visit the following resources to learn more:
+
- [Hashing Algorithms and Security - Computerphile](https://www.youtube.com/watch?v=b4b8ktEV4Bg)
- [Top Hashing Algorithms In Cryptography | MD5 and SHA 256 Algorithms Expalined | Simplilearn](https://www.youtube.com/watch?v=Plp4F3ZfC7A)
- [SHA: Secure Hashing Algorithm - Computerphile](https://www.youtube.com/watch?v=DMtFhACPnTY)
diff --git a/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md b/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md
index 4c2795a47..89c0bed2f 100644
--- a/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md
+++ b/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md
@@ -2,6 +2,8 @@
OWASP or Open Web Application Security Project is an online community that produces freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security.
+Visit the following resources to learn more:
+
- [Wikipedia - OWASP](https://en.wikipedia.org/wiki/OWASP)
- [OWASP Web Application Security Testing Checklist](https://github.com/0xRadi/OWASP-Web-Checklist)
- [OWASP Top 10 Security Risks](https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/)
diff --git a/src/roadmaps/computer-science/content/119-security/index.md b/src/roadmaps/computer-science/content/119-security/index.md
index 9802fe48c..f17fc6984 100644
--- a/src/roadmaps/computer-science/content/119-security/index.md
+++ b/src/roadmaps/computer-science/content/119-security/index.md
@@ -2,6 +2,8 @@
Web security refers to the protective measures taken by the developers to protect the web applications from threats that could affect the business.
+Visit the following resources to learn more:
+
- [MIT 6.858 Computer Systems Security, Fall 2014](https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
- [Why HTTPS Matters](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https)
- [Wikipedia - OWASP](https://en.wikipedia.org/wiki/OWASP)
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md b/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
index 9b671aac0..b30250b5b 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
@@ -1,3 +1,5 @@
# How CPU Executes Programs?
+Visit the following resources to learn more:
+
- [How CPU executes a program](https://www.youtube.com/watch?v=XM4lGflQFvA)
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md b/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md
index dafdeed77..0475579d0 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md
@@ -1,3 +1,5 @@
# How Computers Calculate?
+Visit the following resources to learn more:
+
- [How computers calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md b/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md
index 64cdc21d7..4f9119f89 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md
@@ -8,4 +8,6 @@ Registers are the high-speed accessible storage elements. The processor accesses
Primary memory or RAM is a volatile memory, meaning the primary memory data exist when the system's power is on, and the data vanishes as the system is switched off. The primary memory contains the data required by the currently executing program in the CPU. If the data required by the processor is not in primary memory, then the data is transferred from secondary storage to primary memory, and then it is fetched by the processor.
+Visit the following resources to learn more:
+
- [Registers and RAM](https://youtu.be/fpnE6UAfbtU)
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md b/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md
index b8afc3488..fc8e87e89 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md
@@ -1,3 +1,5 @@
# Instructions and Programs
+Visit the following resources to learn more:
+
- [Instructions and Programs](https://youtu.be/zltgXvg6r3k)
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md b/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md
index f227651c0..ff47ec8df 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md
@@ -1,4 +1,6 @@
# CPU Cache
+Visit the following resources to learn more:
+
- [MIT 6.004 L15: The Memory Hierarchy](https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24)
- [MIT 6.004 L16: Cache Issues](https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-)
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/index.md b/src/roadmaps/computer-science/content/120-how-computers-work/index.md
index b51f3d73e..7cafad5fb 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/index.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/index.md
@@ -2,6 +2,8 @@
Computers are everywhere. They are in our phones, our cars, our homes, and even in our pockets. But how do they actually work? How do they take in information, and how do they output information?
+Visit the following resources to learn more:
+
- [How CPU executes a program](https://www.youtube.com/watch?v=XM4lGflQFvA)
- [How computers calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
- [Registers and RAM](https://youtu.be/fpnE6UAfbtU)
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md b/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md
index 93776ce29..18cde89df 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md
@@ -2,6 +2,8 @@
Process forking is a way to create a new process from an existing process. The new process is a copy of the existing process. The new process is called a child process and the existing process is called a parent process.
+Visit the following resources to learn more:
+
- [Understanding fork() system call for new process creation](https://www.youtube.com/watch?v=PwxTbksJ2fo)
- [fork() and exec() System Calls](https://www.youtube.com/watch?v=IFEFVXvjiHY)
- [The fork() function in C](https://www.youtube.com/watch?v=cex9XrZCU14)
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md b/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md
index 583e82375..e0b7cc72f 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md
@@ -2,5 +2,7 @@
Memory management is the process of allocating and deallocating memory. It is a very important part of any programming language.
+Visit the following resources to learn more:
+
- [MIT 6.004 L15: The Memory Hierarchy](https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24)
- [MIT 6.004 L16: Cache Issues](https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-)
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md b/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
index a97e2119b..b4141d3e2 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
@@ -6,6 +6,8 @@ A mutex is the same as a lock but it can be system wide (shared by multiple proc
A semaphore does the same as a mutex but allows x number of threads to enter, this can be used for example to limit the number of cpu, io or ram intensive tasks running at the same time.
+Visit the following resources to learn more:
+
- [What is the difference between lock, mutex and semaphore?](https://stackoverflow.com/questions/2332765/what-is-the-difference-between-lock-mutex-and-semaphore)
- [What is a Semaphore](https://stackoverflow.com/questions/34519/what-is-a-semaphore/40238#40238)
- [Mutex vs Semaphore](https://www.geeksforgeeks.org/mutex-vs-semaphore/)
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md b/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
index fb89cc197..3f82507d4 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
@@ -1,4 +1,6 @@
# Concurrency in Multiple Cores
+Visit the following resources to learn more:
+
- [What is the difference between multicore and concurrent programming?](https://stackoverflow.com/questions/5372861/what-is-the-difference-between-multicore-and-concurrent-programming)
- [Concurrency in Multicore systems](https://cs.stackexchange.com/questions/140793/concurrency-in-multiple-core)
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md b/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
index 341985392..832522572 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
@@ -2,4 +2,6 @@
CPU Interrupts are a way for the CPU to communicate with the rest of the computer. They are a way for the CPU to tell the rest of the computer that it needs to do something. For example, if the CPU is running a program and it needs to read from the keyboard, it will send an interrupt to the keyboard to tell it to send the data to the CPU. The CPU will then wait for the keyboard to send the data and then continue running the program.
+Visit the following resources to learn more:
+
- [Video on Interrupts](https://youtu.be/iKlAWIKEyuw)
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md b/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
index 6a861b6b0..56ef1189b 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
@@ -2,5 +2,7 @@
Processes and threads are the basic building blocks of a computer program. They are the smallest units of execution in a program. A process is an instance of a program that is being executed. A thread is a sequence of instructions within a process that can be executed independently of other code.
+Visit the following resources to learn more:
+
- [Whats the difference between Process and a Thread?](https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread)
- [Operating Systems and System Programming](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c)
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/index.md b/src/roadmaps/computer-science/content/121-processes-and-threads/index.md
index 6a861b6b0..56ef1189b 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/index.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/index.md
@@ -2,5 +2,7 @@
Processes and threads are the basic building blocks of a computer program. They are the smallest units of execution in a program. A process is an instance of a program that is being executed. A thread is a sequence of instructions within a process that can be executed independently of other code.
+Visit the following resources to learn more:
+
- [Whats the difference between Process and a Thread?](https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread)
- [Operating Systems and System Programming](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c)
diff --git a/src/roadmaps/computer-science/content/122-kd-trees.md b/src/roadmaps/computer-science/content/122-kd-trees.md
index d22750290..8df91a3d8 100644
--- a/src/roadmaps/computer-science/content/122-kd-trees.md
+++ b/src/roadmaps/computer-science/content/122-kd-trees.md
@@ -2,5 +2,7 @@
K-D Trees are a data structure that allow for fast nearest neighbor search in high dimensional spaces. They are a generalization of binary search trees, and are used in a variety of applications, including computer vision and computational geometry.
+Visit the following resources to learn more:
+
- [K-D Tree Algorithm](https://www.youtube.com/watch?v=Y4ZgLlDfKDg)
- [K-d Trees - Computerphile](https://www.youtube.com/watch?v=BK5x7IUTIyU)
diff --git a/src/roadmaps/computer-science/content/123-skip-lists.md b/src/roadmaps/computer-science/content/123-skip-lists.md
index e7a5f6f15..73a3ce7ab 100644
--- a/src/roadmaps/computer-science/content/123-skip-lists.md
+++ b/src/roadmaps/computer-science/content/123-skip-lists.md
@@ -2,5 +2,7 @@
Skip lists are a data structure that allows you to perform operations on a sorted list in O(log n) time. Skip lists are a probabilistic data structure, which means that the probability of a certain operation taking a certain amount of time is a certain value. In the case of skip lists, the probability of an operation taking O(log n) time is 1.
+Visit the following resources to learn more:
+
- [Randomization: Skip Lists](https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [Skip Lists - Wikipedia](https://en.wikipedia.org/wiki/Skip_list)
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md b/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md
index 39fe77446..1cef86c2e 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md
@@ -2,6 +2,8 @@
A Design System is the single source of truth which groups all the elements that will allow the teams to design, realize and develop a product.
+Visit the following resources to learn more:
+
- [Everything you need to know about Design Systems](https://uxdesign.cc/everything-you-need-to-know-about-design-systems-54b109851969)
- [Design Systems 101](https://www.nngroup.com/articles/design-systems-101/)
- [A comprehensive guide to design systems](https://www.invisionapp.com/inside-design/guide-to-design-systems/)
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md b/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md
index ec86f51ca..b83f451e3 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md
@@ -2,6 +2,8 @@
Having a solid design system speeds up your work by making the product team more efficient, and it creates consistency and harmony within the product and brand ecosystem. A strong design system takes the burden off individual designers to think through commonly recurring design problems. With a full library of pre-approved elements, designers can focus on bigger problems like creating seamless, intuitive flows that delight users. That kind of efficiency pays huge dividends over time.
+Visit the following resources to learn more:
+
- [Design Systems, when and how much?](https://www.youtube.com/watch?v=Hx02SaL_IH0)
- [Why You Need a Strong Design System (and How to Build One)](https://www.drawbackwards.com/blog/why-you-need-a-strong-design-system-and-how-to-build-one)
- [On Design Systems: Sell The Output, Not The Workflow](https://www.smashingmagazine.com/2016/05/design-systems-responsive-design-sell-output-not-workflow/)
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md b/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md
index 663db4efe..b57c7dcb0 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md
@@ -2,6 +2,8 @@
A component library is just a collection of visuals i.e. colours, button stylings, fonts, etc. A Design System takes it to the next level by including standards and documentation around the look and usage of each component. The Design System acts as the single-source of truth.
+Visit the following resources to learn more:
+
- [A Design System: So Much More Than A Component Library](https://www.architech.ca/a-design-system-so-much-more-than-a-component-library)
- [Design System vs UI Component Library vs Brand Style Guide](https://prototype.net/blog/design-system-component-library-style-guide)
- [Design Systems vs Pattern Libraries vs Style Guides vs Component Libraries](https://www.uxpin.com/studio/blog/design-systems-vs-pattern-libraries-vs-style-guides-whats-difference/)
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md b/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md
index b96f63d1c..0eb093bce 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md
@@ -2,6 +2,8 @@
Atomic design (by Brad Frost) is a mental model to help you think of user interfaces as a cohesive whole and a collection of parts at the same time. Through the comparison to atoms, molecules, and organisms, we can think of the design of our UI as a composition of self-containing modules put together.
+Visit the following resources to learn more:
+
- [Atomic Design Principles & Methodology 101](https://xd.adobe.com/ideas/process/ui-design/atomic-design-principles-methodology-101/)
- [Atomic Design Methodology](https://atomicdesign.bradfrost.com/chapter-2/)
- [Atomic Design and UI Components: Theory to Practice](https://blog.bitsrc.io/atomic-design-and-ui-components-theory-to-practice-f200db337c24)
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md b/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md
index 3ee141fed..8c5d33c62 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md
@@ -12,4 +12,6 @@ Building an effective design system is not an individual responsibility, you nee
- **Leaders:** (VPs and directors) to champion and align the vision throughout the company including up to executive leadership
+Visit the following resources to learn more:
+
- [Designing the Design System](https://www.designbetter.co/design-systems-handbook/designing-design-system)
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md b/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md
index 9ee311bf2..53283eacf 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md
@@ -1,6 +1,8 @@
# Design System Examples
+Visit the following resources to learn more:
+
- [Material Design (Google)](https://material.io/)
- [Carbon Design System (IBM)](https://carbondesignsystem.com/)
- [Atlassian Design System](https://atlassian.design/)
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/index.md b/src/roadmaps/design-system/content/100-design-system-basics/index.md
index 986cf0454..e96fcdbc0 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/index.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/index.md
@@ -2,6 +2,8 @@
A design system is a set of standards to manage design at scale by reducing redundancy while creating a shared language and visual consistency across different pages and channels.
+Visit the following resources to learn more:
+
- [Design Systems 101](https://www.nngroup.com/articles/design-systems-101/)
- [What is a Design System? Design Systems 101 for Designers](https://www.youtube.com/watch?v=wc5krC28ynQ)
- [A comprehensive guide to design systems](https://www.invisionapp.com/inside-design/guide-to-design-systems/)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md b/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md
index 62356ee81..f060ba44b 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md
@@ -2,6 +2,8 @@
A component library is a collection of all the components used in a website, software or app. Some of the common tools to showcase and browse components in a component library include are given below:
+Visit the following resources to learn more:
+
- [Pattern Lab](https://patternlab.io/)
- [Fractal](https://fractal.build/)
- [Storybook](https://storybook.js.org/)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md b/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md
index 598189acc..ff0ffffb0 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md
@@ -2,6 +2,8 @@
A design language or design vocabulary is an overarching scheme or style that guides the design of a complement of products or architectural settings, creating a coherent design system for styling.
+Visit the following resources to learn more:
+
- [What is a Design Language.. really?](https://medium.com/thinking-design/what-is-a-design-language-really-cd1ef87be793)
- [How to Develop a Design Language](https://xd.adobe.com/ideas/principles/web-design/how-to-develop-design-language/)
- [What Actually Constitutes Design Language?](https://www.uxpin.com/studio/blog/design-language/)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md b/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md
index ed63e7ff0..8bd27cffa 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md
@@ -2,6 +2,8 @@
Governance is a framework for clarifying roles, responsibilities, and authority over decisions. Having that clarity ensures that decisions for the design system funnel smoothly through the governance process
+Visit the following resources to learn more:
+
- [Governance is a design system’s friend](https://zeroheight.com/blog/governance-is-a-design-systems-friend)
- [Design System Governance – Scale Your Design](https://www.uxpin.com/studio/blog/design-system-governance/)
- [Governance by design: Building successful design systems](https://rangle.io/blog/governance-by-design-building-successful-design-systems/)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md b/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md
index 88f453c35..2025efa58 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md
@@ -2,4 +2,6 @@
Design guidelines are sets of recommendations on how to apply design principles to provide a positive user experience. Designers use such guidelines to judge how to adopt principles such as intuitiveness, learnability, efficiency and consistency so they can create compelling designs and meet and exceed user needs.
+Visit the following resources to learn more:
+
- [Design Guidelines](https://www.interaction-design.org/literature/topics/design-guidelines)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md b/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md
index 539865c44..27f5f0d55 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md
@@ -2,4 +2,6 @@
Pilots are one of the best ways to put your design system through its paces, especially before the design system even gets to a v1. Like television pilots help test audience reactions to a series concept without investing significant resources to create the whole thing, application pilots are a good foundation for ensuring your design system’s design and code are battle-tested.
+Visit the following resources to learn more:
+
- [Design Systems: Pilots & Scorecards](https://superfriendly.com/design-systems/articles/design-systems-pilots-scorecards/)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md b/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md
index 8586f467a..0ea70ad40 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md
@@ -2,5 +2,7 @@
Design system tokens are the style values of UI elements such as color, typography, spacing, shadows, etc., that are used across products and capable of being converted to a format for any platform (web, mobile, desktop). Tokens are building blocks of the design system—think of them as sub atoms, the smallest pieces of style values that allow designers to create styles for a product.
+Visit the following resources to learn more:
+
- [What Are Design Tokens?](https://xd.adobe.com/ideas/principles/design-systems/what-are-design-tokens/)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md b/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md
index 90bde2a2b..7b1e4e72a 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md
@@ -3,5 +3,7 @@
As it relates to a design system, a UI Kit is a representation of coded components created in a way that designers who don’t know code can create interface mockups. Examples of UI kits are Sketch libraries and [Figma design systems](https://www.figma.com/blog/how-to-build-your-design-system-in-figma/).
+Visit the following resources to learn more:
+
- [Design System vs UI Kit](https://uigstudio.com/insights/design-system-vs-ui-kit)
- [Your sketch library is not a design system](http://bradfrost.com/blog/post/your-sketch-library-is-not-a-design-system/)
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/index.md b/src/roadmaps/design-system/content/101-design-system-terminology/index.md
index c96db42fc..92e141780 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/index.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/index.md
@@ -2,5 +2,7 @@
Design systems can be tricky if you don’t know what certain words mean. Have a look at the roadmap nodes as well as follow the link below to read the glossary.
+Visit the following resources to learn more:
+
- [Design Systems Glossary](https://web.archive.org/web/20220620075140/https://superfriendly.com/design-systems/glossary/)
diff --git a/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md b/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md
index 0eefd5942..bd5ccd17a 100644
--- a/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md
+++ b/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md
@@ -2,5 +2,7 @@
If you are building a Design System from Scratch, you may skip the "Existing Design Analysis" node of the roadmap and start with "Creating Design Language".
+Visit the following resources to learn more:
+
- [Create a Design System with Figma - Full Course](https://www.youtube.com/watch?v=RYDiDpW2VkM)
diff --git a/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md b/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md
index e00506f2b..494c3c36d 100644
--- a/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md
+++ b/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md
@@ -2,4 +2,6 @@
If you are creating a Design System from pre-existing product design, there is an additional step to perform the existing design analysis, understand the existing design process, perform a visual audit, identify design elements and components and so on.
+Visit the following resources to learn more:
+
- [Create a Design System with Figma - Full Course](https://www.youtube.com/watch?v=RYDiDpW2VkM)
diff --git a/src/roadmaps/design-system/content/102-making-a-design-system/index.md b/src/roadmaps/design-system/content/102-making-a-design-system/index.md
index d75821c51..1e3e2feb5 100644
--- a/src/roadmaps/design-system/content/102-making-a-design-system/index.md
+++ b/src/roadmaps/design-system/content/102-making-a-design-system/index.md
@@ -2,6 +2,8 @@
First step in building a design system is identifying [if you even need a design system](https://sparkbox.com/foundry/when_not_to_use_a_design_system).
+Visit the following resources to learn more:
+
- [Introducing Design Systems Into Chaos - Diana Mounter, GitHub](https://www.youtube.com/watch?v=FZSi1bK-BRM)
- [Design Systems, when and how much?](https://www.youtube.com/watch?v=Hx02SaL_IH0)
- [Design Systems: Step-by-Step Guide to Creating Your Own](https://www.uxpin.com/create-design-system-guide/)
diff --git a/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md b/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md
index a95fede12..17b98fc6d 100644
--- a/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md
+++ b/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md
@@ -2,6 +2,8 @@
Guidelines for how you approach accessibility and how you leverage colour, hierarchy and assistive technologies to help your users.
+Visit the following resources to learn more:
+
- [Introduction to Web Accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/)
- [What is Accessibility? by Mozilla](https://developer.mozilla.org/en-US/docs/Learn/Accessibility/What_is_accessibility)
- [Accessibility Principles](https://www.w3.org/WAI/fundamentals/accessibility-principles/)
diff --git a/src/roadmaps/design-system/content/104-design-language/index.md b/src/roadmaps/design-system/content/104-design-language/index.md
index eedd442f2..4f779e28c 100644
--- a/src/roadmaps/design-system/content/104-design-language/index.md
+++ b/src/roadmaps/design-system/content/104-design-language/index.md
@@ -2,6 +2,8 @@
Like any language, a design language is a methodical way of communicating with your audience through your approach to product design. It’s the cornerstone of consistent customer experiences.
+Visit the following resources to learn more:
+
- [What is a Design Language.. really?](https://medium.com/thinking-design/what-is-a-design-language-really-cd1ef87be793)
- [How to Develop a Design Language](https://xd.adobe.com/ideas/principles/web-design/how-to-develop-design-language/)
- [What Actually Constitutes Design Language?](https://www.uxpin.com/studio/blog/design-language/)
diff --git a/src/roadmaps/design-system/content/105-design-tokens/index.md b/src/roadmaps/design-system/content/105-design-tokens/index.md
index 04aedd5eb..5a1c36ee8 100644
--- a/src/roadmaps/design-system/content/105-design-tokens/index.md
+++ b/src/roadmaps/design-system/content/105-design-tokens/index.md
@@ -2,4 +2,6 @@
Variables that store values for the base layer of your design system, like colour and typography. They’re used in components, so changes on this level will resonate throughout the whole system.
+Visit the following resources to learn more:
+
- [What Are Design Tokens?](https://xd.adobe.com/ideas/principles/design-systems/what-are-design-tokens/)
diff --git a/src/roadmaps/devops/content/100-language/100-python.md b/src/roadmaps/devops/content/100-language/100-python.md
index 2ae36dbc3..8a5cd6542 100644
--- a/src/roadmaps/devops/content/100-language/100-python.md
+++ b/src/roadmaps/devops/content/100-language/100-python.md
@@ -8,6 +8,8 @@
Python is a multi-paradigm language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways. Python is frequently recommended as the first language new coders should learn, because of its focus on readability, consistency, and ease of use. This comes with some downsides, as the language is not especially performant in most production tasks.
+Visit the following resources to learn more:
+
- [Visit Dedicated Python Roadmap](/python)
- [Python Website](https://www.python.org/)
- [Python Getting Started](https://www.python.org/about/gettingstarted/)
diff --git a/src/roadmaps/devops/content/100-language/101-ruby.md b/src/roadmaps/devops/content/100-language/101-ruby.md
index 0fff7dc9f..a8fe73dd6 100644
--- a/src/roadmaps/devops/content/100-language/101-ruby.md
+++ b/src/roadmaps/devops/content/100-language/101-ruby.md
@@ -2,6 +2,8 @@
Ruby is a high-level, interpreted programming language that blends Perl, Smalltalk, Eiffel, Ada, and Lisp. Ruby focuses on simplicity and productivity along with a syntax that reads and writes naturally. Ruby supports procedural, object-oriented and functional programming and is dynamically typed.
+Visit the following resources to learn more:
+
- [Ruby Website](https://www.ruby-lang.org/en/)
- [Learn Ruby in 20 minutes](https://www.ruby-lang.org/en/documentation/quickstart/)
- [Learn Ruby | Codecademy](https://www.codecademy.com/learn/learn-ruby)
diff --git a/src/roadmaps/devops/content/100-language/102-javascript.md b/src/roadmaps/devops/content/100-language/102-javascript.md
index ed7600715..2d5162701 100644
--- a/src/roadmaps/devops/content/100-language/102-javascript.md
+++ b/src/roadmaps/devops/content/100-language/102-javascript.md
@@ -8,6 +8,8 @@
JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. Apart from being used on the frontend in browsers, there is Node.js which is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
+Visit the following resources to learn more:
+
- [Visit Dedicated JavaScript Roadmap](/javascript)
- [W3Schools – JavaScript Tutorial](https://www.w3schools.com/js/)
- [The Modern JavaScript Tutorial](https://javascript.info/)
diff --git a/src/roadmaps/devops/content/100-language/103-go.md b/src/roadmaps/devops/content/100-language/103-go.md
index 491caf2a0..94863755d 100644
--- a/src/roadmaps/devops/content/100-language/103-go.md
+++ b/src/roadmaps/devops/content/100-language/103-go.md
@@ -8,6 +8,8 @@
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
+Visit the following resources to learn more:
+
- [Visit Dedicated Go Roadmap](/golang)
- [A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [Go Reference Documentation](https://go.dev/doc/)
diff --git a/src/roadmaps/devops/content/100-language/104-rust.md b/src/roadmaps/devops/content/100-language/104-rust.md
index 0dcdc28e9..6704f4953 100644
--- a/src/roadmaps/devops/content/100-language/104-rust.md
+++ b/src/roadmaps/devops/content/100-language/104-rust.md
@@ -2,5 +2,7 @@
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
+Visit the following resources to learn more:
+
- [The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
- [Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
diff --git a/src/roadmaps/devops/content/101-os-concepts/100-networking.md b/src/roadmaps/devops/content/101-os-concepts/100-networking.md
index 80af095df..5a37735ac 100644
--- a/src/roadmaps/devops/content/101-os-concepts/100-networking.md
+++ b/src/roadmaps/devops/content/101-os-concepts/100-networking.md
@@ -4,6 +4,8 @@ Computer networking refers to interconnected computing devices that can exchange
Begin by studying the [OSI Model](https://en.wikipedia.org/wiki/OSI_model). This model will assist in constructing an understanding of the linked topics, and help you contextualize the items linked to the Networking, Security, and Protocols node. Higher level networking concepts may be implemented and named differently across cloud providers. Don't let this confuse you - the basics of TCP/IP are useful and used in the same ways across all implementations.
+Visit the following resources to learn more:
+
- [What is Computer Networking?](https://aws.amazon.com/what-is/computer-networking/)
- [Full Networking Course](https://youtu.be/IPvYjXCsTg8)
- [OSI Model Explained](https://www.youtube.com/watch?v=dV8mjZd1OtU)
diff --git a/src/roadmaps/devops/content/101-os-concepts/101-io-management.md b/src/roadmaps/devops/content/101-os-concepts/101-io-management.md
index f2bcd3c80..f87ac2f68 100644
--- a/src/roadmaps/devops/content/101-os-concepts/101-io-management.md
+++ b/src/roadmaps/devops/content/101-os-concepts/101-io-management.md
@@ -2,6 +2,8 @@
One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc.
+Visit the following resources to learn more:
+
- [Operating System - I/O Hardware](https://www.tutorialspoint.com/operating_system/os_io_hardware.htm)
- [IO Management](https://www.omscs-notes.com/operating-systems/io-management/)
- [Basics of OS (I/O Structure)](https://www.youtube.com/watch?v=F18RiREDkwE)
diff --git a/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md b/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md
index 358236f7f..86b0acf0c 100644
--- a/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md
+++ b/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md
@@ -3,6 +3,8 @@
Virtualization is the creation of a virtual -- rather than actual -- version of something, such as an operating system (OS), a server, a storage device or network resources. It uses software that simulates hardware functionality to create a virtual system. This practice allows IT organizations to operate multiple operating systems, more than one virtual system and various applications on a single server.
+Visit the following resources to learn more:
+
- [What is Virtualization? and its types?](https://www.techtarget.com/searchitoperations/definition/virtualization)
- [What is Hypervisor and VM?](https://opensource.com/resources/virtualization)
- [Containers vs VM](https://www.atlassian.com/microservices/cloud-computing/containers-vs-vms)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md b/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md
index 0cc76bad8..3768c5675 100644
--- a/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md
+++ b/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md
@@ -4,5 +4,7 @@ The term Memory can be defined as a collection of data in a specific format. It
To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation.
+Visit the following resources to learn more:
+
- [Demystifying memory management in modern programming languages](https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd)
- [Memory Management in Operating System](https://www.geeksforgeeks.org/memory-management-in-operating-system/)
diff --git a/src/roadmaps/devops/content/101-os-concepts/104-file-system.md b/src/roadmaps/devops/content/101-os-concepts/104-file-system.md
index 6289d49df..c94ef9cdd 100644
--- a/src/roadmaps/devops/content/101-os-concepts/104-file-system.md
+++ b/src/roadmaps/devops/content/101-os-concepts/104-file-system.md
@@ -2,4 +2,6 @@
A file is a named collection of related information recorded on secondary storage such as magnetic disks, magnetic tapes, and optical disks. Generally, a file is a sequence of bits, bytes, lines, or records whose meaning is defined by the file's creator and user.
+Visit the following resources to learn more:
+
- [Operating System - File System](https://www.tutorialspoint.com/operating_system/os_file_system.htm)
diff --git a/src/roadmaps/devops/content/101-os-concepts/105-sockets.md b/src/roadmaps/devops/content/101-os-concepts/105-sockets.md
index 38d24d800..c1c74ebb1 100644
--- a/src/roadmaps/devops/content/101-os-concepts/105-sockets.md
+++ b/src/roadmaps/devops/content/101-os-concepts/105-sockets.md
@@ -4,6 +4,8 @@ Socket is an endpoint of a two way **communication** link between **two differen
e.g. `http://192.168.0.1:8080`
+Visit the following resources to learn more:
+
- [What are Sockets?](https://www.geeksforgeeks.org/socket-in-computer-network/)
- [Types of Sockets](https://www.tutorialspoint.com/unix_sockets/what_is_socket.htm)
- [Port vs Socket](https://www.baeldung.com/cs/port-vs-socket)
diff --git a/src/roadmaps/devops/content/101-os-concepts/106-posix.md b/src/roadmaps/devops/content/101-os-concepts/106-posix.md
index 1a78c775a..55805e37a 100644
--- a/src/roadmaps/devops/content/101-os-concepts/106-posix.md
+++ b/src/roadmaps/devops/content/101-os-concepts/106-posix.md
@@ -8,6 +8,8 @@ So, in this case, when we want to interact with any of these streams (through a
POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions.
+Visit the following resources to learn more:
+
- [POSIX standard by IEEE](https://pubs.opengroup.org/onlinepubs/9699919799/)
- [Summary of some POSIX implementations](https://unix.stackexchange.com/a/220877)
- [A guide to POSIX](https://www.baeldung.com/linux/posix)
diff --git a/src/roadmaps/devops/content/101-os-concepts/107-processes.md b/src/roadmaps/devops/content/101-os-concepts/107-processes.md
index d9ca80577..9ab301542 100644
--- a/src/roadmaps/devops/content/101-os-concepts/107-processes.md
+++ b/src/roadmaps/devops/content/101-os-concepts/107-processes.md
@@ -6,6 +6,8 @@ A process means program in execution. It generally takes an input, processes it
* Foreground processes
* Background processes
+Visit the following resources to learn more:
+
- [Intro to Process Management](https://www.geeksforgeeks.org/introduction-of-process-management/)
- [Process Management in Linux](https://www.geeksforgeeks.org/process-management-in-linux/)
- [Process related commands in Linux](https://www.geeksforgeeks.org/processes-in-linuxunix/)
diff --git a/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md b/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md
index 6d131efec..ff764091c 100644
--- a/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md
+++ b/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md
@@ -4,6 +4,8 @@
It has following syntax: `$ service [service_name] [action]` e.g. `$ service ssh start`
+Visit the following resources to learn more:
+
- [Linux Booting Process](https://www.freecodecamp.org/news/the-linux-booting-process-6-steps-described-in-detail/)
- [What is init.d?](https://www.geeksforgeeks.org/what-is-init-d-in-linux-service-management/)
- [What are Daemons in Linux?](https://itsfoss.com/linux-daemons/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/109-service-management.md b/src/roadmaps/devops/content/101-os-concepts/109-service-management.md
index 9ddf635fd..677691282 100644
--- a/src/roadmaps/devops/content/101-os-concepts/109-service-management.md
+++ b/src/roadmaps/devops/content/101-os-concepts/109-service-management.md
@@ -4,6 +4,8 @@
e.g. `$ systemctl start [service-name]`, `$ systemctl poweroff`
+Visit the following resources to learn more:
+
- [What is systemd? and its commands](https://www.geeksforgeeks.org/linux-systemd-and-its-components/)
- [init.d vs systemd](https://uace.github.io/learning/init-vs-systemd-what-is-an-init-daemon)
- [Why Systemd as a replacement of init.d?](https://www.tecmint.com/systemd-replaces-init-in-linux/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md b/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md
index 138d4003a..6f2273a8d 100644
--- a/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md
+++ b/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md
@@ -8,6 +8,8 @@ Each thread has its own program counter, stack, and set of registers. But the th
* `fork`
* `join`
+Visit the following resources to learn more:
+
- [Process Synchronization](https://www.geeksforgeeks.org/introduction-of-process-synchronization/)
- [What is Thread in OS?](https://www.geeksforgeeks.org/thread-in-operating-system/)
- [Process vs Thread & Multi-Threading](https://www.scaler.com/topics/operating-system/threads-in-operating-system/)
diff --git a/src/roadmaps/devops/content/101-os-concepts/index.md b/src/roadmaps/devops/content/101-os-concepts/index.md
index 8f98ee171..302c66687 100644
--- a/src/roadmaps/devops/content/101-os-concepts/index.md
+++ b/src/roadmaps/devops/content/101-os-concepts/index.md
@@ -2,6 +2,8 @@
An Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
+Visit the following resources to learn more:
+
- [What is an operating system?](https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/)
- [Operating Systems: Crash Course Computer Science #18](https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse)
- [Introduction to Operating System](https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md
index 4ba6acd5d..aa31b706a 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md
@@ -2,5 +2,7 @@
Windows is a graphical user interface (GUI) based operating system developed by Microsoft. It is a hybrid kernel-based proprietary operating system. According to a survey, till April 2022, windows is the most popular operating system in the world with a 75% market share.
+Visit the following resources to learn more:
+
- [Windows Official Site](http://microsoft.com/windows)
- [Windows Documentation for Developers](https://learn.microsoft.com/en-us/windows/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md
index d52fe1f4f..edf802dc4 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md
@@ -4,6 +4,8 @@ Debian is a free and open-source Linux distribution developed by the Debian Proj
Ubuntu is a free and open-source Linux distribution based on Debian. Ubuntu is available in three versions Desktop, Server and Core.
+Visit the following resources to learn more:
+
- [Debian Website](https://www.debian.org/)
- [Official Debian Documentation](https://www.debian.org/doc/)
- [Debian Installation Guide](https://www.debian.org/releases/stable/installmanual)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md
index b3ca35d05..2660a1ed6 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md
@@ -2,6 +2,8 @@
openSUSE is a free to use Linux distribution aimed to promote the use of Linux everywhere. openSUSE is released in two versions Leap and Tumbleweed
+Visit the following resources to learn more:
+
- [openSUSE Linux Website](https://www.opensuse.org/)
- [openSUSE Documentation](https://en.opensuse.org/Main_Page)
- [Unofficial openSUSE Getting Started Guide](https://opensuse-guide.org/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md
index 90b9e38d3..927cf1e1b 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md
@@ -6,6 +6,8 @@ There are several distributions of Linux that are based on RHEL, or that have be
RHEL derivatives are often used in enterprise environments because they offer the stability and reliability of RHEL, but with the added benefit of being free or lower-cost alternatives.
+Visit the following resources to learn more:
+
- [Red Hat Enterprise Linux Website](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux)
- [RHEL Documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/)
- [RHEL Getting Started Guides](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux/get-started)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md
index 3ee0f69bd..bb7c1d942 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md
@@ -2,6 +2,8 @@
FreeBSD is a free and open-source Unix-like operating system including many features such as preemptive multitasking, memory protection, virtual memory, and multi-user facilities.
+Visit the following resources to learn more:
+
- [FreeBSD Website](https://www.freebsd.org/)
- [Official FreeBSD Documentation](https://docs.freebsd.org/en/)
- [FreeBSD Handbook](https://docs.freebsd.org/en/books/handbook/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md
index 0153f16d6..953724c3c 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md
@@ -2,6 +2,8 @@
OpenBSD is a free and open-source Unix-like operating system, focussed on portability, standardization, correctness, proactive security and integrated cryptography. The popular software application [OpenSSH](https://www.openssh.com/) is developed by from OpenBSD
+Visit the following resources to learn more:
+
- [OpenBSD Website](https://www.openbsd.org/)
- [Official OpenBSD Documentation](https://man.openbsd.org/search)
- [OpenBSD Handbook](https://www.openbsdhandbook.com/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md
index dcb180567..ce4d6f352 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md
@@ -2,6 +2,8 @@
NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.
+Visit the following resources to learn more:
+
- [NetBSD Website](https://netbsd.org/)
- [Official NetBSD Documentation](https://netbsd.org/docs/)
- [NetBSD Guide](https://netbsd.org/docs/guide/en/index.html)
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md
index b2d71b2b1..e862f852d 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md
@@ -3,6 +3,8 @@
In simple terms we can say that and Operating System (OS) is an interface between a computer user and computer hardware.
An OS permits software programmes to communicate with a computer's hardware, The **kernel** is the name of Piece of software that houses the fundamental elements of **Operating System.**
+Visit the following resources to learn more:
+
- [All you need to know about OS.](https://www.javatpoint.com/os-tutorial)
- [Learn Operating Systems](https://www.tutorialspoint.com/operating_system/os_overview.htm)
- [Operating Systems tutorials.](https://www.geeksforgeeks.org/introduction-of-operating-system-set-1/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md
index ae6727d4d..9a72b3a9c 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md
@@ -4,5 +4,7 @@ Screen is a full-screen window manager that multiplexes a physical terminal
See `man screen` or `screen -h` for further information
+Visit the following resources to learn more:
+
- [Screen Cheat Sheet](https://kapeli.com/cheat_sheets/screen.docset/Contents/Resources/Documents/index)
- [Screen Users Manual](https://www.gnu.org/software/screen/manual/screen.html)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md
index 0d57cb4fb..1fedb6375 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md
@@ -2,5 +2,7 @@
Terminal multiplexers are programs that allow us to [multiplex](https://en.wikipedia.org/wiki/Multiplexing) a terminal into several sub-processes or terminals inside a single terminal session, this means that we can have multiple open sessions using a single login session to a local or remote machine.
+Visit the following resources to learn more:
+
- [Terminal Multiplexer](https://en.wikipedia.org/wiki/Terminal_multiplexer)
- [Terminal Multiplexers](https://linuxcommand.org/lc3_adv_termmux.php)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md
index 28b47edde..73266ba83 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md
@@ -6,5 +6,7 @@ When tmux is started it creates a new session with a single window and displays
See `man tmux` further information
+Visit the following resources to learn more:
+
- [Tmux Documentation](https://tmuxguide.readthedocs.io/en/latest/tmux/tmux.html)
- [Tmux Cheat Sheet](https://tmuxcheatsheet.com/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md
index e9f971bf3..fb6654514 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md
@@ -4,6 +4,8 @@ The ps utility displays a header line, followed by lines containing information
See `man ps` further information
+Visit the following resources to learn more:
+
- [ps Documentation](https://man7.org/linux/man-pages/man1/ps.1.html)
- [ps Cheat Sheet](https://www.sysadmin.md/ps-cheatsheet.html)
- [Linux Crash Course - The ps Command](https://www.youtube.com/watch?v=wYwGNgsfN3I)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md
index 4487bbe6e..0e298a603 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md
@@ -4,5 +4,7 @@ The top program periodically displays a sorted list of system processes. The de
See `man top` further information.
+Visit the following resources to learn more:
+
- [top Documentation](https://man7.org/linux/man-pages/man1/top.1.html)
- [top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md
index a194676d2..b95cf5da7 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md
@@ -2,5 +2,7 @@
htop is a cross-platform ncurses-based process. It is similar to top, but allows you to scroll vertically and horizontally, and interact using a pointing device (mouse). You can observe all processes running on the system, along with their command line arguments, as well as view them in a tree format, select multiple processes and act on them all at once.
+Visit the following resources to learn more:
+
- [htop Documentation](https://www.man7.org/linux/man-pages/man1/htop.1.html)
- [htop Cheat Sheet](https://www.maketecheasier.com/power-user-guide-htop/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md
index 3fe3260ac..e4df181b3 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md
@@ -2,5 +2,7 @@
The program atop is an interactive monitor to view the load on a Linux system. It shows the occupation of the most critical hardware resources (from a performance point of view) on system level, i.e. cpu, memory, disk and network.
+Visit the following resources to learn more:
+
- [atop Documentation](https://linux.die.net/man/1/atop)
- [atop Command Guide](https://www.digitalocean.com/community/tutorials/atop-command-in-linux)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md
index 737c9d1ff..184045e5c 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md
@@ -8,6 +8,8 @@ You actually use GUI shells all the time. For example, Windows 10 is based on th
With a CLI shell like Bash, you type commands into the program to directly control your computer's OS. Opening up the terminal on your Mac or command line in Linux will look similar to consoles and integrated development environments (IDEs) for other programming languages such as R, Ruby, or Python. You can type commands directly in the command line or run Bash scripts to perform longer and more complex tasks.
+Visit the following resources to learn more:
+
- [The Shell Scripting Tutorial](https://www.shellscript.sh/)
- [Writing Shell Scripts](https://linuxcommand.org/lc3_writing_shell_scripts.php)
- [Shell Scripting for Beginners](https://www.freecodecamp.org/news/shell-scripting-crash-course-how-to-write-bash-scripts-in-linux/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md
index d9ba1dfc5..3d7080c0f 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md
@@ -8,6 +8,8 @@ Vim is a highly configurable text editor built to make creating and changing any
Vim ships with `vimtutor` that is a tutor designed to describe enough of the Vim commands that you will be able to easily use Vim as an all-purpose editor.
+Visit the following resources to learn more:
+
- [Vim](https://www.vim.org)
- [Vim help files](https://vimhelp.org/)
- [Vim Tips Wiki](https://vim.fandom.com/wiki/Vim_Tips_Wiki)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md
index ee2b3c46d..31c241986 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md
@@ -4,5 +4,7 @@ Lsof lists on its standard output file information about files opened by process
See `man lsof` or `lsof --help` for further information.
+Visit the following resources to learn more:
+
- [lsof Cheat Sheet](https://neverendingsecurity.wordpress.com/2015/04/13/lsof-commands-cheatsheet/)
- [lsof Documentation](https://man7.org/linux/man-pages/man8/lsof.8.html)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md
index a933a0808..17dda482e 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md
@@ -6,6 +6,8 @@ The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Proje
"What is GCC used for?" GCC is a toolchain that compiles code, links it with any library dependencies, converts that code to assembly, and then prepares executable files.It is responsible for the conversion of the “high level” source code in the respective language and ensuring that it is semantically valid, performing well formed optimizations, and converting it to assembly code (which is then handed off to the assembler).
+Visit the following resources to learn more:
+
- [Intro to GCC](https://courses.cs.washington.edu/courses/cse451/99wi/Section/gccintro.html)
- [GCC Linux](https://www.javatpoint.com/gcc-linux)
- [GCC Commands](https://www.geeksforgeeks.org/gcc-command-in-linux-with-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md
index 215713221..9dada81b0 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md
@@ -2,5 +2,7 @@
Nmon is a fully interactive performance monitoring command-line utility tool for Linux. It is a benchmark tool that displays performance about the cpu, memory, network, disks, file system, nfs, top processes, resources, and power micro-partition.
+Visit the following resources to learn more:
+
- [nmon Documentation](https://www.ibm.com/docs/en/aix/7.2?topic=n-nmon-command)
- [nmon Command Guide](https://www.geeksforgeeks.org/linux-nmon/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md
index c4d432037..40b79a43b 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md
@@ -2,5 +2,7 @@
The iostat command in Linux is used for monitoring system input/output statistics for devices and partitions. It monitors system input/output by observing the time the devices are active in relation to their average transfer rates. The iostat produce reports may be used to change the system configuration to raised balance the input/output between the physical disks.
+Visit the following resources to learn more:
+
- [iostat Documentation](https://man7.org/linux/man-pages/man1/iostat.1.html)
- [iostat Command Guide](https://www.geeksforgeeks.org/iostat-command-in-linux-with-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md
index 2a7bd1de1..1c110938f 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md
@@ -2,6 +2,8 @@
Short for **S**ystem **A**ctivity **R**eport, it is a command line tool for Unix and Unix-like operating systems that shows a report of different information about the usage and activity of resources in the operating system.
+Visit the following resources to learn more:
+
- [SAR command in Linux to monitor system performance](https://www.geeksforgeeks.org/sar-command-linux-monitor-system-performance/)
- [SAR Man Page](https://man7.org/linux/man-pages/man1/sar.1.html)
- [SAR Man Page 2](https://linux.die.net/man/1/sar)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md
index 65ddc5bc6..e8f6fd18e 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md
@@ -2,6 +2,8 @@
Short for **V**irtual **m**emory **stat**istic reporter, it is a command line tool for Unix and Unix-like operating systems that reports various information about the operating system such as memory, paging, processes, I/O, CPU and disk usage.
+Visit the following resources to learn more:
+
- [vmstat command in Linux with Examples](https://www.geeksforgeeks.org/vmstat-command-in-linux-with-examples/)
- [Linux commands: exploring virtual memory with vmstat](https://www.redhat.com/sysadmin/linux-commands-vmstat)
- [VMstat Man Page](https://man7.org/linux/man-pages/man8/vmstat.8.html)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md
index e10046f72..fcc8540d3 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md
@@ -4,5 +4,7 @@
It has the following syntax: `$ traceroute [OPTIONS] DESTINATION` e.g. `$ traceroute roadmap.sh`
+Visit the following resources to learn more:
+
- [How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/)
- [Traceroute command in Linux with examples](https://www.geeksforgeeks.org/traceroute-command-in-linux-with-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md
index 54a3f1de3..3fcc74d57 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md
@@ -4,6 +4,8 @@
As `mtr` starts, it investigates the network connection between the host `mtr` runs on and `HOSTNAME` by sending packets with purposely low TTLs. It continues sending packets with low TTL, noting the response time of the intervening routers. This allows `mtr` to print the internet route's response percentage and response times to HOSTNAME. A sudden packet loss or response time increase often indicates a bad (or simply overloaded) link.
+Visit the following resources to learn more:
+
- [Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr)
- [mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm)
- [How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md
index ea50669ae..0752118b4 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md
@@ -4,5 +4,7 @@
It has the following syntax: `$ ping [OPTIONS] DESTINATION` e.g. `$ ping roadmap.sh`
+Visit the following resources to learn more:
+
- [What is ping command?](https://linuxize.com/post/linux-ping-command/)
- [ping command with examples](https://www.geeksforgeeks.org/ping-command-in-linux-with-examples/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md
index a993667d8..00d858df0 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md
@@ -2,5 +2,7 @@
NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports.
+Visit the following resources to learn more:
+
- [NMAP Official Manual Book](https://nmap.org/book/man.html)
- [What is Nmap and How to Use it](https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md
index d78925b0a..e875161e0 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md
@@ -2,6 +2,8 @@
Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections.
+Visit the following resources to learn more:
+
- [netstat command in Linux with Examples](https://www.tutorialspoint.com/unix_commands/netstat.htm)
- [Netstat Tutorial](http://www.c-jump.com/CIS24/Slides/Networking/html_utils/netstat.html)
- [Netstat Commands - Network Administration Tutorial](https://www.youtube.com/watch?v=bxFwpm4IobU)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md
index 9c2b18403..b8f4713c5 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md
@@ -2,6 +2,8 @@
`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well.
+Visit the following resources to learn more:
+
- [tcpdump Documentation](https://www.tcpdump.org/manpages/tcpdump.1.html)
- [Basic Introduction to Tcpdump](https://opensource.com/article/18/10/introduction-tcpdump)
- [50 ways to isolate traffic with Tcpdump](https://danielmiessler.com/study/tcpdump/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md
index 72f65e9ff..342502ded 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md
@@ -2,5 +2,7 @@
IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets.
+Visit the following resources to learn more:
+
- [Iptables tutorial](https://www.hostinger.in/tutorials/iptables-tutorial)
- [Beginners to Advanced Guide Iptables](https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md
index 159f4569c..77a19b059 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md
@@ -4,6 +4,8 @@
It has the following syntax: `$ dig [server] [name] [type]` e.g. `$ dig roadmap.sh`
+Visit the following resources to learn more:
+
- [What is dig command?](https://www.geeksforgeeks.org/dig-command-in-linux-with-examples/)
- [More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/)
- [What is host command?](https://www.geeksforgeeks.org/host-command-in-linux-with-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md
index a2a5bd44a..22a58a721 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md
@@ -6,6 +6,8 @@ It has the below syntax:
`awk options 'selection_criteria {action}' input-file > output-file` e.g. `$ awk '{print}' file.txt`
+Visit the following resources to learn more:
+
- [What is AWK? How to use it?](https://www.geeksforgeeks.org/awk-command-unixlinux-examples/)
- [How AWK works?](https://linuxize.com/post/awk-command/)
- [Linux Crash Course - awk](https://www.youtube.com/watch?v=oPEnvuj9QrI)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md
index d94e5aac0..59d15cb33 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md
@@ -6,6 +6,8 @@ It has the following syntax:
`$ sed [options].. [script] [input-file]` e.g. `$ sed 's/search-regex/replacement-txt/g' file.txt`
+Visit the following resources to learn more:
+
- [What is SED? with examples](https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/)
- [Detailed Manual](https://www.gnu.org/software/sed/manual/sed.html)
- [Linux Crash Course - The sed Command](https://www.youtube.com/watch?v=nXLnx8ncZyE&t=218s)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md
index 803bd8259..20d3291cc 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md
@@ -6,6 +6,8 @@ It has the following syntax:
`$ grep [options] pattern [files]` e.g. `$ grep "search-regex" file-1.txt`
+Visit the following resources to learn more:
+
- [What is Grep? with examples](https://www.geeksforgeeks.org/grep-command-in-unixlinux/)
- [Detailed Manual](https://www.gnu.org/software/grep/manual/grep.html)
- [Linux Crash Course - The grep Command](https://www.youtube.com/watch?v=Tc_jntovCM0)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md
index 47e3080aa..c68b569aa 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md
@@ -6,6 +6,8 @@ It has the following syntax
`$ sort [options].. input-file` e.g. `$ sort file.txt`
+Visit the following resources to learn more:
+
- [Sort command with examples](https://www.geeksforgeeks.org/sort-command-linuxunix-examples/)
- [Options](https://en.wikipedia.org/wiki/Sort_(Unix))
- [Linux Tutorials|sort command GeeksforGeeks](https://www.youtube.com/watch?v=fEx5rnbDKO4)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md
index 2834c7cb8..b3fe36dd9 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md
@@ -4,5 +4,7 @@ The cut utility cuts out selected portions of each line (as specified by list) f
See `man cut` for further information.
+Visit the following resources to learn more:
+
- [cut Documentation](https://man7.org/linux/man-pages/man1/cut.1.html)
- [cut Cheat Sheet](https://bencane.com/2012/10/22/cheat-sheet-cutting-text-with-cut/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md
index d36218707..a912c0ec3 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md
@@ -4,5 +4,7 @@ The uniq utility reads the specified input_file comparing adjacent lines, and wr
See `man uniq` for further information.
+Visit the following resources to learn more:
+
- [uniq Documentation](https://man7.org/linux/man-pages/man1/uniq.1.html)
- [uniq Cheat Sheet](https://www.geeksforgeeks.org/uniq-command-in-linux-with-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md
index 29a550cbc..ec555d2b0 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md
@@ -11,6 +11,8 @@ It has the following syntax:
e.g. `$ cat file.txt`
+Visit the following resources to learn more:
+
- [Cat Command with examples](https://www.tecmint.com/13-basic-cat-command-examples-in-linux/)
- [Options](https://en.wikipedia.org/wiki/Cat_(Unix))
- [Linux Tutorials|cat command|GeeksforGeeks](https://www.youtube.com/watch?v=exj5WMUJ11g)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md
index bf8dbfb9b..f25e9a770 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md
@@ -4,5 +4,7 @@
It has the following syntax: `$ echo [options] [string]` e.g. `$ echo "Hello World!"`
+Visit the following resources to learn more:
+
- [Echo command with Examples](https://www.tecmint.com/echo-command-in-linux/)
- [Linux Crash Course - The echo Command](https://www.youtube.com/watch?v=S_ySzMHxMjw)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md
index ab9c104c5..da2128110 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md
@@ -4,4 +4,6 @@
It has the following syntax: `$ fmt [-width] [option] [file]` e.g. `$ fmt file.txt`
+Visit the following resources to learn more:
+
- [Fmt command with Examples](https://www.devopsroles.com/fmt-command-in-linux-with-example/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md
index 7e059dac9..5757e45a7 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md
@@ -4,5 +4,7 @@ The tr utility copies the standard input to the standard output with substitutio
See `man tr` for further information.
+Visit the following resources to learn more:
+
- [tr Documentation](https://linuxcommand.org/lc3_man_pages/tr1.html)
- [tr Cheat Sheet](https://linuxopsys.com/topics/tr-command-in-linux)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md
index 9fc81d808..4caa6bd12 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md
@@ -4,5 +4,7 @@ The nl utility reads lines from the named file or the standard input if the file
See `man nl` for further information.
+Visit the following resources to learn more:
+
- [nl Documentation](https://man7.org/linux/man-pages/man1/nl.1.html)
- [nl Cheat Sheet](https://www.geeksforgeeks.org/nl-command-in-linux-with-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md
index 4c77831a0..aba86f683 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md
@@ -4,5 +4,7 @@ The wc utility displays the number of lines, words, and bytes contained in each
See `man wc` for further information.
+Visit the following resources to learn more:
+
- [wc Documentation](https://linux.die.net/man/1/wc)
- [wc Cheat Sheet](https://onecompiler.com/cheatsheets/wc)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md
index abf489b07..3a37fd47d 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md
@@ -2,5 +2,7 @@
`strac` is a useful diagnsotic, debugging tool for unix based operating systems. It traces the system calls and signals a process uses during its lifetime. And usually returns the name of the each system calls , its arguments and what it returned.
+Visit the following resources to learn more:
+
- [Strace Official Website](https://strace.io/)
- [Strace — Linux manual page](https://man7.org/linux/man-pages/man1/strace.1.html)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md
index 3824929de..40c42444a 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md
@@ -2,5 +2,7 @@
DTrace is a comprehensive dynamic tracing framework ported from Solaris. DTrace provides a powerful infrastructure that permits administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs.
+Visit the following resources to learn more:
+
- [df manual](https://man7.org/linux/man-pages/man1/dtrace.1.html)
- [Wikipedia - DTrace](https://en.wikipedia.org/wiki/DTrace)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md
index d3e4dbb80..fab10ecec 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md
@@ -2,6 +2,8 @@
Uname is a short form of Unix name and it helps to print the system information for both hardware and software in the current running system.
+Visit the following resources to learn more:
+
- [Uname Command Tutorial](https://www.tutorialspoint.com/unix_commands/uname.htm)
- [Uname Tutorial For Beginners](https://www.howtoforge.com/linux-uname-command/)
- [Uname Command In Linux](https://linuxize.com/post/uname-command-in-linux/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md
index 00184a2f4..b1c096c50 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md
@@ -2,6 +2,8 @@
`df` is a standard Unix command used to display the amount of available disk space for file systems on which the invoking user has appropriate read access. df is typically implemented using the statfs or statvfs system calls.
+Visit the following resources to learn more:
+
- [df manual](https://man7.org/linux/man-pages/man1/df.1.html)
- [Redhat - Check your disk space use with the Linux df command](https://www.redhat.com/sysadmin/Linux-df-command)
- [df command with examples](https://www.geeksforgeeks.org/df-command-linux-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md
index 107049214..93f3b4339 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md
@@ -4,4 +4,6 @@
It has the below syntax: `$ history`
+Visit the following resources to learn more:
+
- [What is history command? How to recall previous commands?](https://www.geeksforgeeks.org/history-command-in-linux-with-examples/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md
index 931b4cef6..9c5c83eae 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md
@@ -2,6 +2,8 @@
The `du` utility, short for disk usage, displays the file system block usage for each file argument and for each directory in the file hierarchy rooted in each directory argument. If no file is specified, the block usage of the hierarchy rooted in the current directory is displayed.
+Visit the following resources to learn more:
+
- [du manual](https://man7.org/linux/man-pages/man1/du.1.html)
- [Redhat - du and the options you should be using](https://www.redhat.com/sysadmin/du-command-options)
- [Du command with examples](https://linuxhint.com/linux-du-command-examples/)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md
index 61955c71c..ef13740f9 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md
@@ -3,6 +3,8 @@
`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks.
+Visit the following resources to learn more:
+
- [SCP Linux Command](https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/)
- [10 SCP command examples](https://www.tecmint.com/scp-commands-examples/)
- [SCP command explained](https://phoenixnap.com/kb/linux-scp-command)
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md
index 3401b2579..798da0643 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md
@@ -2,6 +2,8 @@
UFW, or *uncomplicated firewall*, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool.
+Visit the following resources to learn more:
+
- [ufw Documentation](https://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html)
- [Basic Introduction to UFW](https://www.linux.com/training-tutorials/introduction-uncomplicated-firewall-ufw/)
- [UFW Essentials](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md
index 704da619d..3321fad0b 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md
@@ -2,4 +2,6 @@
A terminal is simply a text-based interface to the computer, it is use to interact with your computer system via CLI (command line interface)
+Visit the following resources to learn more:
+
- [What is CLI?](https://en.wikipedia.org/wiki/Command-line_interface)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md b/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md
index 7649ce171..959b6338c 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md
@@ -2,6 +2,8 @@
Open Systems Interconnection (OSI) model is a **conceptual** model consists of 7 layers, that was proposed to standardize the communication between devices over the network. It was the first standard model for network communications, adopted by all major computer and telecommunication companies in the early 1980s.
+Visit the following resources to learn more:
+
- [What is OSI Model?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/open-systems-interconnection-model-osi/)
- [OSI Model](https://www.youtube.com/watch?v=dV8mjZd1OtU)
- [What is TCP/IP Model?](https://www.geeksforgeeks.org/tcp-ip-model/)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/101-dns.md b/src/roadmaps/devops/content/103-networking-protocols/101-dns.md
index ffe5ed304..79af4fae5 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/101-dns.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/101-dns.md
@@ -2,6 +2,8 @@
DNS (**D**omain **N**ame **S**ystem) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
+Visit the following resources to learn more:
+
- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
- [HOw DNS works (comic)](https://howdns.works/)
- [DNS and How does it Work?](https://www.youtube.com/watch?v=Wj0od2ag5sk)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/102-http.md b/src/roadmaps/devops/content/103-networking-protocols/102-http.md
index a5784bddf..1c302e100 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/102-http.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/102-http.md
@@ -2,6 +2,8 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
+Visit the following resources to learn more:
+
- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/)
- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- [Journey to HTTP/2](https://kamranahmed.info/blog/2016/08/13/http-in-depth)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md
index 2f19a050f..65e23a86d 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md
@@ -4,5 +4,7 @@ White listing is a process of adding an email to an approved sender list, so ema
`Greylisting` is a method of protecting e-mail users against spam. A mail transfer agent (MTA) using greylisting will "temporarily reject" any email from a sender it does not recognize. If the mail is legitimate, the originating server will try again after a delay, and the email will be accepted if sufficient time has elapsed.
+Visit the following resources to learn more:
+
- [Basic Introduction to whitelisting](https://www.cblohm.com/blog/education-marketing-trends/what-is-email-whitelisting/)
- [Detailed Introduction to greylisting](https://en.wikipedia.org/wiki/Greylisting_(email))
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md
index dfde18276..81e52c575 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md
@@ -4,4 +4,6 @@ Email is emerging as one of the most valuable services on the internet today. Mo
SMTP is an application layer protocol. The client who wants to send the mail opens a TCP connection to the SMTP server and then sends the mail across the connection. The SMTP server is an always-on listening mode. As soon as it listens for a TCP connection from any client, the SMTP process initiates a connection through port 25. After successfully establishing a TCP connection the client process sends the mail instantly.
+Visit the following resources to learn more:
+
- [What is Simple Mail Transfer Protocol (SMTP)?](https://www.geeksforgeeks.org/simple-mail-transfer-protocol-smtp/)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md
index 25279114d..223183137 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md
@@ -3,5 +3,7 @@ IMAP (port 143) or IMAPS (port 993) allows you to access your email wherever you
IMAP only downloads a message when you click on it, and attachments aren't automatically downloaded. This way you're able to check your messages a lot more quickly than POP.
+Visit the following resources to learn more:
+
- [Wikipedia: Internet Message Access Protocol](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol)
- [What is IMAP and How To Use It | Email Tutorial](https://www.youtube.com/watch?v=cfXabGOA2s8)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md
index a3ab56917..49263b391 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md
@@ -5,4 +5,6 @@ Email servers hosted by Internet service providers also use POP3 to receive and
Once the email client has downloaded the emails, they are usually deleted from the server, although some email clients allow users to specify that mails be copied or saved on the server for a period of time.
+Visit the following resources to learn more:
+
- [What is POP3?](https://www.techtarget.com/whatis/definition/POP3-Post-Office-Protocol-3)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md
index f8b8e7206..fdc7368fc 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md
@@ -2,4 +2,6 @@
DMARC stands for Domain-based Message Authentication, Reporting, and Conformance, is an authentication method on the email that is built to protect domain email from invalid email addresses or commonly known as email spoofing, email attacks, phishing, scams, and other threat activities.
+Visit the following resources to learn more:
+
- [DMARC Official Website](https://dmarc.org/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md
index 05dd62d20..b62fe0b21 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md
@@ -2,5 +2,7 @@
Sender Policy Framework (SPF) is used to authenticate the sender of an email. With an SPF record in place, Internet Service Providers can verify that a mail server is authorized to send email for a specific domain. An SPF record is a DNS TXT record containing a list of the IP addresses that are allowed to send email on behalf of your domain.
+Visit the following resources to learn more:
+
- [What is a DNS SPF record?](https://www.cloudflare.com/learning/dns/dns-records/dns-spf-record/)
- [SPF Overview](https://www.youtube.com/watch?v=WFPYrAr1boU)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md
index 467200e0c..881b9e247 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md
@@ -2,4 +2,6 @@
DomainKeys Identified Mail (DKIM) is an email authentication method designed to detect forged sender addresses in email (email spoofing), a technique often used in phishing and email spam.
+Visit the following resources to learn more:
+
- [DomainKeys Identified Mail](https://www.brainkart.com/article/DomainKeys-Identified-Mail_8493/)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/index.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/index.md
index f661f862d..f7898d344 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/index.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/index.md
@@ -2,4 +2,6 @@
Electronic mail, commonly shortened to “email,” is a communication method that uses electronic devices to deliver messages across computer networks. "Email" refers to both the delivery system and individual messages that are sent and received.
+Visit the following resources to learn more:
+
- [What is an email?](https://www.cloudflare.com/learning/email-security/what-is-email/)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-https.md b/src/roadmaps/devops/content/103-networking-protocols/103-https.md
index e79ec57b2..db2619dc4 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-https.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-https.md
@@ -4,6 +4,8 @@ HTTPS (**H**ypertext **T**ransfer **P**rotocol **S**ecure) is the secure version
`HTTPS = HTTP + SSL/TLS`
+Visit the following resources to learn more:
+
- [What is HTTPS?](https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/)
- [Why HTTPS Matters](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https)
- [Enabling HTTPS on Your Servers](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md b/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md
index 943ca07dc..5468f41c5 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md
@@ -2,5 +2,7 @@
File Transfer Protocol(FTP) is `TCP/IP` based application layer communication protocol that helps transferring files between local and remote file systems over the network. To transfer a file, 2 TCP connections(control connection and data connection) are used in parallel.
+Visit the following resources to learn more:
+
- [What is FTP?](https://www.geeksforgeeks.org/file-transfer-protocol-ftp-in-application-layer/)
- [FTP vs SFTP vs FTPS](https://www.fortinet.com/resources/cyberglossary/file-transfer-protocol-ftp-meaning)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md b/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md
index 4f38e1d2f..00feb0c7d 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md
@@ -2,6 +2,8 @@
Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols used to provide security in internet communications. These protocols encrypt the data that is transmitted over the web, so anyone who tries to intercept packets will not be able to interpret the data. One difference that is important to know is that SSL is now deprecated due to security flaws, and most modern web browsers no longer support it. But TLS is still secure and widely supported, so preferably use TLS.
+Visit the following resources to learn more:
+
- [Cloudflare - What is SSL?](https://www.cloudflare.com/learning/ssl/what-is-ssl/)
- [Cloudflare - What is TLS?](https://www.cloudflare.com/en-gb/learning/ssl/transport-layer-security-tls/)
- [Wikipedia - SSL/TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md b/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md
index 58acf83fd..17508b9b2 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md
@@ -4,6 +4,8 @@ The SSH (**S**ecure **Sh**ell) is a network communication protocol that enables
`SFTP = FTP + SSH`
+Visit the following resources to learn more:
+
- [SSH Intro](https://www.baeldung.com/cs/ssh-intro)
- [What is SSH?](https://www.ssh.com/academy/ssh/protocol)
- [SFTP using SSH](https://www.goanywhere.com/blog/how-sftp-works)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md b/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md
index 67070cb1c..411430f27 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md
@@ -2,5 +2,7 @@
Port forwarding, sometimes called **port mapping**, allows computers or services in private networks to connect over the internet with other public or private computers or services. Since firewalls exist to keep unwanted visitors out, the visitors you want to get in are going to need a way to do so. Knowing the IP address isn’t enough, Requests need to be directed to the correct port as well.
+Visit the following resources to learn more:
+
- [What is Port Forwarding?](https://learn.g2.com/port-forwarding)
- [Types of Port Forwarding](https://cybernews.com/what-is-vpn/port-forwarding/)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/index.md b/src/roadmaps/devops/content/103-networking-protocols/index.md
index 3706f0b86..6c08dc469 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/index.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/index.md
@@ -2,4 +2,6 @@
A network protocol is an established set of rules that determine how data is transmitted between different devices in the same network. Essentially, it allows connected devices to communicate with each other, regardless of any differences in their internal processes, structure or design. Network protocols are the reason you can easily communicate with people all over the world, and thus play a critical role in modern digital communications.
+Visit the following resources to learn more:
+
- [What Is a Network Protocol, and How Does It Work?](https://www.comptia.org/content/guides/what-is-a-network-protocol)
diff --git a/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md b/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md
index e60218f8f..0adbbcb05 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md
@@ -8,5 +8,7 @@ A Reverse Proxy server is a type of proxy server that typically sits behind the
* Web acceleration
* Security and anonymity
+Visit the following resources to learn more:
+
- [What is Reverse Proxy?](https://www.cloudflare.com/en-gb/learning/cdn/glossary/reverse-proxy/)
- [NGINX documentation](https://www.nginx.com/resources/glossary/reverse-proxy-server/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md b/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md
index 540e8a1a3..c290589ba 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md
@@ -2,6 +2,8 @@
A cache server is a **dedicated network server** or service acting as a server that saves Web pages or other Internet content locally. By placing previously requested information in temporary storage, or cache, a cache server both speeds up access to data and reduces demand on an enterprise's bandwidth.
+Visit the following resources to learn more:
+
- [What is Caching?](https://www.cloudflare.com/en-gb/learning/cdn/what-is-caching/)
- [What is Cache Server?](https://networkencyclopedia.com/cache-server/)
- [Site Cache vs Browser Cache vs Server Cache](https://wp-rocket.me/blog/different-types-of-caching/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md b/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md
index 585cb0677..0fe1c3ca0 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md
@@ -8,5 +8,7 @@ Forward Proxy, often called proxy server is a server that sits in front of a gro
* To protect client identity online
* To provide restricted internet to organizations
+Visit the following resources to learn more:
+
- [What is Forward Proxy?](https://www.fortinet.com/resources/cyberglossary/proxy-server)
- [Forward vs Reverse Proxy](https://oxylabs.io/blog/reverse-proxy-vs-forward-proxy)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md b/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md
index 5d98f1087..6a7ffd94f 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md
@@ -2,5 +2,7 @@
Load Balancer acts as the **traffic cop** sitting in front of your servers and routing client requests across all servers capable of fulfilling those requests in a manner that maximizes speed and capacity utilization and ensures that no one server is overworked. If a one of the servers goes down, the load balancer redirects traffic to the remaining online servers.
+Visit the following resources to learn more:
+
- [What is Load Balancing?](https://www.nginx.com/resources/glossary/load-balancing/)
- [Load Balancing concepts and algorithms](https://www.cloudflare.com/en-gb/learning/performance/what-is-load-balancing/)
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md b/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md
index d152b8fce..d5290cfbd 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md
@@ -2,6 +2,8 @@
Firewall is a **network security device** that monitors and filters incoming and outgoing network traffic based on an organization’s previously established security policies. It is a barrier that sits between a private internal network and the public Internet. A firewall’s main purpose is to allow non-threatening traffic in and to keep dangerous traffic out.
+Visit the following resources to learn more:
+
- [What is Firewall?](https://www.checkpoint.com/cyber-hub/network-security/what-is-firewall/)
- [Types of Firewall](https://www.cisco.com/c/en_in/products/security/firewalls/what-is-a-firewall.html)
- [ Introduction of Firewall in Computer Network](https://www.geeksforgeeks.org/introduction-of-firewall-in-computer-network/)
diff --git a/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md b/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md
index f3ef2387a..4ec27fa55 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md
@@ -2,5 +2,7 @@
NGINX is a powerful web server and uses a non-threaded, event-driven architecture that enables it to outperform Apache if configured correctly. It can also do other important things, such as load balancing, HTTP caching, or be used as a reverse proxy.
+Visit the following resources to learn more:
+
- [Official Website](https://nginx.org/)
- [NGINX Explained in 100 Seconds](https://www.youtube.com/watch?v=JKxlsvZXG7c)
diff --git a/src/roadmaps/devops/content/104-setting-up-x/106-apache.md b/src/roadmaps/devops/content/104-setting-up-x/106-apache.md
index 803a8735a..51a239251 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/106-apache.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/106-apache.md
@@ -2,5 +2,7 @@
Apache is a free, open-source HTTP server, available on many operating systems, but mainly used on Linux distributions. It is one of the most popular options for web developers, as it accounts for over 30% of all the websites, as estimated by W3Techs.
+Visit the following resources to learn more:
+
- [Apache Server Website](https://httpd.apache.org/)
- [What is Apache Web Server?](https://www.youtube.com/watch?v=kaaenHXO4t4)
diff --git a/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md b/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md
index efcdf482e..3f0f58bcb 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md
@@ -2,6 +2,8 @@
Tomcat is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta EE platform.
+Visit the following resources to learn more:
+
- [Tomcat Website](https://tomcat.apache.org/)
- [Official Documentation(Tomcat 10.0)](https://tomcat.apache.org/tomcat-10.0-doc/index.html)
- [Apache Tomcat](https://www.youtube.com/c/ApacheTomcatOfficial)
diff --git a/src/roadmaps/devops/content/104-setting-up-x/108-iis.md b/src/roadmaps/devops/content/104-setting-up-x/108-iis.md
index 7a2699bd8..57accb2a3 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/108-iis.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/108-iis.md
@@ -2,5 +2,7 @@
Internet Information Services (IIS) for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web.
+Visit the following resources to learn more:
+
- [Official Website](https://www.iis.net/)
- [Learn Windows Web Server IIS](https://www.youtube.com/watch?v=1VdxPWwtISA)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md
index c1d0ee7c0..0f147529d 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md
@@ -2,6 +2,8 @@
Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs to run including libraries, system tools, code, and runtime. Using Docker, you can quickly deploy and scale applications into any environment and know your code will run.
+Visit the following resources to learn more:
+
- [Docker Website](https://www.docker.com/)
- [Docker Documentation](https://docs.docker.com/)
- [Docker Tutorial for Beginners](https://www.youtube.com/watch?v=pTFZFxd4hOI)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md
index eb146a743..5115d4866 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md
@@ -2,4 +2,6 @@
Consul is a service mesh solution providing a full featured control plane with service discovery, configuration, and segmentation functionality. Each of these features can be used individually as needed, or they can be used together to build a full service mesh. Consul requires a data plane and supports both a proxy and native integration model. Consul ships with a simple built-in proxy so that everything works out of the box, but also supports 3rd party proxy integrations such as Envoy.
+Visit the following resources to learn more:
+
- [What is Consul?](https://www.consul.io/docs/intro)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md
index 6e2ee8602..b4f67de7f 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md
@@ -2,4 +2,6 @@
Istio is an open source service mesh platform that provides a way to control how microservices share data with one another. It includes APIs that let Istio integrate into any logging platform, telemetry, or policy system. Istio is designed to run in a variety of environments: on-premise, cloud-hosted, in Kubernetes containers, in services running on virtual machines, and more.
+Visit the following resources to learn more:
+
- [What is Istio?](https://www.redhat.com/en/topics/microservices/what-is-istio)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md
index ebf5fee73..17262a9ba 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md
@@ -2,6 +2,8 @@
Originally created at Lyft, Envoy is a high-performance data plane designed for service mesh architectures. Lyft open sourced it and donated it to the CNCF, where it is now one of the CNCF’s graduated open source projects. Envoy is a self contained process that is designed to run alongside every application server. All of the Envoys form a transparent communication mesh in which each application sends and receives messages to and from localhost and is unaware of the network topology.
+Visit the following resources to learn more:
+
- [Envoy Website](https://www.envoyproxy.io/)
- [Envoy Documentation](https://www.envoyproxy.io/docs/envoy/latest/start/start)
- [What is Envoy?](https://www.envoyproxy.io/docs/envoy/latest/intro/what_is_envoy)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md
index ab87c1d18..711be2d5d 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md
@@ -2,6 +2,8 @@
Linkerd is an open source service mesh designed to be deployed into a variety of container schedulers and frameworks such as Kubernetes. It became the original “service mesh” when its creator Buoyant first coined the term in 2016. Like Twitter’s Finagle, on which it was based, Linkerd was first written in Scala and designed to be deployed on a per-host basis. Linkerd is one of the first products to be associated with the term service mesh and supports platforms such as Docker and Kubernetes.
+Visit the following resources to learn more:
+
- [Linkerd Website](https://linkerd.io/)
- [Linkerd Documentation](https://linkerd.io/2.11/overview/)
- [What is Linkerd?](https://www.techtarget.com/searchitoperations/definition/Linkerd)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md
index 85db1a537..cfdac0204 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md
@@ -2,5 +2,7 @@
A service mesh, like the open source project Istio, is a way to control how different parts of an application share data with one another. Unlike other systems for managing this communication, a service mesh is a dedicated infrastructure layer built right into an app. This visible infrastructure layer can document how well (or not) different parts of an app interact, so it becomes easier to optimize communication and avoid downtime as an app grows.
+Visit the following resources to learn more:
+
- [Whats a service mesh?](https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh)
- [The latest news about service mesh (TNS)](https://thenewstack.io/category/service-mesh/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md b/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md
index 570d59678..3f303f725 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md
@@ -4,6 +4,8 @@ Containers are a construct in which [cgroups](https://en.wikipedia.org/wiki/Cgro
These images are designed for portability, allowing for full local testing of a static image, and easy deployment to a container management platform.
+Visit the following resources to learn more:
+
- [What are Containers?](https://cloud.google.com/learn/what-are-containers)
- [What is a Container?](https://www.docker.com/resources/what-container/)
- [What are Containers?](https://www.youtube.com/playlist?list=PLawsLZMfND4nz-WDBZIj8-nbzGFD4S9oz)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md b/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md
index e5d4f431a..b8da11c6f 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md
@@ -2,6 +2,8 @@
LXC is a well-known Linux container runtime that consists of tools, templates, and library and language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel.
+Visit the following resources to learn more:
+
- [LXC Website](https://linuxcontainers.org/)
- [LXC Documentation](https://linuxcontainers.org/lxc/documentation/)
- [Getting started with LXC containers](https://www.youtube.com/watch?v=CWmkSj_B-wo)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md
index 593f926a8..2c6ae378c 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md
@@ -3,6 +3,8 @@
Ansible is an open-source configuration management, application deployment and provisioning tool that uses its own declarative language in YAML. Ansible is agentless, meaning you only need remote connections via SSH or Windows Remote Management via Powershell in order to function
+Visit the following resources to learn more:
+
- [Ansible Website](https://www.ansible.com/)
- [Official Documentation](https://docs.ansible.com/)
- [Ansible Getting Started Guide](https://www.ansible.com/resources/get-started)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md
index 7c274a1c5..f3eeab272 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md
@@ -6,5 +6,7 @@ Chef requires that a client is installed on a server being managed. This client
A key tenet of Chef recipe design is the concept of [idempotence](https://en.wikipedia.org/wiki/Idempotence). All Chef recipes should be runnable multiple times and produce the same result - this is especially necessary in cases where the client/server model listed above is in use. This pattern of configuration management is highly influential for future declarative tools like Terraform and Cloud Formation.
+Visit the following resources to learn more:
+
- [Chef Website](https://www.chef.io/products/chef-infra)
- [Chef Tutorial](https://www.tutorialspoint.com/chef/index.htm)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md
index 61e0c1e0e..cb428968d 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md
@@ -2,6 +2,8 @@
Salt is an open-source event-driven IT automation, remote task execution, and configuration management software service. Built on python, Salt uses simple and human-readable YAML combined with event-driven automation to deploy and configure complex IT systems.
+Visit the following resources to learn more:
+
- [Salt Project Website](https://docs.saltproject.io/en/latest/topics/about_salt_project.html)
- [Official Documentation](https://docs.saltproject.io/en/latest/)
- [Introduction to Salt](https://docs.saltproject.io/en/latest/topics/index.html)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md
index 2ff9b4e5e..3552203de 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md
@@ -2,6 +2,8 @@
Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
+Visit the following resources to learn more:
+
- [Puppet Website](https://puppet.com/)
- [Official Documentation](https://puppet.com/docs)
- [Introduction to Puppet](https://puppet.com/docs/puppet/6/puppet_overview.html)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md
index 59c29cf68..ed5068fdd 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md
@@ -4,4 +4,6 @@ Configuration management is a systems engineering process for establishing consi
Software configuration management is a systems engineering process that tracks and monitors changes to a software systems configuration metadata. In software development, configuration management is commonly used alongside version control and CI/CD infrastructure. This post focuses on its modern application and use in agile CI/CD software environments.
+Visit the following resources to learn more:
+
- [What is configuration management?](https://www.atlassian.com/microservices/microservices-architecture/configuration-management)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md
index 4849f87f9..282eac4f0 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md
@@ -2,6 +2,8 @@
Terraform is an extremely popular open source Infrastructure as Code (IaC) tool that can be used with many different cloud and service provider APIs. Terraform focuses on an immutable approach to infrastructure, with a terraform state file center to tracking the status of your real world infrastructure.
+Visit the following resources to learn more:
+
- [Terraform Website](https://www.terraform.io/)
- [Terraform Documentation](https://www.terraform.io/docs)
- [Terraform Tutorials](https://learn.hashicorp.com/terraform)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md
index 7bf24879e..2c3cc4220 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md
@@ -2,6 +2,8 @@
The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework used to provision cloud infrastructure resources in a safe, repeatable manner through AWS CloudFormation. AWS CDK offers the flexibility to write infrastructure as code in popular languages like JavaScript, TypeScript, Python, Java, C#, and Go.
+Visit the following resources to learn more:
+
- [AWS CDK Website](https://aws.amazon.com/cdk/)
- [Official Documentation](https://docs.aws.amazon.com/cdk/index.html)
- [What is the AWS CDK?](https://docs.aws.amazon.com/cdk/v2/guide/home.html)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md
index 9f7d47649..242649d97 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md
@@ -2,6 +2,8 @@
CloudFormation is the AWS service that helps to define collections of AWS resources. CloudFormation lets you model, provision, and manage AWS and third-party resources by treating infrastructure as code.
+Visit the following resources to learn more:
+
- [AWS CloudFormation Website](https://aws.amazon.com/cloudformation/)
- [Official Documentation](https://docs.aws.amazon.com/cloudformation/index.html)
- [AWS CloudFormation Getting Started Guide](https://aws.amazon.com/cloudformation/getting-started/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md
index ba0b7dba9..4f9b84634 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md
@@ -2,6 +2,8 @@
Pulumi is an open source Infrastructure as Code tool that can be written in TypeScript, JavaScript, Python, Go, .NET, Java, and YAML to model cloud infrastructure.
+Visit the following resources to learn more:
+
- [Pulumi Website](https://www.pulumi.com/)
- [Official Documentation](https://www.pulumi.com/docs/)
- [Pulumi Getting Started Guide](https://www.pulumi.com/docs/get-started/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md
index 3f8fde11e..3796bb2fe 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md
@@ -2,6 +2,8 @@
A Docker Swarm is a group of either physical or virtual machines that are running the Docker application and that have been configured to join together in a cluster. Once a group of machines have been clustered together, you can still run the Docker commands that you're used to, but they will now be carried out by the machines in your cluster. The activities of the cluster are controlled by a swarm manager, and machines that have joined the cluster are referred to as nodes.
+Visit the following resources to learn more:
+
- [Official Website](https://www.docker.com/)
- [Docker Swarm Documentation](https://docs.docker.com/engine/swarm/)
- [Docker Swarm Tutorial for Beginners](https://www.youtube.com/watch?v=Tm0Q5zr3FL4)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md
index 2295f4136..1f1e8fb74 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md
@@ -6,4 +6,6 @@ In an Argo CD workflow, changes to the application are made by committing code o
Argo CD is designed to be a simple and efficient way to manage cloud-native applications, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Helm to automate the deployment and management of cloud-native applications.
+Visit the following resources to learn more:
+
- [Argo CD - Argo Project](https://argoproj.github.io/docs/argo-cd/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md
index 7b37e04b6..79f0ff499 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md
@@ -6,4 +6,6 @@ In a Flux CD workflow, changes to the application are made by committing code or
Flux CD is designed to be a simple and efficient way to manage cloud-native applications, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Helm to automate the deployment and management of cloud-native applications.
+Visit the following resources to learn more:
+
- [Flux CD Docs](https://docs.fluxcd.io/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md
index 73ef2dc9d..9c8034ead 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md
@@ -6,4 +6,6 @@ In a GitOps workflow, changes to the system are made by committing code or confi
GitOps is designed to be a more efficient and agile way of managing cloud-native environments, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Kubernetes and Helm to automate the deployment and management of cloud-native applications.
+Visit the following resources to learn more:
+
- [Guide to GitOps](https://www.weave.works/technologies/gitops/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md
index d9173bd7a..e963aa790 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md
@@ -4,6 +4,8 @@ Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) contain
The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues.
+Visit the following resources to learn more:
+
- [Kubernetes Website](https://kubernetes.io/)
- [Kubernetes Documentation](https://kubernetes.io/docs/home/)
- [Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md
index a46fb457b..bcd58885c 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md
@@ -2,6 +2,8 @@
[Nomad](https://github.com/hashicorp/nomad) is a simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale. Nomad runs as a single binary with a small resource footprint and supports a wide range of workloads beyond containers, including Windows, Java, VM, Docker, and more.
+Visit the following resources to learn more:
+
- [Nomad Website](https://www.nomadproject.io/)
- [Nomad Documentation](https://www.nomadproject.io/docs)
- [Nomad Tutorials](https://learn.hashicorp.com/nomad)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md
index 628ae2ef7..9ead32e2a 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md
@@ -13,6 +13,8 @@ Vault is designed to be highly scalable and flexible, with a wide range of featu
Vault is commonly used in DevOps environments to securely store and manage secrets, and it is often used in conjunction with other tools, such as Kubernetes and Helm, to automate the deployment and management of cloud-native applications.
+Visit the following resources to learn more:
+
- [Vault - Official Website](https://www.vaultproject.io/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md
index 549380c70..65d677337 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md
@@ -11,4 +11,6 @@ SOPS is designed to be easy to use and highly secure, with a range of features f
SOPS is commonly used in DevOps environments to securely store and manage secrets, and it is often used in conjunction with other tools, such as Kubernetes and Helm, to automate the deployment and management of cloud-native applications.
+Visit the following resources to learn more:
+
- [Mozilla SOPS - Official Website](https://github.com/mozilla/sops)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md
index ec020d3a5..7906ef024 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md
@@ -13,4 +13,6 @@ Sealed Secrets is designed to be highly secure and easy to use, with a range of
Sealed Secrets is commonly used in Kubernetes environments to securely store and manage secrets, and it is often used in conjunction with other tools, such as Helm, to automate the deployment and management of cloud-native applications.
+Visit the following resources to learn more:
+
- [Sealed Secrets - Bitnami](https://github.com/bitnami-labs/sealed-secrets)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md
index 44d4c9f4c..62c148702 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md
@@ -8,6 +8,8 @@ There are several cloud-specific tools for securely storing and managing secrets
These cloud-specific tools are designed to be used in conjunction with cloud-based applications and infrastructure and are typically integrated with other cloud services, such as container orchestration platforms and continuous delivery pipelines.
+Visit the following resources to learn more:
+
- [AWS Secrets Manager - Amazon Web Services](https://aws.amazon.com/secrets-manager/)
- [Google Cloud Secret Manager - Google Cloud](https://cloud.google.com/secret-manager)
- [Azure Key Vault - Microsoft Azure](https://azure.microsoft.com/en-us/services/key-vault/)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md
index b6a7661f0..1291c6790 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md
@@ -10,6 +10,8 @@ There are several ways to manage secrets in a cloud environment:
Effective secret management is essential for maintaining the security and integrity of a DevOps environment. It is important to regularly review and update secret management practices to ensure that secrets are being stored and managed securely.
+Visit the following resources to learn more:
+
- [Secrets management guide — approaches, open source tools, commercial products, challenges and questions](https://medium.com/@burshteyn/secrets-management-guide-approaches-open-source-tools-commercial-products-challenges-db560fd0584d)
- [Secret Management Architectures: Finding the balance between security and complexity](https://medium.com/slalom-technology/secret-management-architectures-finding-the-balance-between-security-and-complexity-9e56f2078e54)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/index.md
index bcde2e382..3d07a96c2 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/index.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/index.md
@@ -4,6 +4,8 @@ Sometimes referred to as IaC, this section refers to the techniques and tools us
The term Infrastructure as Code encompasses everything from bootstrapping to configuration to orchestration, and it is considered a best practice in the industry to manage all infrastructure as code. This technique precipitated the explosion in system complexity seen in modern DevOps organizations.
+Visit the following resources to learn more:
+
- [What is Infrastructure as Code?](https://www.youtube.com/watch?v=zWw2wuiKd5o)
- [What is Infrastructure as Code? Difference of Infrastructure as Code Tools](https://www.youtube.com/watch?v=POPP2WTJ8es)
- [GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code](https://thenewstack.io/guis-cli-apis-learn-basic-terms-of-infrastructure-as-code/)
diff --git a/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md b/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md
index 538e53567..03ab37712 100644
--- a/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md
+++ b/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md
@@ -3,6 +3,8 @@
GitLab offers a CI/CD service that can be used as a SaaS offering or self-managed using your own resources. You can use GitLab CI with any GitLab hosted repository, or any BitBucket Cloud or GitHub repository in the GitLab Premium self-managed, GitLab Premium SaaS and higher tiers.
+Visit the following resources to learn more:
+
- [GitLab Website](https://gitlab.com/)
- [GitLab Documentation](https://docs.gitlab.com/)
- [Get Started with GitLab CI](https://docs.gitlab.com/ee/ci/quick_start/)
diff --git a/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md b/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md
index 0efd549f1..afc4944fc 100644
--- a/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md
+++ b/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md
@@ -2,6 +2,8 @@
Jenkins is an open-source CI/CD automation server. Jenkins is primarily used for building projects, running tests, static code analysis and deployments.
+Visit the following resources to learn more:
+
- [Jenkins Website](https://www.jenkins.io/)
- [Official Jenkins Handbook](https://www.jenkins.io/doc/book/)
- [Jenkins Getting Started Guide](https://www.jenkins.io/doc/pipeline/tour/getting-started/)
diff --git a/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md b/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md
index 90512207c..88164d9dd 100644
--- a/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md
+++ b/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md
@@ -2,6 +2,8 @@
Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you'd like, including CI/CD, and combine actions in a completely customized workflow.
+Visit the following resources to learn more:
+
- [GitHub Actions Documentation](https://docs.github.com/en/actions)
- [Learn GitHub Actions](https://docs.github.com/en/actions/learn-github-actions)
- [GitHub Actions - Supercharge your GitHub Flow](https://youtu.be/cP0I9w2coGU)
diff --git a/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md b/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md
index e9869d20f..91f0e5f61 100644
--- a/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md
+++ b/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md
@@ -2,6 +2,8 @@
Travis CI is a CI/CD service that is primarily used for building and testing projects that are hosted on BitBucket and GitHub. Open source projects can utilize Travis CI for free.
+Visit the following resources to learn more:
+
- [Travis CI Website](https://www.travis-ci.com/)
- [Travis CI Documentation](https://docs.travis-ci.com/)
- [Travis CI Tutorial](https://docs.travis-ci.com/user/tutorial/)
diff --git a/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md b/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md
index 4795e27de..e14d352ee 100644
--- a/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md
+++ b/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md
@@ -2,6 +2,8 @@
TeamCity is a CI/CD service provided by JetBrains. TeamCity can be used as a SaaS offering or self-managed using your own resources.
+Visit the following resources to learn more:
+
- [TeamCity Website](https://www.jetbrains.com/teamcity/)
- [Official Documentation](https://www.jetbrains.com/help/teamcity/teamcity-documentation.html)
- [TeamCity Tutorials](https://www.jetbrains.com/teamcity/tutorials/)
diff --git a/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md b/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md
index 93a482b5d..1ee1b9cee 100644
--- a/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md
+++ b/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md
@@ -2,6 +2,8 @@
Azure DevOps is developed by Microsoft as a full scale application lifecycle management and CI/CD service. Azure DevOps provides developer services for allowing teams to plan work, collaborate on code development, and build and deploy applications.
+Visit the following resources to learn more:
+
- [Azure DevOps Website](https://azure.microsoft.com/en-us/services/devops/#overview)
- [Official Documentation](https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops&viewFallbackFrom=vsts)
- [Azure DevOps Getting Started Guide](https://docs.microsoft.com/en-us/azure/devops/user-guide/sign-up-invite-teammates?view=azure-devops)
diff --git a/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md b/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md
index 190e68d74..bcf8cc891 100644
--- a/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md
+++ b/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md
@@ -2,6 +2,8 @@
CircleCI is a CI/CD service that can be integrated with GitHub, BitBucket and GitLab repositories. The service that can be used as a SaaS offering or self-managed using your own resources.
+Visit the following resources to learn more:
+
- [CircleCI Website](https://circleci.com/)
- [CircleCI Documentation](https://circleci.com/docs)
- [Configuration Tutorial](https://circleci.com/docs/config-intro)
diff --git a/src/roadmaps/devops/content/106-ci-cd/108-drone.md b/src/roadmaps/devops/content/106-ci-cd/108-drone.md
index baa0c67ec..d3226378c 100644
--- a/src/roadmaps/devops/content/106-ci-cd/108-drone.md
+++ b/src/roadmaps/devops/content/106-ci-cd/108-drone.md
@@ -2,6 +2,8 @@
Drone is a CI/CD service offering by [Harness](https://harness.io/). Each build runs on an isolated Docker container, and Drone integrates with many popular source code management repositories like GitHub, BitBucket and GitLab
+Visit the following resources to learn more:
+
- [Drone Website](https://www.drone.io/)
- [Official Documentation](https://docs.drone.io/)
- [Drone Getting Started Guide](https://docs.drone.io/server/overview/)
diff --git a/src/roadmaps/devops/content/106-ci-cd/index.md b/src/roadmaps/devops/content/106-ci-cd/index.md
index 037c9a935..80e2ac3e4 100644
--- a/src/roadmaps/devops/content/106-ci-cd/index.md
+++ b/src/roadmaps/devops/content/106-ci-cd/index.md
@@ -4,6 +4,8 @@ CI/CD is a method to frequently deliver apps to customers by introducing automat
Specifically, CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment. Taken together, these connected practices are often referred to as a "CI/CD pipeline" and are supported by development and operations teams working together in an agile way with either a DevOps or site reliability engineering (SRE) approach.
+Visit the following resources to learn more:
+
- [CI vs CD](https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment)
- [What is CI/CD?](https://www.redhat.com/en/topics/devops/what-is-ci-cd)
- [CI/CD Pipeline: A Gentle Introduction](https://semaphoreci.com/blog/cicd-pipeline)
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md
index 9e749fcb9..d782aaf32 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md
@@ -2,6 +2,8 @@
Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database built using a HTTP pull model, with flexible queries and real-time alerting.
+Visit the following resources to learn more:
+
- [Prometheus Website](https://prometheus.io/)
- [Official Documentation](https://prometheus.io/docs/introduction/overview/)
- [Getting Started with Prometheus](https://prometheus.io/docs/tutorials/getting_started/)
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md
index b4258d0d0..1577a13d3 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md
@@ -2,6 +2,8 @@
Nagios is a powerful tool that provides you with instant awareness of your organization’s mission-critical IT infrastructure. Nagios allows you to detect and repair problems and mitigate future issues before they affect end-users and customers.
+Visit the following resources to learn more:
+
- [Nagios Website](https://www.nagios.org/)
- [Official Documentation](https://www.nagios.org/documentation/)
- [Nagios Support Knowledge Base](https://support.nagios.com/kb/)
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md
index d93ad8091..549d2dba0 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md
@@ -2,5 +2,7 @@
Datadog is a monitoring and analytics platform for large-scale applications. It encompasses infrastructure monitoring, application performance monitoring, log management, and user-experience monitoring. Datadog aggregates data across your entire stack with 400+ integrations for troubleshooting, alerting, and graphing.
+Visit the following resources to learn more:
+
- [Datadog Website](https://www.datadoghq.com/)
- [Official Documentation](https://docs.datadoghq.com/)
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md
index f2e174b89..b4688ba89 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md
@@ -2,6 +2,8 @@
Grafana is the open-source platform for monitoring and observability. It allows you to query, visualize, alert on and understand your metrics no matter where they are stored.
+Visit the following resources to learn more:
+
- [Grafana Website](https://grafana.com/)
- [Grafana Official Documentation](https://grafana.com/docs/)
- [Grafana Community](https://community.grafana.com/)
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md
index 32a1b3f0c..261b92ba6 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md
@@ -6,6 +6,8 @@ Monit has the ability to start a process if it is not running, restart a process
With Monit, you can able to monitor remote hosts’ TCP/IP port, server protocols, and ping. Monit keeps its own log file and alerts about any critical error conditions and recovery status.
+Visit the following resources to learn more:
+
- [Monit Website](https://mmonit.com/monit/)
- [Monit Official Documentation](https://mmonit.com/monit/documentation/monit.html)
- [Monit Tutorial](https://www.tecmint.com/monit-linux-services-monitoring/)
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md
index 0e694b41b..843c36675 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md
@@ -2,6 +2,8 @@
Zabbix is an enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics.
+Visit the following resources to learn more:
+
- [Zabbix Website](https://www.zabbix.com/)
- [Official Documentation](https://www.zabbix.com/manuals)
- [Zabbix Roadmap](https://www.zabbix.com/roadmap)
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md
index c78130622..228c79f49 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md
@@ -4,5 +4,7 @@ Monitoring refers to the practice of making the performance and status of infras
This is a very vendor-heavy space - use caution when studying materials exclusively from a given product or project, as there are many conflicting opinions and strategies in use. There is no single solution for the most substantially complex internet-facing applications, so understanding the pros and cons of these tools will be useful in helping you plan how to monitor a system for a given goal.
+Visit the following resources to learn more:
+
- [Best Practices to Optimize Infrastructure Monitoring within DevOps Teams](https://thenewstack.io/best-practices-to-optimize-infrastructure-monitoring-within-devops-teams/)
- [Seven Steps to Effective Cloud Native Infrastructure Monitoring](https://thenewstack.io/seven-steps-to-effective-cloud-native-infrastructure-monitoring/)
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md
index 086028701..5308c170a 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md
@@ -2,5 +2,7 @@
Jaeger is an open source, end-to-end distributed tracing system that enables us to monitor and troubleshoot transactions in complex distributed systems.
+Visit the following resources to learn more:
+
- [Jaeger Website](https://www.jaegertracing.io/)
- [Official Documentation](https://www.jaegertracing.io/docs/1.37/)
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md
index 343450c1f..af3784d97 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md
@@ -2,6 +2,8 @@
New Relic is where dev, ops, security and business teams solve software–performance problems with data.
+Visit the following resources to learn more:
+
- [New Relic Website](https://newrelic.com/)
- [Official Documentation](https://docs.newrelic.com/)
- [New Relic Developer Hub](https://developer.newrelic.com/)
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md
index feb568add..96ebf45f8 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md
@@ -2,5 +2,7 @@
AppDynamics is a full-stack application performance management (APM) and IT operations analytics (ITOA) company based in San Francisco. The company focuses on managing the performance and availability of applications across cloud computing environments, IT infrastructure, network architecture, digital user experience design, application security threat detection, observability, and data centers.
+Visit the following resources to learn more:
+
- [AppDynamics Website](https://www.appdynamics.com/)
- [Official Resources](https://www.appdynamics.com/resources)
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md
index 6a50647ad..4b69cd12b 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md
@@ -2,5 +2,7 @@
Instana is particularly used in monitoring and managing the performance of software used in microservice architectures, and permits 3D visualisation of performance through graphs generated using machine learning algorithms, with notifications regarding performance also generated automatically. Instana's Application Performance Monitoring (APM) tool of the same name is especially purposed for monitoring software used in so-called "container orchestration" (a modular method of providing a software service).
+Visit the following resources to learn more:
+
- [Instana Website](https://www.instana.com/)
- [Official Resources(White Papers and Ebooks) ](https://www.instana.com/resources/)
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md
index 734826495..f8b26be8e 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md
@@ -2,5 +2,7 @@
OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior.
+Visit the following resources to learn more:
+
- [OpenTelemetry Website](https://opentelemetry.io/)
- [Official Documentation](https://opentelemetry.io/docs/)
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md
index 6534d7666..ca8523164 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md
@@ -2,5 +2,7 @@
Application monitoring refers to the practice of making the status and performance of a given *application* visible. This may include details such as stacktraces, error logs, and the line of code implicated in a given failure. When combined with Infrastructure monitoring, this can provide a complete picture of what is happening in your system, and why.
+Visit the following resources to learn more:
+
- [Applying Basic vs. Advanced Monitoring Techniques](https://thenewstack.io/applying-basic-vs-advanced-monitoring-techniques/)
- [Why Legacy Apps Need Your Monitoring Love, Too](https://thenewstack.io/why-legacy-apps-need-your-monitoring-love-too/)
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md
index b30a816cb..0537c8ca1 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md
@@ -6,6 +6,8 @@ Elastic Stack is a group of open source products comprised of Elasticsearch, Kib
* `Logstash/fluentd` - Data processing pipeline
* `Kibana` - Dashboard to visualize data
+Visit the following resources to learn more:
+
- [Elastic Stack Website](https://www.elastic.co/elastic-stack/)
- [Official Docs](https://www.elastic.co/guide/index.html)
- [Elastic Stack features](https://www.elastic.co/elastic-stack/features)
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md
index 0aec7ed86..fdfbad73e 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md
@@ -2,6 +2,8 @@
Graylog is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data.
+Visit the following resources to learn more:
+
- [Graylog Website](https://www.graylog.org/)
- [Official Documentation](https://docs.graylog.org/)
- [Product Videos](https://www.graylog.org/resources-videos)
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md
index 361b7df9a..b4be5c736 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md
@@ -2,6 +2,8 @@
Papertrail is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data.
+Visit the following resources to learn more:
+
- [Papertrail Website](https://www.papertrail.com/)
- [Official Guides](https://www.papertrail.com/solution/guides/)
- [Official Blog](https://www.papertrail.com/blog/)
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md
index f2ce88ce8..02bc28f47 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md
@@ -2,6 +2,8 @@
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
+Visit the following resources to learn more:
+
- [Splunk Website](https://www.splunk.com/)
- [Official Documentation](https://docs.splunk.com/Documentation)
- [Splunk Videos](https://www.splunk.com/en_us/resources/videos.html)
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md
index 265b62571..42ce63d6b 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md
@@ -2,5 +2,7 @@
Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost-effective and easy to operate. It does not index the contents of the logs, but rather a set of labels for each log stream.
+Visit the following resources to learn more:
+
- [Loki Website](https://grafana.com/oss/loki/)
- [Official Documentation](https://grafana.com/docs/loki/latest/?pg=oss-loki&plcmt=quick-links)
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/index.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/index.md
index 1eaf592be..a078b8063 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/index.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/index.md
@@ -2,6 +2,8 @@
Log management is the process of handling log events generated by all software applications and infrastructure on which they run. It involves log collection, aggregation, parsing, storage, analysis, search, archiving, and disposal, with the ultimate goal of using the data for troubleshooting and gaining business insights, while also ensuring the compliance and security of applications and infrastructure.
+Visit the following resources to learn more:
+
- [Introduction to Logs Management](https://sematext.com/guides/log-management)
- [Log Management: What DevOps Teams Need to Know](https://devops.com/log-management-what-devops-teams-need-to-know/)
- [Logging for Kubernetes: What to Log and How to Log It](https://thenewstack.io/logging-for-kubernetes-what-to-log-and-how-to-log-it/)
diff --git a/src/roadmaps/devops/content/107-monitoring/index.md b/src/roadmaps/devops/content/107-monitoring/index.md
index 580442c59..c5d93d63a 100644
--- a/src/roadmaps/devops/content/107-monitoring/index.md
+++ b/src/roadmaps/devops/content/107-monitoring/index.md
@@ -2,5 +2,7 @@
DevOps monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring.
+Visit the following resources to learn more:
+
- [DevOps Monitoring](https://www.atlassian.com/devops/devops-tools/devops-monitoring)
- [The Hows, Whys and Whats of Monitoring Microservices](https://thenewstack.io/the-hows-whys-and-whats-of-monitoring-microservices/)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/100-aws.md b/src/roadmaps/devops/content/108-cloud-providers/100-aws.md
index fd45d1896..531f7afbd 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/100-aws.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/100-aws.md
@@ -4,6 +4,8 @@ Amazon Web Services has been the market leading cloud computing platform since 2
AWS service is an online platform that provides scalable and cost-effectove cloud computing solutions. It is broadly adopted cloud platform that offers several on-demand operations like compute power, database storage, content delivery and so on.
+Visit the following resources to learn more:
+
- [AWS Website](https://aws.amazon.com/)
- [AWS Documentation](https://docs.aws.amazon.com/)
- [Sign up for AWS](https://portal.aws.amazon.com/billing/signup)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md b/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md
index 081bec934..c405f6085 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md
@@ -2,6 +2,8 @@
Google Cloud is Google's cloud computing service offering, providing over 150 products/services to choose from. It consists of a set of physical assets, such as computers and hard disk drives, and virtual resources, such as virtual machines(VMs), that are contained in Google's data centers. It runs on the same infrastructure that Google uses internally for its end-user products, such as Search, Gmail, Google Drive, and YouTube.
+Visit the following resources to learn more:
+
- [Google Cloud Website](https://cloud.google.com/)
- [Official Documentation](https://cloud.google.com/docs)
- [Google Cloud Get Started Guide](https://cloud.google.com/docs/get-started/)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/102-azure.md b/src/roadmaps/devops/content/108-cloud-providers/102-azure.md
index 3968e4a50..5222c1180 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/102-azure.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/102-azure.md
@@ -2,6 +2,8 @@
Microsoft Azure is a cloud computing service operated by Microsoft. Azure currently provides more than 200 products and cloud services.
+Visit the following resources to learn more:
+
- [Azure Website](https://azure.microsoft.com/en-us/)
- [Official Documentation](https://docs.microsoft.com/en-us/azure/)
- [Azure Get Started Guide](https://azure.microsoft.com/en-ca/get-started/#explore-azure)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md b/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md
index 903390949..4e152366d 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md
@@ -2,6 +2,8 @@
Heroku is a cloud platform as a service subsidiary of Salesforce. Heroku officially supports Node.js, Ruby, Java, PHP, Python, Go, Scala and Clojure, along with any language that runs on Linux via a third-party build pack.
+Visit the following resources to learn more:
+
- [Heroku Website](https://www.heroku.com/)
- [Official Documentation](https://devcenter.heroku.com/)
- [Heroku Get Started Guide](https://devcenter.heroku.com/start)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md b/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md
index 3c120c8b2..9e0bc8a31 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md
@@ -2,6 +2,8 @@
Alibaba Cloud is a cloud computing service, offering over 100 products and services with data centers in 24 regions and 74 availability zones around the world.
+Visit the following resources to learn more:
+
- [Alibaba Cloud Website](https://www.alibabacloud.com/)
- [Official Documentation](https://www.alibabacloud.com/help/en/)
- [Alibaba Cloud Getting Started Guide](https://www.alibabacloud.com/getting-started)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md b/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md
index 6301f63fe..b1f62ef41 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md
@@ -2,6 +2,8 @@
DigitalOcean is a cloud computing service offering products and services in Compute, Storage, Managed Databases, Containers & Images and Networking.
+Visit the following resources to learn more:
+
- [DigitalOcean Website](https://www.digitalocean.com/)
- [Official Documentation](https://docs.digitalocean.com/products/)
- [DigitalOcean Get Started Guide](https://docs.digitalocean.com/products/getting-started/)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/105-linode.md b/src/roadmaps/devops/content/108-cloud-providers/105-linode.md
index 00925246f..1a654255b 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/105-linode.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/105-linode.md
@@ -2,6 +2,8 @@
Linode is a cloud computing service owned by Akamai Technologies. Linode positions itself as an alternative to AWS, GCP and Azure by offering core services without complexity for most workloads.
+Visit the following resources to learn more:
+
- [Linode Website](https://www.linode.com/)
- [Official Documentation](https://www.linode.com/docs/)
- [Linode Getting Started Guide](https://www.linode.com/docs/guides/getting-started/)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md b/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md
index ae908829c..098691865 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md
@@ -2,5 +2,7 @@
Vultr is an infrastructure focussed cloud computing service, available in 25 locations worldwide. Vultur compute offers 100% SSD and high performance Intel vCPUs.
+Visit the following resources to learn more:
+
- [Vultr Website](https://www.vultr.com/)
- [Official Documentation](https://www.vultr.com/docs/)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md b/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md
index 283ba3d8a..fe660bee2 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md
@@ -2,6 +2,8 @@
IBM cloud computing is a set of cloud computing services that offers both platform as a service (PaaS) and infrastructure as a service (IaaS). IBM Cloud supports various languages and frameworks such as Go, Java™, Node.js, Python and Swift.
+Visit the following resources to learn more:
+
- [IBM cloud](https://www.ibm.com/cloud)
- [IBM Cloud Documentation](https://cloud.ibm.com/docs)
- [IBM Cloud Essentials](https://www.coursera.org/learn/ibm-cloud-essentials)
diff --git a/src/roadmaps/devops/content/108-cloud-providers/index.md b/src/roadmaps/devops/content/108-cloud-providers/index.md
index 93ee6cfd5..8fb955d81 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/index.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/index.md
@@ -2,5 +2,7 @@
Cloud providers provide a layer of APIs to abstract infrastructure and provision it based on security and billing boundaries. The cloud runs on servers in data centers, but the abstractions cleverly give the appearance of interacting with a single "platform" or large application. The ability to quickly provision, configure and secure resources with cloud providers has been key to both the tremendous success, and complexity, of modern DevOps.
+Visit the following resources to learn more:
+
- [Cloud service provider](https://www.techtarget.com/searchitchannel/definition/cloud-service-provider-cloud-provider)
- [What are Cloud Providers?](https://www.redhat.com/en/topics/cloud-computing/what-are-cloud-providers)
diff --git a/src/roadmaps/devops/content/109-availability.md b/src/roadmaps/devops/content/109-availability.md
index b8d9d8936..0cfd6cb1d 100644
--- a/src/roadmaps/devops/content/109-availability.md
+++ b/src/roadmaps/devops/content/109-availability.md
@@ -4,5 +4,7 @@ Availability is the percentage of time that a system is functional and working a
To achieve high levels of uptime, it is important to eliminate single points of failure so that a single device failure does not disrupt the entire service. High availability in the cloud is often achieved by creating clusters. Clusters are groups of devices (such as servers) that all have access to the same shared storage and function as one single server to provide uninterrupted availability. This way, if one server goes down, the others are able to pick up the load until it comes back online. Clusters can range from two servers to even multiple buildings of servers.
+Visit the following resources to learn more:
+
- [How High Availability Works in the Cloud](https://codster.io/en/blog/high-availability-in-the-cloud/)
- [Techniques for Achieving High Availability](https://www.sqlservercentral.com/articles/cloud-computing-basics-achieving-high-availability-2)
diff --git a/src/roadmaps/devops/content/110-data-management.md b/src/roadmaps/devops/content/110-data-management.md
index ec1a85cec..29b7e3302 100644
--- a/src/roadmaps/devops/content/110-data-management.md
+++ b/src/roadmaps/devops/content/110-data-management.md
@@ -4,4 +4,6 @@ Data management is the key element of cloud applications, and influences most of
Additionally data should be protected at rest, in transit, and via authorized access mechanisms to maintain security assurances of confidentiality, integrity, and availability. Refer to the Azure Security Benchmark Data Protection Control for more information.
+Visit the following resources to learn more:
+
- [Data management patterns](https://docs.microsoft.com/en-us/azure/architecture/patterns/category/data-management)
diff --git a/src/roadmaps/devops/content/111-design-and-implementation.md b/src/roadmaps/devops/content/111-design-and-implementation.md
index 1112619a0..ab8915e98 100644
--- a/src/roadmaps/devops/content/111-design-and-implementation.md
+++ b/src/roadmaps/devops/content/111-design-and-implementation.md
@@ -3,4 +3,6 @@
Good design encompasses factors such as consistency and coherence in component design and deployment, maintainability to simplify administration and development, and reusability to allow components and subsystems to be used in other applications and in other scenarios. Decisions made during the design and implementation phase have a huge impact on the quality and the total cost of ownership of cloud hosted applications and services.
+Visit the following resources to learn more:
+
- [Design and implementation patterns](https://docs.microsoft.com/en-us/azure/architecture/patterns/category/design-implementation)
diff --git a/src/roadmaps/devops/content/112-management-and-monitoring.md b/src/roadmaps/devops/content/112-management-and-monitoring.md
index c92ae4541..427b6cae5 100644
--- a/src/roadmaps/devops/content/112-management-and-monitoring.md
+++ b/src/roadmaps/devops/content/112-management-and-monitoring.md
@@ -2,4 +2,6 @@
DevOps management and monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring.
+Visit the following resources to learn more:
+
- [Management and Monitoring Get Started Guide](https://www.atlassian.com/devops/devops-tools/devops-monitoring)
\ No newline at end of file
diff --git a/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md b/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md
index 1faae9657..e25ed7c6f 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md
@@ -2,4 +2,6 @@
DartPad is an open source tool that lets you play with the Dart language in any modern browser.
+Visit the following resources to learn more:
+
- [DartPad](https://dart.dev/tools/dartpad)
diff --git a/src/roadmaps/flutter/content/100-dart-basics/101-variables.md b/src/roadmaps/flutter/content/100-dart-basics/101-variables.md
index 1e7709744..ea7e30fee 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/101-variables.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/101-variables.md
@@ -1,3 +1,5 @@
# Variables
+Visit the following resources to learn more:
+
- [Variables](https://dart.dev/guides/language/language-tour#variables)
diff --git a/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md b/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md
index fe2d8492e..13a85adfa 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md
@@ -1,3 +1,5 @@
# Built in types
+Visit the following resources to learn more:
+
- [Built-in types](https://dart.dev/guides/language/language-tour#built-in-types)
diff --git a/src/roadmaps/flutter/content/100-dart-basics/103-functions.md b/src/roadmaps/flutter/content/100-dart-basics/103-functions.md
index 55610280a..aadaca7b6 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/103-functions.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/103-functions.md
@@ -1,3 +1,5 @@
# Functions
+Visit the following resources to learn more:
+
- [Functions](https://dart.dev/guides/language/language-tour#functions)
diff --git a/src/roadmaps/flutter/content/100-dart-basics/104-operators.md b/src/roadmaps/flutter/content/100-dart-basics/104-operators.md
index f71586001..03584b4c1 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/104-operators.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/104-operators.md
@@ -1,3 +1,5 @@
# Operators
+Visit the following resources to learn more:
+
- [Operators](https://dart.dev/guides/language/language-tour#operators)
diff --git a/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md b/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md
index a1a40785f..e8e28fdb2 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md
@@ -1,3 +1,5 @@
# Control flow statements
+Visit the following resources to learn more:
+
- [Control flow statements](https://dart.dev/guides/language/language-tour#control-flow-statements)
diff --git a/src/roadmaps/flutter/content/100-dart-basics/index.md b/src/roadmaps/flutter/content/100-dart-basics/index.md
index ac5063698..fd710b1e8 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/index.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/index.md
@@ -2,6 +2,8 @@
Dart is an open-source, general-purpose, object-oriented programming language with C-style syntax developed by Google in 2011. The purpose of Dart programming is to create a frontend user interfaces for the web and mobile apps.
+Visit the following resources to learn more:
+
- [Dart Overview](https://dart.dev/overview)
- [What is Dart Programming?](https://www.javatpoint.com/flutter-dart-programming)
- [Dart Tutorial](https://www.geeksforgeeks.org/dart-tutorial/)
diff --git a/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md b/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md
index b800a7f25..0fc3cc3fc 100644
--- a/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md
+++ b/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md
@@ -2,4 +2,6 @@
The flutter command-line tool is how developers (or IDEs on behalf of developers) interact with Flutter.
+Visit the following resources to learn more:
+
- [The Flutter command-line tool](https://docs.flutter.dev/reference/flutter-cli)
diff --git a/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md b/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md
index 6b960fd18..eaf95bb21 100644
--- a/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md
@@ -2,4 +2,6 @@
A stateless widget never changes. Icon, IconButton, and Text are examples of stateless widgets.
+Visit the following resources to learn more:
+
- [StatelessWidget class](https://api.flutter.dev/flutter/widgets/StatelessWidget-class.html)
diff --git a/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md b/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md
index f16e84201..79c346920 100644
--- a/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md
@@ -2,4 +2,6 @@
A stateful widget is dynamic: for example, it can change its appearance in response to events triggered by user interactions or when it receives data. Checkbox, Radio, Slider, InkWell, Form, and TextField are examples of stateful widgets.
+Visit the following resources to learn more:
+
- [StatefulWidget class](https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html)
diff --git a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md
index 0ea9dfca6..b73c61862 100644
--- a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md
@@ -2,4 +2,6 @@
Visual, behavioral, and motion-rich widgets implementing the Material Design guidelines.
+Visit the following resources to learn more:
+
- [Material Components widgets](https://docs.flutter.dev/development/ui/widgets/material)
diff --git a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md
index 4ab57c58d..53ed4dcef 100644
--- a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md
@@ -2,4 +2,6 @@
Beautiful and high-fidelity widgets for current iOS design language.
+Visit the following resources to learn more:
+
- [Cupertino (iOS-style) widgets](https://docs.flutter.dev/development/ui/widgets/cupertino)
diff --git a/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md b/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md
index 35868c46b..97fc71fba 100644
--- a/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md
+++ b/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md
@@ -2,4 +2,6 @@
Flutter works with custom fonts and you can apply a custom font across an entire app or to individual widgets.
+Visit the following resources to learn more:
+
- [Use a custom font](https://docs.flutter.dev/cookbook/design/fonts)
diff --git a/src/roadmaps/flutter/content/103-working-with-assets/101-images.md b/src/roadmaps/flutter/content/103-working-with-assets/101-images.md
index 65d81cdbc..4c5628db1 100644
--- a/src/roadmaps/flutter/content/103-working-with-assets/101-images.md
+++ b/src/roadmaps/flutter/content/103-working-with-assets/101-images.md
@@ -2,4 +2,6 @@
Apps can include both code and assets. Flutter uses the pubspec.yaml file, located at the root of your project, to identify assets required by an app.
+Visit the following resources to learn more:
+
- [Adding assets and images](https://docs.flutter.dev/development/ui/assets-and-images)
diff --git a/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md b/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md
index 12744933f..93ea9b356 100644
--- a/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md
+++ b/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md
@@ -2,5 +2,7 @@
Flutter supports using shared packages contributed by other developers to the Flutter and Dart ecosystems.
+Visit the following resources to learn more:
+
- [pub.dev](https://pub.dev/)
- [Using packages](https://docs.flutter.dev/development/packages-and-plugins/using-packages)
diff --git a/src/roadmaps/flutter/content/107-package-manager/index.md b/src/roadmaps/flutter/content/107-package-manager/index.md
index 0cc864a97..42c0cbe71 100644
--- a/src/roadmaps/flutter/content/107-package-manager/index.md
+++ b/src/roadmaps/flutter/content/107-package-manager/index.md
@@ -2,4 +2,6 @@
The package manager for Flutter is called pub. It is used to manage Flutter projects' dependencies and publish Flutter packages. It is included with the Flutter SDK and can be run from the command line using the `pub` command.
+Visit the following resources to learn more:
+
- [Packages and Plugins](https://docs.flutter.dev/development/packages-and-plugins)
diff --git a/src/roadmaps/flutter/content/108-working-with-apis/100-json.md b/src/roadmaps/flutter/content/108-working-with-apis/100-json.md
index 6a081df2d..6b6c7a602 100644
--- a/src/roadmaps/flutter/content/108-working-with-apis/100-json.md
+++ b/src/roadmaps/flutter/content/108-working-with-apis/100-json.md
@@ -2,4 +2,6 @@
JSON (JavaScript Object Notation) is a simple data interchange format used to communicate with server, store and retrieve data from it.
+Visit the following resources to learn more:
+
- [JSON and serialization](https://docs.flutter.dev/development/data-and-backend/json)
diff --git a/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md b/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md
index d931f5d0d..17a939f49 100644
--- a/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md
+++ b/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md
@@ -3,4 +3,6 @@
In addition to normal HTTP requests, you can connect to servers using WebSockets. Web sockets allows for bidirectional communication between a client (such as a web browser) and a server over a single, long-lived connection. They are a more efficient alternative to HTTP for providing real-time data, as they allow for the server to push data to the client as soon as it becomes available, rather than requiring the client to continuously poll the server for updates.
+Visit the following resources to learn more:
+
- [Work with WebSockets](https://docs.flutter.dev/cookbook/networking/web-sockets)
diff --git a/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md b/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md
index 3171ffee3..47d318f77 100644
--- a/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md
+++ b/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md
@@ -2,6 +2,8 @@
REST, or REpresentational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other.
+Visit the following resources to learn more:
+
- [What is REST?](https://www.codecademy.com/article/what-is-rest)
- [What is a REST API?](https://www.redhat.com/en/topics/api/what-is-a-rest-api)
- [Roy Fieldings dissertation chapter, Representational State Transfer (REST)](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)
diff --git a/src/roadmaps/flutter/content/109-storage/100-sqlite.md b/src/roadmaps/flutter/content/109-storage/100-sqlite.md
index aadc6c85b..cf1245f41 100644
--- a/src/roadmaps/flutter/content/109-storage/100-sqlite.md
+++ b/src/roadmaps/flutter/content/109-storage/100-sqlite.md
@@ -2,4 +2,6 @@
SQLite is an open-source, lightweight relational database management system (RDBMS) used to store and manage data. It is written in C and self-contained, meaning it does not require a separate server process or system. SQLite is commonly used in mobile applications, embedded systems, and web browsers and is also supported by many programming languages. It is a popular choice for databases because it is easy to use and does not require a lot of setup or configuration.
+Visit the following resources to learn more:
+
- [sqflite - pub.dev package](https://pub.dev/packages/sqflite)
diff --git a/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md b/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md
index 57ae9bfb8..24ec50a0e 100644
--- a/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md
+++ b/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md
@@ -2,4 +2,6 @@
In Flutter, SharedPreferences is a plugin allowing you to store data in key-value pairs persistently. It is similar to a local database or cache, but it is specifically designed to store small pieces of data, such as user preferences or settings. The SharedPreferences plugin is often used to store simple pieces of data that need to be accessed by multiple screens or widgets in an app. For example, you might use SharedPreferences to store the user's login status or the app's theme color.
+Visit the following resources to learn more:
+
- [shared_preferences - pub.dev package](https://pub.dev/packages/shared_preferences)
diff --git a/src/roadmaps/flutter/content/109-storage/102-firebase/index.md b/src/roadmaps/flutter/content/109-storage/102-firebase/index.md
index 511faeee4..886e107e2 100644
--- a/src/roadmaps/flutter/content/109-storage/102-firebase/index.md
+++ b/src/roadmaps/flutter/content/109-storage/102-firebase/index.md
@@ -2,4 +2,6 @@
Firebase is a Backend-as-a-Service (BaaS) app development platform that provides hosted backend services such as a realtime database, cloud storage, authentication, crash reporting, machine learning, remote configuration, and hosting for your static files.
+Visit the following resources to learn more:
+
- [Firebase](https://docs.flutter.dev/development/data-and-backend/firebase)
diff --git a/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md b/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md
index 2e7f17b9c..d9eafa9dc 100644
--- a/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md
+++ b/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md
@@ -2,4 +2,6 @@
Dart has a rich set of core libraries that provide essentials for many everyday programming tasks such as working on collections of objects (dart:collection), making calculations (dart:math), and encoding/decoding data (dart:convert).
+Visit the following resources to learn more:
+
- [Core libraries](https://dart.dev/guides/libraries)
diff --git a/src/roadmaps/flutter/content/111-state-management/100-provider.md b/src/roadmaps/flutter/content/111-state-management/100-provider.md
index 0a12283bf..3b814fe5d 100644
--- a/src/roadmaps/flutter/content/111-state-management/100-provider.md
+++ b/src/roadmaps/flutter/content/111-state-management/100-provider.md
@@ -2,5 +2,7 @@
Provider is a wrapper around InheritedWidget (base class for widgets that efficiently propagate information down the tree) to make them easier to use and more reusable.
+Visit the following resources to learn more:
+
- [provider](https://pub.dev/packages/provider)
- [Simple app state management](https://docs.flutter.dev/development/data-and-backend/state-mgmt/simple)
diff --git a/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md b/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md
index 187d6836e..775a03772 100644
--- a/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md
+++ b/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md
@@ -2,5 +2,7 @@
State management library exposing widgets which can help handle all possible states of the application.
+Visit the following resources to learn more:
+
- [Core Concepts](https://bloclibrary.dev/#/flutterbloccoreconcepts)
- [flutter_bloc](https://pub.dev/packages/flutter_bloc)
diff --git a/src/roadmaps/flutter/content/111-state-management/105-redux.md b/src/roadmaps/flutter/content/111-state-management/105-redux.md
index 4ebcfb448..26411f20a 100644
--- a/src/roadmaps/flutter/content/111-state-management/105-redux.md
+++ b/src/roadmaps/flutter/content/111-state-management/105-redux.md
@@ -2,4 +2,6 @@
A set of utilities that allow you to easily consume a Redux Store to build Flutter Widgets.
+Visit the following resources to learn more:
+
- [flutter_redux](https://pub.dev/packages/flutter_redux)
diff --git a/src/roadmaps/flutter/content/112-animations/104-hero.md b/src/roadmaps/flutter/content/112-animations/104-hero.md
index 93e7dbeba..6c6102c25 100644
--- a/src/roadmaps/flutter/content/112-animations/104-hero.md
+++ b/src/roadmaps/flutter/content/112-animations/104-hero.md
@@ -2,4 +2,6 @@
Flying an image from one screen to another is called a hero animation in Flutter, though the same motion is sometimes referred to as a shared element transition.
+Visit the following resources to learn more:
+
- [Hero animations](https://docs.flutter.dev/development/ui/animations/hero-animations)
diff --git a/src/roadmaps/flutter/content/112-animations/105-opacity.md b/src/roadmaps/flutter/content/112-animations/105-opacity.md
index 173586c80..96e9370b0 100644
--- a/src/roadmaps/flutter/content/112-animations/105-opacity.md
+++ b/src/roadmaps/flutter/content/112-animations/105-opacity.md
@@ -2,4 +2,6 @@
The AnimatedOpacity widget makes it easy to perform opacity animations.
+Visit the following resources to learn more:
+
- [Fade a widget in and out](https://docs.flutter.dev/cookbook/animation/opacity-animation)
diff --git a/src/roadmaps/flutter/content/112-animations/index.md b/src/roadmaps/flutter/content/112-animations/index.md
index 97b2f139b..ff1bdbf5a 100644
--- a/src/roadmaps/flutter/content/112-animations/index.md
+++ b/src/roadmaps/flutter/content/112-animations/index.md
@@ -2,4 +2,6 @@
Flutter’s animation support makes it easy to implement a variety of animation types. Many widgets, especially Material widgets, come with the standard motion effects defined in their design spec, but it’s also possible to customize these effects.
+Visit the following resources to learn more:
+
- [Introduction to animations](https://docs.flutter.dev/development/ui/animations)
diff --git a/src/roadmaps/flutter/content/113-testing/100-unit-testing.md b/src/roadmaps/flutter/content/113-testing/100-unit-testing.md
index d47e3599a..206c08e1b 100644
--- a/src/roadmaps/flutter/content/113-testing/100-unit-testing.md
+++ b/src/roadmaps/flutter/content/113-testing/100-unit-testing.md
@@ -2,4 +2,6 @@
Unit tests are handy for verifying the behavior of a single function, method, or class.
+Visit the following resources to learn more:
+
- [An introduction to unit testing](https://docs.flutter.dev/cookbook/testing/unit/introduction)
diff --git a/src/roadmaps/flutter/content/113-testing/101-widget-testing.md b/src/roadmaps/flutter/content/113-testing/101-widget-testing.md
index 9cbbbabb6..9390d7ddd 100644
--- a/src/roadmaps/flutter/content/113-testing/101-widget-testing.md
+++ b/src/roadmaps/flutter/content/113-testing/101-widget-testing.md
@@ -2,4 +2,6 @@
Flutter provides necessary tools and libraries to test widget classes.
+Visit the following resources to learn more:
+
- [An introduction to widget testing](https://docs.flutter.dev/cookbook/testing/widget/introduction)
diff --git a/src/roadmaps/flutter/content/113-testing/102-integration-testing.md b/src/roadmaps/flutter/content/113-testing/102-integration-testing.md
index c8a14997a..3cc5798fc 100644
--- a/src/roadmaps/flutter/content/113-testing/102-integration-testing.md
+++ b/src/roadmaps/flutter/content/113-testing/102-integration-testing.md
@@ -2,4 +2,6 @@
Integration tests check how individual pieces work together as a whole, capture the performance of an application.
+Visit the following resources to learn more:
+
- [An introduction to integration testing](https://docs.flutter.dev/cookbook/testing/integration/introduction)
diff --git a/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md b/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md
index 24fdb47e8..3dee0ae31 100644
--- a/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md
+++ b/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md
@@ -2,4 +2,6 @@
The Flutter widget inspector is a powerful tool for visualizing and exploring Flutter widget trees.
+Visit the following resources to learn more:
+
- [Using the Flutter inspector](https://docs.flutter.dev/development/tools/devtools/inspector)
diff --git a/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md b/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md
index ca1cda498..3c9a12def 100644
--- a/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md
+++ b/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md
@@ -2,6 +2,8 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
+Visit the following resources to learn more:
+
- [The Internet Explained](https://www.vox.com/2014/6/16/18076282/the-internet)
- [How Does the Internet Work?](http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm)
- [How Does the Internet Work? MDN Docs](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/How_does_the_Internet_work)
diff --git a/src/roadmaps/frontend/content/100-internet/101-what-is-http.md b/src/roadmaps/frontend/content/100-internet/101-what-is-http.md
index 9f87ec624..8c35260b9 100644
--- a/src/roadmaps/frontend/content/100-internet/101-what-is-http.md
+++ b/src/roadmaps/frontend/content/100-internet/101-what-is-http.md
@@ -2,6 +2,8 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. HTTP follows a classical "Client-Server model" with a client opening a connection request, then waiting until it receives a response. HTTP is a stateless protocol, that means that the server does not keep any data (state) between two requests.
+Visit the following resources to learn more:
+
- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/)
- [How HTTPS Works ...in a comic!](https://howhttps.works)
- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
diff --git a/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md b/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md
index 930db7c04..9349ce75a 100644
--- a/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md
+++ b/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md
@@ -2,6 +2,8 @@
A web browser is a software application that enables a user to access and display web pages or other online content through its graphical user interface.
+Visit the following resources to learn more:
+
- [How Browsers Work](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/)
- [Role of Rendering Engine in Browsers](https://www.browserstack.com/guide/browser-rendering-engine)
- [Populating the Page: How Browsers Work](https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work)
diff --git a/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md b/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md
index bd1f5b2c3..c8f6ebe7b 100644
--- a/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md
+++ b/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md
@@ -2,6 +2,8 @@
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
+Visit the following resources to learn more:
+
- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
- [Mess with DNS - DNS Playground](https://messwithdns.net/)
- [How DNS works (comic)](https://howdns.works/)
diff --git a/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md b/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md
index b880d4778..4ac292b04 100644
--- a/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md
+++ b/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md
@@ -2,6 +2,8 @@
A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the Domain Name System (DNS).
+Visit the following resources to learn more:
+
- [What is a Domain Name?](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name)
- [What is a Domain Name? | Domain name vs. URL](https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name/)
- [A Beginners Guide to How Domain Names Work](https://www.youtube.com/watch?v=Y4cRx19nhJk)
diff --git a/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md b/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md
index a36020ba3..e3d2b32e1 100644
--- a/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md
+++ b/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md
@@ -2,6 +2,8 @@
Web hosting is an online service that allows you to publish your website files onto the internet. So, anyone who has access to the internet has access to your website.
+Visit the following resources to learn more:
+
- [What Is Web Hosting? Explained](https://www.youtube.com/watch?v=htbY9-yggB0)
- [Different Types of Web Hosting Explained](https://www.youtube.com/watch?v=AXVZYzw8geg)
- [Where to Host a Fullstack Project on a Budget](https://www.youtube.com/watch?v=Kx_1NYYJS7Q)
diff --git a/src/roadmaps/frontend/content/100-internet/index.md b/src/roadmaps/frontend/content/100-internet/index.md
index 93f7328f2..1e1f960c3 100644
--- a/src/roadmaps/frontend/content/100-internet/index.md
+++ b/src/roadmaps/frontend/content/100-internet/index.md
@@ -2,6 +2,8 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
+Visit the following resources to learn more:
+
- [The Internet Explained](https://www.vox.com/2014/6/16/18076282/the-internet)
- [How Does the Internet Work?](http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm)
- [Introduction to Internet](/guides/what-is-internet)
diff --git a/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md b/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md
index 5cc9482d7..20d7203ee 100644
--- a/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md
+++ b/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md
@@ -2,6 +2,8 @@
HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript.
+Visit the following resources to learn more:
+
- [W3Schools: Learn HTML](https://www.w3schools.com/html/html_intro.asp)
- [MDN Docs: Getting Started with HTML ](https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started)
- [HTML Full Course - Build a Website Tutorial](https://www.youtube.com/watch?v=pQN-pnXPaVg)
diff --git a/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md b/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md
index 78689bd19..afa7b3498 100644
--- a/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md
+++ b/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md
@@ -2,6 +2,8 @@
Semantic element clearly describes its meaning to both the browser and the developer. In HTML, semantic element are the type of elements that can be used to define different parts of a web page such as `