<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jaskirat Grewal</title>
    <description>The latest articles on DEV Community by Jaskirat Grewal (@thejscode).</description>
    <link>https://dev.to/thejscode</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F399552%2F230732af-6154-4dba-94df-5bc069ae4736.jpg</url>
      <title>DEV Community: Jaskirat Grewal</title>
      <link>https://dev.to/thejscode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thejscode"/>
    <language>en</language>
    <item>
      <title>There is a saying...</title>
      <dc:creator>Jaskirat Grewal</dc:creator>
      <pubDate>Sat, 13 Feb 2021 15:42:17 +0000</pubDate>
      <link>https://dev.to/thejscode/there-is-a-saying-1e2h</link>
      <guid>https://dev.to/thejscode/there-is-a-saying-1e2h</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;In learning you will teach, and in teaching you will learn.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's use this post to learn and to teach. We never know what new we will learn and whom we will inspire.&lt;/p&gt;

&lt;p&gt;Our Industry is highly based on the realm of community contribution (stackoverflow etc.)&lt;br&gt;
Let's do it here:)&lt;/p&gt;

&lt;p&gt;If you have any queries related to #javascript #react #nodejs #typescript #webdev, put it in the comments section. &lt;/p&gt;

&lt;p&gt;If you are reading the comment section and find something that you can help with, please do it.&lt;/p&gt;

&lt;p&gt;Thanks and Happy Learning!&lt;/p&gt;

</description>
      <category>node</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Any Questions About NestJS? Let's discuss them here:-)</title>
      <dc:creator>Jaskirat Grewal</dc:creator>
      <pubDate>Tue, 29 Sep 2020 14:06:30 +0000</pubDate>
      <link>https://dev.to/thejscode/any-questions-about-nestjs-let-s-discuss-them-here-3a08</link>
      <guid>https://dev.to/thejscode/any-questions-about-nestjs-let-s-discuss-them-here-3a08</guid>
      <description></description>
      <category>discuss</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Deploying NestJS Application: Easy and Explained</title>
      <dc:creator>Jaskirat Grewal</dc:creator>
      <pubDate>Wed, 16 Sep 2020 08:19:06 +0000</pubDate>
      <link>https://dev.to/thejscode/deploying-nestjs-application-easy-and-explained-11cm</link>
      <guid>https://dev.to/thejscode/deploying-nestjs-application-easy-and-explained-11cm</guid>
      <description>&lt;h3&gt;
  
  
  Nest: Quick Overview
&lt;/h3&gt;




&lt;blockquote&gt;
&lt;p&gt;The biggest rule of programming is--&lt;em&gt;DRY (Don't Repeat Yourself)&lt;/em&gt;. &lt;/p&gt;
&lt;/blockquote&gt;




&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If one wants to write a more efficient code whilst developing any kind of application, they must practice DRY and &lt;a href="https://medium.com/@mari_azevedo/s-o-l-i-d-principles-what-are-they-and-why-projects-should-use-them-50b85e4aa8b6" rel="noopener noreferrer"&gt;SOLID&lt;/a&gt; principles.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;These principles are the base of the famous &lt;em&gt;Model-View-Controller (MVC)&lt;/em&gt; design pattern. The Angular Framework for building Frontend is entirely based on this design pattern. It uses concepts of components and services to implement DRY and SOLID Principles. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Not only the increase in performance, understanding Angular code is quite easy due to this. &lt;br&gt;
&lt;/p&gt;




&lt;/li&gt;

&lt;li&gt;&lt;p&gt;There was no backend framework that makes the task easy in the same way as Angular does in frontend. That's where Nest originated.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Nest is a backend framework that is heavily inspired by Angular.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.morioh.com%2Fb7793ed298.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.morioh.com%2Fb7793ed298.png" alt="Angular and Nest"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;It uses the concepts of services, controllers, and modules to implement MVC pattern in a way similar to Angular.&lt;br&gt;
&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;I highly recommend using Nest when working on larger projects rather than using Express.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;/li&gt;

&lt;/ul&gt;



&lt;br&gt;
&lt;strong&gt;The focus of this article is on the deployment of Nest Applications, if you want me to post beginner or advanced level tutorials on learning Nest.js, comment below:-)&lt;/strong&gt;&lt;br&gt;

&lt;h3&gt;
  
  
  How to Deploy NestJS Application?: The Theory
&lt;/h3&gt;

&lt;p&gt;When we want to deploy Angular App, what we basically do is we compile the application to JavaScript and then host it on any static application hosting provider like GitHub, AWS S3, etc.&lt;/p&gt;

&lt;p&gt;We host Nest Application in a similar way. We compile the Nest Application to JavaScript and host it on Dynamic Application hosting providers like Heroku, A2Hosting, AWS EC2, AWS Elastic Beanstalk, etc.&lt;/p&gt;



&lt;h3&gt;
  
  
  How to Deploy NestJS Application?: The Platform Generic Steps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;First, open &lt;code&gt;.gitignore&lt;/code&gt; file and remove the following line to enable pushing the compiled javascript files to the remote repository so that we can download them on the server for hosting.&lt;/li&gt;
&lt;/ul&gt;

&lt;center&gt;Remove `/dist` from `.gitignore`&lt;/center&gt;

&lt;ul&gt;
&lt;li&gt;In &lt;code&gt;package.json&lt;/code&gt; make sure that it contains scripts defined as
```json
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;"build": "nest build",&lt;br&gt;
 "start": "nest start",&lt;br&gt;
"start:prod": "node dist/main",&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
* Some Hosting Providers use Procfile for running web applications, so create a file in the project folder named `Procfile` and add the following single line to it.
```procfile


web:npm run start:prod


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Delete the &lt;code&gt;dist&lt;/code&gt; folder and run &lt;code&gt;npm run start&lt;/code&gt; in command-line/terminal to create the latest version of compiled output files. (Deleting folder first is not necessary but it has proven helpful in some cases).&lt;/li&gt;
&lt;li&gt;Push your changes to GitHub Repository using these three basic commands:
```bash
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;git add . //Stage All Files including dist folder&lt;br&gt;
git commit -m "Commit Message"&lt;br&gt;
git push&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* Setup your cloud instance on any platform:
  * [AWS EC2 Instance](https://www.guru99.com/creating-amazon-ec2-instance.html)
  * [A2Hosting](https://www.a2hosting.in/kb/cpanel/cpanel-software/create-application-with-nodejs-selector)
* Clone the GitHub repository to the instance using the terminal.
* Target your server to launch `dist/main.js` if required to specify.

In this way, your NestJS app will be deployed. 
&amp;lt;hr&amp;gt;
&amp;gt; This process is attested and followed by developers of www.era-co.in

&amp;lt;hr&amp;gt;
Thanks for Reading!
*What should I post about next? Do tell me in the comments. Suggestions, improvements, and additions are invited.*

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>node</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>If you could design a Software Engineering Course, what will it look like?</title>
      <dc:creator>Jaskirat Grewal</dc:creator>
      <pubDate>Thu, 02 Jul 2020 19:53:20 +0000</pubDate>
      <link>https://dev.to/thejscode/if-you-could-design-a-software-engineering-course-what-will-it-look-like-27j6</link>
      <guid>https://dev.to/thejscode/if-you-could-design-a-software-engineering-course-what-will-it-look-like-27j6</guid>
      <description>&lt;h1&gt;How you doin!&lt;/h1&gt; I am a full-stack(MEVN) developer. I have built web apps as part of my personal development. My first project in NodeJS was a path-defining one. 

&lt;p&gt;I am graduating in CS with a specialization in Software Development which does not offers any course on what I actually want to learn.&lt;/p&gt;

&lt;p&gt;Being honest here, I have found many faults in the course design. I have learned more from my own projects, StackOverflow, this community, Documentations, etc. than I could ever learn from my college which I believe most of you peeps from this community will understand.&lt;/p&gt;

&lt;p&gt;The traditional system really needs redefining (coz it sucks! right?). &lt;/p&gt;

&lt;p&gt;From your journey as a software developer, how would you design a course that you think will help newcomers to our community in a really efficient way? &lt;/p&gt;

&lt;p&gt;Let's discuss our opinions in the comments section and make it a collective conscience for others to tap into.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>watercooler</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>JavaScript Promises for Beginners</title>
      <dc:creator>Jaskirat Grewal</dc:creator>
      <pubDate>Wed, 03 Jun 2020 17:35:34 +0000</pubDate>
      <link>https://dev.to/thejscode/javascript-promises-for-beginners-31aj</link>
      <guid>https://dev.to/thejscode/javascript-promises-for-beginners-31aj</guid>
      <description>&lt;p&gt;To get the most out of this article, please make sure that you know basics about Synchronous and Asynchronous Programming and, if possible, about javascript callbacks.&lt;br&gt;
However, I will try to keep most of the stuff away from these topics so that you can understand atleast 85% of it.&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding Promises
&lt;/h3&gt;

&lt;p&gt; Suppose a friend comes to you for financial help and you promise him to give some cash after taking it out from an ATM. &lt;br&gt;
--You go to the ATM, swipe your card, and find out that your account has been frozen due to some reasons and you can't take out your money.&lt;br&gt;
-- Then, you go back to your friend and tell him that you can't give him money because your account is frozen. Hence, breaking your promise.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;//You have made promise to your friend and you leave for bank&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;everythingGoesWell&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;theMoney&lt;/span&gt; &lt;span class="c1"&gt;//Promise is fulfilled&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Account_Frozen&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;//Promise failed&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;br&gt;
Promises are used in JavaScript to handle async operations. They are special objects that link the actual output (in above example, it's required money) and the reason due to which we may not get the output (Account Frozen). &lt;br&gt;

&lt;h3&gt;
  
  
  States of a Promise
&lt;/h3&gt;

&lt;p&gt;A JavaScript promise is either settled or pending. We can use the Promise constructor to create a promise.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;thePromise&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;executor&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The executor function is callback of the promise constructor. It takes two callbacks: &lt;code&gt;resolve&lt;/code&gt; and &lt;code&gt;reject&lt;/code&gt;, as arguments. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;code&gt;resolve&lt;/code&gt; callback is used when the promise is actually fulfilled. It takes the output value as its argument.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;reject&lt;/code&gt; callback is used when the promise couldn't be fulfilled. It takes the reason as its argument.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;When we create a promise it initializes in its &lt;code&gt;pending&lt;/code&gt; state. Once the executor runs, the state changes to &lt;code&gt;settled&lt;/code&gt; which can be either &lt;code&gt;resolved&lt;/code&gt; or &lt;code&gt;rejected&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Implementation: Code Snippet
&lt;/h3&gt;

&lt;p&gt;Let's create a promise for our problem here:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;thePromise&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="c1"&gt;// Try to take out money from atm&lt;/span&gt;
&lt;span class="nf"&gt;withdraw&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;money&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;// If withdrawal failed, tell why&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;reject &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// else return the money&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nf"&gt;resolve &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;money&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;br&gt;
&lt;em&gt;Promises can be bit of hectic stuff if you don't have experience with callbacks and callback hells. But once you grasp this concept, there is no going back !&lt;/em&gt;&lt;br&gt;

&lt;h3&gt;
  
  
  The &lt;code&gt;then&lt;/code&gt; and &lt;code&gt;catch&lt;/code&gt; clauses
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;catch&lt;/code&gt; function is attached to promise which executes when the promise is rejected. It takes the error sent through &lt;code&gt;reject&lt;/code&gt; method as an argument. &lt;/li&gt;
&lt;li&gt;The &lt;code&gt;then&lt;/code&gt; function is attached to promise which executes when the promise is resolved. It sends the value sent through &lt;code&gt;resolve&lt;/code&gt; method as an argument.&lt;/li&gt;
&lt;li&gt;There is a &lt;code&gt;finally&lt;/code&gt; clause too. It is executed no matter the promise resolves or rejects. It takes no arguments.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;thePromise&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="c1"&gt;// Try to take out money from atm&lt;/span&gt;
&lt;span class="nf"&gt;withdraw&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;money&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;// If withdrawal failed, tell why&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;reject &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// else return the money&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nf"&gt;resolve &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;money&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="nx"&gt;thePromise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;money&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;// This function is executed when the above promise resolves and returns an //amount of money&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="nx"&gt;thePromise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;// This function is executed when the above promise rejects due to an error&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="nx"&gt;thePromise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;finally&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;// This function is executed after the promise is resolved or rejected.&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;br&gt;
Thank You! Feedback, suggestions and corrections are highly appreciated. Please write in comments %-)&lt;br&gt;

&lt;br&gt;
&lt;em&gt;Beginners in #webdev can go through my article here to have a look at how to build the base for web-development.&lt;/em&gt; &lt;div class="ltag__link"&gt;
  &lt;a href="/thejscode" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F399552%2F230732af-6154-4dba-94df-5bc069ae4736.jpg" alt="thejscode"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/thejscode/web-development-roadmap-the-base-builder-337b" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Web Development Roadmap-'The Base-Builder'.&lt;/h2&gt;
      &lt;h3&gt;Jaskirat Grewal ・ Jun 1 '20&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#node&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Web Development Roadmap-'The Base-Builder'.</title>
      <dc:creator>Jaskirat Grewal</dc:creator>
      <pubDate>Mon, 01 Jun 2020 15:35:45 +0000</pubDate>
      <link>https://dev.to/thejscode/web-development-roadmap-the-base-builder-337b</link>
      <guid>https://dev.to/thejscode/web-development-roadmap-the-base-builder-337b</guid>
      <description>&lt;p&gt;&lt;b&gt;&lt;br&gt;
Web development is a rapidly growing field in software development. Every beginner would love to put his hands on this fragment.&lt;br&gt;
 &lt;/b&gt;&lt;br&gt;
If you are currently looking for grasping the concepts and knowledge of this technology for your college or personal project, the following roadmap can help you.&lt;/p&gt;

&lt;h4&gt;
Before moving forward, let's look at a website from very high level.
&lt;/h4&gt;

&lt;p&gt;Websites are not all about entering URL and viewing web pages. To create the full stack of website, you need to know how things actually work. I will not enter into very much technality, but to understand how things work let's look into this picture. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feprqmov1naft29ox6io6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feprqmov1naft29ox6io6.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
(Img Src: Self Taught Coders)&lt;br&gt;
When you enter URL in your browser(&lt;code&gt;client&lt;/code&gt;), it sends a request to the &lt;code&gt;server&lt;/code&gt; which then gathers the required data (from &lt;code&gt;database&lt;/code&gt;) and sends it as response. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Hence every web application has (atleast) these three parts:&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The part which is visible on Client Side (or what we call as &lt;strong&gt;FRONTEND&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;Server Side (&lt;strong&gt;BACKEND&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;Database.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Note: This roadmap does not involves very advanced frameworks. It is made for having a good exposure to build the base of a newbie. That's why I have named this roadmap- "The Base-Builder" &lt;br&gt;
&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
Roadmap: Part-1 -&amp;gt; The Front-End
&lt;/h4&gt;

&lt;p&gt;A webpage is built considering three points which are provided by three different technologies:&lt;br&gt;
&lt;b&gt;1. HTML:&lt;/b&gt; The most crucial basic building block of a website. It defines the content and structure of the webpage.&lt;br&gt;
&lt;b&gt;2. CSS:&lt;/b&gt; The design of the webpage. It tells how the website will look to the viewer. Everything related to design like background, fonts, colors etc. are covered by CSS.&lt;br&gt;
&lt;b&gt;3. JavaScript:&lt;/b&gt; The behavior of the webpage. Here you define how website responds with user interaction. For example displaying of popup when hovering over some text etc.&lt;/p&gt;

&lt;h4&gt;
Roadmap: Part-2 -&amp;gt; The Back-End
&lt;/h4&gt;

&lt;p&gt;There are many technologies and frameworks through which you can create the server side of a web-application. I am listing most preferred ones below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Node.js (&lt;code&gt;JavaScript&lt;/code&gt;) or Deno (&lt;code&gt;TypeScript&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PHP&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Python&lt;/code&gt; (Django Framework).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Java&lt;/code&gt; (Spring Framework).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Ruby&lt;/code&gt; on &lt;code&gt;Rails&lt;/code&gt; Framework.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can choose any of the above frameworks according to your comfort. &lt;/p&gt;

&lt;p&gt;I have worked on projects using all the above frameworks and I prefer working with Node.js as it is comparatively &lt;strong&gt;light-weight, fast, easy to maintain&lt;/strong&gt; and, most importantly, it's &lt;code&gt;JavaScript&lt;/code&gt;. So no need for working on learning different languages for beginners.&lt;/p&gt;

&lt;h4&gt;
Roadmap: Part-3 -&amp;gt; Databases
&lt;/h4&gt;

&lt;p&gt;At the heart of an application, what really takes place is exchange of data.&lt;br&gt;
We know that all the databases store data but the main factor that we should consider while choosing a database for an application is fast retrieval and storage. &lt;br&gt;
There are databases that either store data in form of tables (relational databases) or not (non-relational databases). &lt;br&gt;
For beginners, I would recommend the most popular database in the world i.e. &lt;code&gt;MySQL&lt;/code&gt; database. The language syntax and logic is easy to grasp and is very effecient for data handling.&lt;/p&gt;

&lt;h5&gt;
  
  
  Integrating Database to Server
&lt;/h5&gt;

&lt;p&gt;To integrate database with server, there are many drivers available. To connect a &lt;code&gt;Node.js&lt;/code&gt; server to &lt;code&gt;MySQL&lt;/code&gt;, we can use the &lt;code&gt;node-mysql&lt;/code&gt; package. Similarly to connect &lt;code&gt;Spring Boot&lt;/code&gt; to &lt;code&gt;MySQL&lt;/code&gt; we can use &lt;code&gt;JDBC&lt;/code&gt; driver or &lt;code&gt;JPA&lt;/code&gt;. The drivers differ with every technology stack so choose one according to yours and use it to connect server to the database.&lt;/p&gt;

&lt;h3&gt;
  
  
  "Once I am done with above listed, how can I enhance my skills and technology stack?"
&lt;/h3&gt;

&lt;p&gt;The roadmap above is for very basic full-stack development of a website. Nowadays web development has grown quite complex. There are many libraries, frameworks and technologies used across the world for web development. There is another roadmap; that I call the "STEP-UP" roadmap which will be posted soon :-).&lt;br&gt;
**&lt;br&gt;
&lt;em&gt;This is my first blog post so I will really appreciate your views, corrections and suggestions. &lt;br&gt;
Thank You.&lt;/em&gt;&lt;br&gt;
 **&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>node</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
