<?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: Unnati Bamania</title>
    <description>The latest articles on DEV Community by Unnati Bamania (@commentme).</description>
    <link>https://dev.to/commentme</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%2F429862%2F46d4537e-4efc-4333-b743-d0f67136bb57.png</url>
      <title>DEV Community: Unnati Bamania</title>
      <link>https://dev.to/commentme</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/commentme"/>
    <language>en</language>
    <item>
      <title>I build a Github Dark Theme inspired Portfolio</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Sun, 05 Sep 2021 07:37:08 +0000</pubDate>
      <link>https://dev.to/commentme/i-build-a-github-dark-theme-inspired-portfolio-5gmo</link>
      <guid>https://dev.to/commentme/i-build-a-github-dark-theme-inspired-portfolio-5gmo</guid>
      <description>&lt;p&gt;I always wanted to build a unique portfolio for myself and was inspired by a lot of portfolios. Right since my first year of engineering I've build more than 6 portfolios but nothing was ever eye catchy and satisfying. Finally I came across some unique and eye catchy portfolios. I stumbled upon the idea of building one by using the Github Dark Theme.&lt;/p&gt;

&lt;p&gt;One of them is &lt;a href="https://www.nitinranganath.me/" rel="noopener noreferrer"&gt;Nitin's VS Code theme&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The tech stack that I've used is:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;NextJS&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tools used:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Notion&lt;br&gt;
I've integrated Notion for storing the data of the contact form.&lt;br&gt;
If you want to integrate Notion to your contact forms please do refer to this article&lt;br&gt;
&lt;a href="https://blog.logrocket.com/creating-contact-forms-with-the-notion-api-and-next-js/" rel="noopener noreferrer"&gt;Integrate Notion in your contact form&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;react-github-calendar&lt;br&gt;
You can show your github heat map using the above library.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Github Dark Theme Portfolio
&lt;/h2&gt;

&lt;p&gt;If you want to visit the live website you can visit to the following link:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unnatibamania.me" rel="noopener noreferrer"&gt;https://unnatibamania.me&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The source code for this project is as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/unnati2000/portfolio" rel="noopener noreferrer"&gt;unnati2000/portfolio&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fuploads%2Farticles%2Faruamdaukq6anjofigfp.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faruamdaukq6anjofigfp.png" alt="Cover Page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fuploads%2Farticles%2Fch34e884sugdh0wak8ax.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fch34e884sugdh0wak8ax.png" alt="Repositories"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fuploads%2Farticles%2Fp10ycqpzw737ue5hmmdo.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp10ycqpzw737ue5hmmdo.png" alt="Projects"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I would love to listen from you
&lt;/h2&gt;

&lt;p&gt;If you have any suggestions or critics please do share your thoughts. I would love to make improvisations in this project. If you feel there was a need to add some more features please do share your thoughts in the comment section below. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>nextjs</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>Advanced functionality with functions in JavaScript</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Tue, 01 Jun 2021 13:29:07 +0000</pubDate>
      <link>https://dev.to/commentme/advanced-functionality-with-functions-in-javascript-2a44</link>
      <guid>https://dev.to/commentme/advanced-functionality-with-functions-in-javascript-2a44</guid>
      <description>&lt;p&gt;Right since 2015, EcmaScript6 has brought many advancements in JavaScript coding practices. A lot of modern stuff is included in JavaScript, which enhances the coding experience and makes writing code easier. Some of the features include spread operator, maps, sets, generators, and a lot more. Let’s explore these features in greater detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Spread operator
&lt;/h2&gt;

&lt;p&gt;Spread operators is a new function in JavaScript ES6 version. The spread operator allows an iterable to expand in places where zero or more arguments are expected. It is represented using the &lt;code&gt;...&lt;/code&gt; syntax. It makes shallow copies of objects in JavaScript. You can use the spread operator to concatenate two or more arrays, expand them, calculate the sum of all elements or copy an array. &lt;/p&gt;

&lt;p&gt;Consider the following piece of code,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [1, 2, 3, 4];

function x(){
  console.log(arr);
}
x.apply(null, arr);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, you need to use the &lt;code&gt;apply&lt;/code&gt;  function to print it in the same way. Using the spread operator, the same functionality can be achieved with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function x(){
  console.log(...arr);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Closures
&lt;/h2&gt;

&lt;p&gt;The closure is a function bind with its lexical environment. In simpler terms, a closure is a function inside a function that returns some value.&lt;br&gt;
Consider this simple example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function outerFunc(){
  let val = 2;
  function innerFunc(){
    console.log(val);
  }
  innerFunc();
}  
outerFunc();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The function &lt;code&gt;outerFunc&lt;/code&gt; creates a local variable called &lt;code&gt;val&lt;/code&gt; and there's a function named &lt;code&gt;innerFunc&lt;/code&gt; inside &lt;code&gt;outerFunc&lt;/code&gt;. Since inner functions have access to the outer functions, the &lt;code&gt;innerFunc&lt;/code&gt; has access to the variables of  &lt;code&gt;outerFunc&lt;/code&gt; as well.&lt;/p&gt;

&lt;p&gt;So, when you try to print the value of variable &lt;code&gt;val&lt;/code&gt;, it will give you output as 2. &lt;/p&gt;

&lt;h2&gt;
  
  
  Iterators and generators
&lt;/h2&gt;

&lt;p&gt;Iterators and generators are two different concepts but they're used in similar ways. They're used to iterate through arrays and objects in JavaScript. &lt;br&gt;
&lt;strong&gt;Iterators&lt;/strong&gt; are like advanced loops that can be paused and &lt;strong&gt;Generators&lt;/strong&gt; are functions that can be paused and can return multiple values.&lt;/p&gt;
&lt;h3&gt;
  
  
  Iterators
&lt;/h3&gt;

&lt;p&gt;Here is an example of an iterator&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function fruitIter(fruits){
  let index = 0;
  return {
    next: function(){
      return index &amp;lt; fruits.length ? { value: fruits[index++], done: false } : {done: true}
    }
  }
}

const fruitsArray = ["Mango", "Banana", "Grapes"];

const fruits = fruitIter(fruitsArray);
console.log(fruits.next().value); // output: Mango
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When the array &lt;code&gt;fruitsArray&lt;/code&gt; is passed in &lt;code&gt;fruitIter&lt;/code&gt; function, the index is initialized to 0, then it goes into the next function and checks whether the index is greater than &lt;code&gt;fruitArray&lt;/code&gt;’s length and returns an object while incrementing the value of the index. &lt;/p&gt;

&lt;p&gt;This is how iterators work. If we call the function using &lt;code&gt;fruit&lt;/code&gt; iterator again, it will print its value (Banana). If you're done iterating through &lt;code&gt;fruitsArray&lt;/code&gt;, the status &lt;code&gt;done&lt;/code&gt; will change to false and the value will be undefined. &lt;/p&gt;

&lt;h4&gt;
  
  
  Generators
&lt;/h4&gt;

&lt;p&gt;Generators are similar to Iterators but they return multiple values. These values are called yield values. Generator functions are written using the &lt;code&gt;function*&lt;/code&gt; syntax. &lt;code&gt;*&lt;/code&gt; denotes that it is not a normal function but a generator.&lt;br&gt;
Here is an example of generators:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function* printFruits(){

  yield "Mango";
  yield "Banana";
  yield: "Grapes";
}

 const fruit = printFruits();
 console.log(fruit.next()); // Output: { value: "Fruit", done: false }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, yield is the iterator, and when you call the function sayFruit and print fruit.next(), it gives you an object where you get the value and the &lt;code&gt;done&lt;/code&gt; status which denotes whether all values are iterated through or not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Maps
&lt;/h2&gt;

&lt;p&gt;A map is an object that holds key-value pairs. Any object reference type or a primitive can be used as a key or value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can you create maps?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const mp1 = new Map();
const key1 = "String",
      key2 = {},
      key3 = function(){}

 // setting map values by key
 mp1.set(key1, "Key 1");
 mp1.set(key2, "Key 2");
 mp1.set(key3, "Key 3");

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

&lt;/div&gt;



&lt;p&gt;You can create a map using the &lt;code&gt;new Map()&lt;/code&gt; syntax. The key can be of any type: String, Number, function, or object. We use the &lt;code&gt;set&lt;/code&gt; keyword to store key-value pairs into the map.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other functionality with maps&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Get values by keys
console.log(mp1.get(key1);  // Key1

// Get size
console.log(mp1.size) // 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Iterating through maps&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// using for loop
for(let [key, value]of mp1){
    console.log(`${key} -&amp;gt; ${value}`);

 // iterating through keys
 for(let key in mp1.keys()){
    console.log(key);
 }
}

 // iterating through values
 for(let value in mp1.values()){
    console.log(value);
 }
}

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Sets
&lt;/h2&gt;

&lt;p&gt;A set is an array that holds unique values in it. You can add anything inside a set: an object, number, boolean, etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const s = new Set();

// add values
s.add(2);
s.add(true);
s.add("String");
s.add({name: "sheep"});

// get count
console.log(s.size);

// delete an item
s.delete(2);

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Check for value in set&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(s.has(2)); // true
console.log(s.has(100)); //false
console.log(s.has({name: "sheep"})); // false

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

&lt;/div&gt;



&lt;p&gt;In the above code, if you check whether object &lt;code&gt;{name: "sheep"}&lt;/code&gt; exists in the list, then it will return false even though it does exist in the set. This is because object type is nonprimitive in JavaScript. Although both these objects are the same, they point to different memory locations. Hence, that statement returns a false value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Iterating through sets&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for(let x in s){
  console.log(x);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Best VS code extensions used for web development</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Sun, 02 May 2021 10:46:24 +0000</pubDate>
      <link>https://dev.to/commentme/best-vs-code-extensions-used-for-web-development-426</link>
      <guid>https://dev.to/commentme/best-vs-code-extensions-used-for-web-development-426</guid>
      <description>&lt;p&gt;VS Code is one of the best and lightweight code editors. The dark theme and variety of extensions that very developer-friendly. This article mentions best vs code extensions which can help developers to coder faster and cleaner. &lt;/p&gt;

&lt;h2&gt;
  
  
  Thunder Client
&lt;/h2&gt;

&lt;p&gt;Say bye to Postman once you've installed this extension. This extension helps to make API calls on VS code. All you've to do is go to the extension section and install the &lt;em&gt;thunder client&lt;/em&gt; extension. You'll find a small electrifying icon on the left-hand side. Click on it and you're good to go. &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%2Fuploads%2Farticles%2Fhjnsr7shpj3kz4rlzjem.gif" 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%2Fuploads%2Farticles%2Fhjnsr7shpj3kz4rlzjem.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fuploads%2Farticles%2F9fc7vgl4h5pu3csz3xlz.gif" 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%2Fuploads%2Farticles%2F9fc7vgl4h5pu3csz3xlz.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Markdown All in One
&lt;/h2&gt;

&lt;p&gt;It would be nice if your complete markdown, which includes auto-preview, shortcuts, autocomplete, were managed by a single extension. With this extension, you can have a live preview of your markdown, and using shortcuts like &lt;em&gt;ctrl+b&lt;/em&gt; and &lt;em&gt;ctrl+i&lt;/em&gt; makes preparing markdowns less excruciating. &lt;br&gt;
&lt;strong&gt;For live preview use command ctrl + shift + k + v.&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4xirx2pr79egt2b2kc3a.gif" 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%2Fuploads%2Farticles%2F4xirx2pr79egt2b2kc3a.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prettier
&lt;/h2&gt;

&lt;p&gt;Developers are most often troubled by the commas and colons or by adjusting the code properly. Prettier code extension manages the code format and aligns it properly so that the code looks &lt;strong&gt;pretty&lt;/strong&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3fobn338n24c2mv1mrmu.gif" 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%2Fuploads%2Farticles%2F3fobn338n24c2mv1mrmu.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  CSS Peek
&lt;/h2&gt;

&lt;p&gt;CSS Peek extension is a handy extension to check for CSS code while typing HTML tags. When you hover over the class name and hit control then you get the CSS code of that class. On clicking on the class it will take you the code on the CSS page. &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%2Fuploads%2Farticles%2Fi9ppec1i7aidv4ocpztm.gif" 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%2Fuploads%2Farticles%2Fi9ppec1i7aidv4ocpztm.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Live Server
&lt;/h2&gt;

&lt;p&gt;This server helps to reload the page after saving the code. While previewing the saved code you need not refresh the page manually. It reloads the page and shows to output for recently saved code.&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%2Fuploads%2Farticles%2Fedw855oqj987rplod6fu.gif" 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%2Fuploads%2Farticles%2Fedw855oqj987rplod6fu.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Emmet
&lt;/h2&gt;

&lt;p&gt;Most of the time it's boring to write the complete HTML tag with head and title and other tags within the head tag. Emmet extension gives the initial code for HTML pages. When you type&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;!+tab&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 You get the initial code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Auto Rename Tag
&lt;/h2&gt;

&lt;p&gt;This is a very powerful and useful extension for web developers. It auto-completes the ending tag same as the starting one and vice versa. This extension is also useful for React applications.&lt;/p&gt;

&lt;p&gt;There are a lot of other VS code extensions which are very handy if you know any please do mention them down in the comment section.&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>watercooler</category>
      <category>webdev</category>
      <category>codequality</category>
    </item>
    <item>
      <title>Some libraries you can use with Vanilla JS</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Sun, 18 Apr 2021 11:55:49 +0000</pubDate>
      <link>https://dev.to/commentme/some-vanilla-js-libraries-you-must-try-17a3</link>
      <guid>https://dev.to/commentme/some-vanilla-js-libraries-you-must-try-17a3</guid>
      <description>&lt;p&gt;Never underestimate the power of simplicity. It's hard to imagine the application of concepts like push real-time notifications, using databases, having a rich text editor with Vanilla JS. But you can do a lot with it. Here are some examples of their libraries that make Vanilla JS somewhat impeccable. I will try to embellish each library with its features and other attributes concerning its documentation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pushjs
&lt;/h3&gt;

&lt;p&gt;I've been breaking my head all around to find the best tutorials for implementing the push notification feature. But &lt;a href="https://pushjs.org/" rel="noopener noreferrer"&gt;Pushjs&lt;/a&gt; made my work painless. The documentation is easy and beginner-friendly.&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%2Fuploads%2Farticles%2Foaxqwlt1rtbebi1pru6o.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foaxqwlt1rtbebi1pru6o.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All the effort that you need to take is to create an HTML file in a folder. &lt;br&gt;
The next step is followed by the installation part. Either install it using the npm package manager or using &lt;a href="https://github.com/Nickersoft/push.js" rel="noopener noreferrer"&gt;Github&lt;/a&gt; download the zip file. After downloading, unzip the folder and copy-paste &lt;em&gt;push.min.js&lt;/em&gt; and &lt;em&gt;serviceWorker.min.js&lt;/em&gt; into your project directory.&lt;/p&gt;
&lt;h4&gt;
  
  
  Code for index.html
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;body&amp;gt;

    &amp;lt;script src="push.min.js"&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script src="serviceWorker.min.js"&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script&amp;gt;
        function start() {
            Push.create("Hello from Unnati!", {
                body: "Here's your push notification demo",
                icon: 'https://gw.alipayobjects.com/zos/antfincdn/4zAaozCvUH/unexpand.svg',
                timeout: 4000,
                onClick: function () {
                    window.focus();
                    this.close();
                }
            });
        }
    &amp;lt;/script&amp;gt;
    &amp;lt;h1&amp;gt;Push notification implementation&amp;lt;/h1&amp;gt;
    &amp;lt;h3&amp;gt;Click on this button to view notification&amp;lt;/h3&amp;gt;

    &amp;lt;a href="javascript:void(0)" onclick="start()"&amp;gt;Start&amp;lt;/a&amp;gt;

&amp;lt;/body&amp;gt;

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

&lt;/div&gt;


&lt;p&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%2Fuploads%2Farticles%2Fx3ejkpwqf1ey18w52b6v.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3ejkpwqf1ey18w52b6v.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  EditorJS
&lt;/h3&gt;

&lt;p&gt;Next, the amazing library on the list is &lt;a href="https://editorjs.io/" rel="noopener noreferrer"&gt;Editor Js&lt;/a&gt;. We need text editors in our project quite often, hence EditorJs is one of the simple and captivating libraries. You can use it with Vanilla Js, ReactJs, and other frameworks. Making your text bold or italics or adding a heading, has it all. Just quickly run through the documentation and you'll get a clear gist of this library. Let's come to the coding part. Again, you can either install it using the npm package manager or use its cdn.&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%2Fuploads%2Farticles%2Fwl4ahfafztmo5cm02ogh.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwl4ahfafztmo5cm02ogh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  index.html
&lt;/h5&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Enter your content here&amp;lt;/h1&amp;gt;

    &amp;lt;div id="editorjs"&amp;gt;&amp;lt;/div&amp;gt;

    &amp;lt;button id='button'&amp;gt;Save article&amp;lt;/button&amp;gt;
    &amp;lt;script src="https://cdn.jsdelivr.net/npm/@editorjs/editorjs@latest"&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script src="index.js"&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;/body&amp;gt;

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

&lt;/div&gt;

&lt;h4&gt;
  
  
  index.js
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;try {

  var editor = new EditorJS({
    holderId : 'editorjs',
    placeholder: 'Let`s write an awesome story!',
    autofocus: true,

  });

  editor.isReady
    .then(() =&amp;gt; {
      console.log("Editor.js is ready to work!");
    })
    .catch((reason) =&amp;gt; {
      console.log(`Editor.js initialization failed because of ${reason}`);
    });

  const btn = document.getElementById("button");

  btn.addEventListener("click", function () {
    editor.save().then((outputData) =&amp;gt; {
        console.log('Article data: ', outputData)
      }).catch((error) =&amp;gt; {
        console.log('Saving failed: ', error)
      });


  });
} catch (reason) {
  console.log(`Editor.js initialization failed because of ${reason}`);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;After installing if your try to import editorjs it will give an error, you need to make some configurations for import to work. Hence, you use the above code for reference.&lt;br&gt;
It can also help you to save your write-up material. &lt;br&gt;
You get a lot of options for configuring your editor like adding headers, lists, embed.&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%2Fuploads%2Farticles%2Fc15fxvvh0eusrk3b90uf.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc15fxvvh0eusrk3b90uf.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Header from '@editorjs/header';
import List from '@editorjs/list';
import MyParagraph from 'my-paragraph.js';
const editor = new EditorJS({

  tools: {
    header: Header,
    list: List,
    myOwnParagraph: MyParagraph
  },
  defaultBlock: "myOwnParagraph"
})

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Howler.js
&lt;/h3&gt;

&lt;p&gt;You must've used audio and video tags in your projects. &lt;a href="https://howlerjs.com/" rel="noopener noreferrer"&gt;Howlerjs&lt;/a&gt;, is here to enhance your experience. The &lt;a href="https://github.com/goldfire/howler.js#documentation" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;  explains the code well. Here's the reference piece of code which gives you a basic idea of HowlerJS&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%2Fuploads%2Farticles%2Fp6ddip7hzp2n4yo1mmc1.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6ddip7hzp2n4yo1mmc1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
    var sound = new Howl({
      src: ['sound.webm', 'sound.mp3']
    });
&amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;p&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%2Fuploads%2Farticles%2Fbi7cqt6lj7d75jslv1ya.gif" 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%2Fuploads%2Farticles%2Fbi7cqt6lj7d75jslv1ya.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Reveal.js
&lt;/h3&gt;

&lt;p&gt;Ever wondered one day you'll be able to create presentation slides using Javascript. &lt;a href="https://revealjs.com/" rel="noopener noreferrer"&gt;Reveal.js&lt;/a&gt;, made it possible. This is an amazing library that I would like to add to the list. You can install it using npm package manager or navigate to &lt;a href="https://github.com/hakimel/reveal.js" rel="noopener noreferrer"&gt;Github&lt;/a&gt; and download zip and include the files in your project folder. Create an HTML file and fetch all the CSS and javascript files. &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%2Fuploads%2Farticles%2Fe8o9fdm8m7tfiw0cyhcw.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe8o9fdm8m7tfiw0cyhcw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;link rel="stylesheet" href="dist/reset.css"&amp;gt;
&amp;lt;link rel="stylesheet" href="dist/reveal.css"&amp;gt;
&amp;lt;link rel="stylesheet" href="dist/theme/black.css" id="theme"&amp;gt;
&amp;lt;link rel="stylesheet" href="plugin/highlight/monokai.css" id="highlight-theme"&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Javascript files&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script src="dist/reveal.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src="plugin/notes/notes.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src="plugin/markdown/markdown.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src="plugin/highlight/highlight.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
     Reveal.initialize({
    hash: true,
        plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
   });
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  For the slides part.
&lt;/h4&gt;

&lt;p&gt;In &lt;em&gt;index.html&lt;/em&gt; inside body tag create a div with id name reveal and nest another div with id name slides. Inside the nested keep adding the section div depending upon the slide requirement.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="reveal"&amp;gt;
  &amp;lt;div class="slides"&amp;gt;
   &amp;lt;section&amp;gt;
    &amp;lt;h1&amp;gt;Slide 1&amp;lt;/h1&amp;gt;
    &amp;lt;h3&amp;gt;This is an amazing library&amp;lt;/h3&amp;gt;
   &amp;lt;/section&amp;gt;
  &amp;lt;section&amp;gt;
   &amp;lt;h1&amp;gt;Slide 2&amp;lt;/h1&amp;gt;
   &amp;lt;h3&amp;gt;You can just play around with a lot of stuff&amp;lt;/h3&amp;gt;
  &amp;lt;/section&amp;gt;
  &amp;lt;section&amp;gt;
   &amp;lt;h1&amp;gt;Slide 3&amp;lt;/h1&amp;gt;
   &amp;lt;h3&amp;gt;That's it for the slide Show&amp;lt;/h3&amp;gt;
   &amp;lt;/section&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&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%2Fuploads%2Farticles%2Fiyi28fd9ksc8rgyh2rct.gif" 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%2Fuploads%2Farticles%2Fiyi28fd9ksc8rgyh2rct.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ChartJS
&lt;/h3&gt;

&lt;p&gt;Presentations and displaying graphical charts go hand in hand. Javascript has a stunning library &lt;a href="https://www.chartjs.org/" rel="noopener noreferrer"&gt;Chartjs&lt;/a&gt; where we can represent data using these charts. It includes bar graphs, pie diagrams, dot diagrams, and a lot more.&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%2Fuploads%2Farticles%2Fypwg7rkhw264n7gqknk9.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fypwg7rkhw264n7gqknk9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here's the sample code for the pie chart&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; var ctx = document.getElementById('myChart').getContext('2d');
        var myChart = new Chart(ctx, {
            type: 'pie',
            data: {
                labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
                datasets: [{
                    label: '# of Votes',
                    data: [12, 19, 3, 5, 2, 3],
                    backgroundColor: [
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',
                        'rgba(255, 206, 86, 0.2)',
                        'rgba(75, 192, 192, 0.2)',
                        'rgba(153, 102, 255, 0.2)',
                        'rgba(255, 159, 64, 0.2)'
                    ],
                    borderColor: [
                        'rgba(255, 99, 132, 1)',
                        'rgba(54, 162, 235, 1)',
                        'rgba(255, 206, 86, 1)',
                        'rgba(75, 192, 192, 1)',
                        'rgba(153, 102, 255, 1)',
                        'rgba(255, 159, 64, 1)'
                    ],
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });

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

&lt;/div&gt;



&lt;p&gt;There are a lot of other popular and useful libraries which can be used with Vanilla Js. That's it for this post. If you know more stunning libraries like these please do mention them in the comment section below.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>html</category>
    </item>
    <item>
      <title>Read data from Gmail using Node JS</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Sun, 11 Apr 2021 10:41:35 +0000</pubDate>
      <link>https://dev.to/commentme/read-data-from-gmail-using-node-js-1nke</link>
      <guid>https://dev.to/commentme/read-data-from-gmail-using-node-js-1nke</guid>
      <description>&lt;p&gt;I've struggled a lot with this topic. Finally, after a lot of searches and referring documentation, I'm finally writing this article. I hope it helps everyone. In this article, the code will be written in NodeJS. This app will include 2 parts, the first is creating and setting up a project on google console and the next is the coding part.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Creating a project on Google Console
&lt;/h2&gt;

&lt;p&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%2Fuploads%2Farticles%2F7fpkslwr3fn40ibyyxyh.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fpkslwr3fn40ibyyxyh.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Open &lt;a href="https://console.developers.google.com/" rel="noopener noreferrer"&gt;https://console.developers.google.com/&lt;/a&gt; website and you need to create a project. On the top left corner, there will be a list of your previous projects or option &lt;strong&gt;select a project&lt;/strong&gt;. &lt;br&gt;
A modal will pop up. Select on the option &lt;strong&gt;NEW PROJECT&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;select -&amp;gt; NEW PROJECT&lt;/strong&gt;
Enter a project name and create the project
&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%2Farticles%2Fya8ehrvc4yuosfschls0.png" alt="Alt Text" width="800" height="450"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  2) Enable Gmail API
&lt;/h2&gt;

&lt;p&gt;Ensure that you've selected that project, then in the search box search Gmail API. Enable Gmail API.&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%2Fuploads%2Farticles%2Ftpgvh8lqfeu0eldgcqve.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftpgvh8lqfeu0eldgcqve.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  3) Configure Project
&lt;/h2&gt;

&lt;p&gt;You need credentials but before creating credentials you need to configure credentials. On the left-hand side, you'll find OAuth consent Screen. Click on it. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User Type -&amp;gt; External&lt;/strong&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%2Farticles%2Fp75cbdhv49hexby5pldd.png" alt="Alt Text" width="800" height="450"&gt;
&lt;/li&gt;
&lt;li&gt;Enter app information ie, app name, supporting email, developer contact information.
&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%2Farticles%2Foyqauv7o3enn7mggn9b2.png" alt="Alt Text" width="800" height="450"&gt;
&lt;/li&gt;
&lt;li&gt;Scope page &lt;strong&gt;save and continue&lt;/strong&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%2Farticles%2Fzud98qzfjizmbpqykvkm.png" alt="Alt Text" width="800" height="450"&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test User Tab: Click on add user and you can add up to 100 emails. Add your email for testing. Save and continue.&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%2Fuploads%2Farticles%2Fifh4658cph2rrsybtxhm.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fifh4658cph2rrsybtxhm.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn7x3nnhkvaw9wy93n6gy.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn7x3nnhkvaw9wy93n6gy.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finally, after setting up, click on Credentials.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  4) Create Credentials
&lt;/h2&gt;

&lt;p&gt;After landing on Credentials, on the top click on &lt;strong&gt;CREATE CREDENTIALS&lt;/strong&gt;. Click on OAuth client ID. Select your application type. As we're using NodeJS, it is a web application. Add URI's as&lt;br&gt;
&lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;. Create and you'll get your credentials.&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%2Fuploads%2Farticles%2Fnd0ph24wfrp8wqoecitd.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnd0ph24wfrp8wqoecitd.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fuploads%2Farticles%2F1lt42zg4enr91vyki5n3.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1lt42zg4enr91vyki5n3.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fuploads%2Farticles%2F6ih3284g7mbo692o84nl.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ih3284g7mbo692o84nl.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now comes part two, the coding part&lt;/p&gt;
&lt;h2&gt;
  
  
  5) Code set up:
&lt;/h2&gt;

&lt;p&gt;Go to this page, &lt;a href="https://developers.google.com/gmail/api/quickstart/nodejs" rel="noopener noreferrer"&gt;Node JS quickstart&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Copy Paste the sample code and then copy-paste in a file named index.js. &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%2Fuploads%2Farticles%2Fti4ty3pvm2vww9yjqdmb.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fti4ty3pvm2vww9yjqdmb.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the folder, where you created this file, the terminal add the command&lt;br&gt;
&lt;br&gt;
&lt;code&gt;npm init&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
and initializes&lt;br&gt;
&lt;br&gt;
&lt;code&gt;package.json&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You need to install some dependencies with the command&lt;br&gt;
&lt;br&gt;
&lt;code&gt;npm i googleapis cheerio mailparser js-base64 open&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to google developers console in your project. Navigate to the credentials part. In OAuth 2.0 Client IDs, you'll find a small download icon, download your credentials file from there and add to your folder where you've created this project. Name this file as&lt;br&gt;
&lt;br&gt;
&lt;code&gt;credentials.json&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run your code in your terminal. When you run for the first time, you'll get something like this&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Authorize this app by visiting this url: https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&amp;amp;scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.readonly&amp;amp;response_type=code&amp;amp;client_id=479559853488-050lms0ffusprdhh938s954q0s36kg4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob
‍Enter the code from that page here:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Click on that URL and enter the code. &lt;br&gt;
Now, in order to be able to manage the labels of the messages, you need to change the initial scope from &lt;em&gt;gmail.readonly&lt;/em&gt; to &lt;em&gt;gmail.modify&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const SCOPES = ['https://www.googleapis.com/auth/gmail.modify'];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Delete &lt;strong&gt;token.json&lt;/strong&gt; from your working directory.&lt;/p&gt;

&lt;p&gt;One error that some of you might get. The reference code has &lt;em&gt;credentials.installed&lt;/em&gt; but it should be &lt;em&gt;credentials.web&lt;/em&gt;. When you check the file, &lt;em&gt;credentials.json&lt;/em&gt; you'll find everything is inside &lt;em&gt;web&lt;/em&gt; object. So, if you get that error just check your &lt;em&gt;creddentials.json&lt;/em&gt; file once and replace &lt;em&gt;installed&lt;/em&gt; accordingly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function authorize(credentials, callback) {
  const {client_secret, client_id, redirect_uris} = credentials.installed;
...
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;If you're facing any other issue regarding app verification then navigate to &lt;a href="https://dev.toverification%20process"&gt;verification process&lt;/a&gt; and follow them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6)Final Output:
&lt;/h2&gt;

&lt;p&gt;Then, go to the &lt;em&gt;listLabels&lt;/em&gt; function and add the label id in the console log.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;functionlistLabels(auth) {  
  ...      
    labels.forEach((label) =&amp;gt; {        
      console.log(`- ${label.name} : ${label.id}`);      
    });  
  ...}

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

&lt;/div&gt;



&lt;p&gt;Finally, run the application by using the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
 to authorize the app again and update the access permissions. You should be able to see the label list but now each label with its corresponding id.&lt;/p&gt;

&lt;p&gt;Now, to read mail box,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function listMessages(auth, query){
  query = 'unnatibamania8@gmail.com';
  return new Promise((resolve, reject) =&amp;gt; {    
    const gmail = google.gmail({version: 'v1', auth});
    gmail.users.messages.list(      
      {        
        userId: 'me',  
        q:query,      
        maxResults:5     
      },            (err, res) =&amp;gt; {        
        if (err) {                    reject(err);          
          return;        
        }        
        if (!res.data.messages) {                    resolve([]);          
          return;        
        }                resolve(res.data);  

                         getMail(res.data.messages[0].id, auth);
      }    
    );  
  })
}


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

&lt;/div&gt;



&lt;p&gt;Here, the function &lt;em&gt;listMessages&lt;/em&gt; takes 2 parameters auth and query, you can call this function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fs.readFile('credentials.json', (err, content) =&amp;gt; {
  if (err) return console.log('Error loading client secret file:', err);
  // Authorize a client with credentials, then call the Gmail API.
  authorize(JSON.parse(content), listMessages);

});

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

&lt;/div&gt;



&lt;p&gt;after console logging &lt;em&gt;res.data.messages&lt;/em&gt;, you'll get threadId and id. Pass the id into &lt;em&gt;getMail&lt;/em&gt; function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getMail(msgId, auth){
  console.log(msgId)
  const gmail = google.gmail({version: 'v1', auth});
  //This api call will fetch the mailbody.
  gmail.users.messages.get({
      userId:'me',
      id: msgId ,
  }, (err, res) =&amp;gt; {
    console.log(res.data.labelIds.INBOX)
      if(!err){
        console.log("no error")
          var body = res.data.payload.parts[0].body.data;

          var htmlBody = base64.decode(body.replace(/-/g, '+').replace(/_/g, '/'));
          console.log(htmlBody)
          var mailparser = new Mailparser();

          mailparser.on("end", (err,res) =&amp;gt; {
              console.log("res",res);
          })

          mailparser.on('data', (dat) =&amp;gt; {
              if(dat.type === 'text'){
                  const $ = cheerio.load(dat.textAsHtml);
                  var links = [];
                  var modLinks = [];
                  $('a').each(function(i) {
                      links[i] = $(this).attr('href');
                  });

                  //Regular Expression to filter out an array of urls.
                  var pat = /------[0-9]-[0-9][0-9]/;

                  //A new array modLinks is created which stores the urls.
                  modLinks = links.filter(li =&amp;gt; {
                      if(li.match(pat) !== null){
                          return true;
                      }
                      else{
                          return false;
                      }
                  });
                  console.log(modLinks);

                  //This function is called to open all links in the array.

              }
          })

          mailparser.write(htmlBody);
          mailparser.end();

      }
  });
}


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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Output
&lt;/h3&gt;

&lt;p&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%2Fuploads%2Farticles%2Fuq72d5x0sdnuhndzblav.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuq72d5x0sdnuhndzblav.png" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Don't read all the messages all together it might crash the application. Hence, I've read only 1 mail at a time. You can just play around with the code and find a lot of other stuff!&lt;br&gt;
I hope this article helps. &lt;/p&gt;

</description>
      <category>node</category>
      <category>webdev</category>
      <category>devops</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Opportunities for women who code</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Sat, 03 Apr 2021 17:36:41 +0000</pubDate>
      <link>https://dev.to/commentme/opportunities-for-women-who-code-26ak</link>
      <guid>https://dev.to/commentme/opportunities-for-women-who-code-26ak</guid>
      <description>&lt;p&gt;It's quite evident that there is a lack of women coders in the tech industry and the statistics reveal this. Women are trying to come up with technical skills and compete in this industry but the number is still less. Hence a lot of tech platforms and companies have come up with programs that provide opportunities for coder women to grow in this industry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Women Technical Scholarship
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2F7xXTXGa.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%2Fimgur.com%2F7xXTXGa.png" alt="Google"&gt;&lt;/a&gt;&lt;br&gt;
Google offers three scholarships under Google's Women Techmakers Program namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Women Techmakers Scholarship for Computer Science,&lt;/li&gt;
&lt;li&gt;Women Techmakers Scholarship for gaming in partnership with Stadia&lt;/li&gt;
&lt;li&gt;Women Techmakers Irish University Scholarship&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The scholarship is provided region-wise: Asia Pacific, North America, and Europe, the Middle East, and Africa.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.womentechmakers.com" rel="noopener noreferrer"&gt;https://www.womentechmakers.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You get the following perks if you get selected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retreat: All the scholars from different countries will gather at one place and collab on different projects.&lt;/li&gt;
&lt;li&gt;Community bonding period: Sharing rooms with different people from different countries and sharing ideas. &lt;/li&gt;
&lt;li&gt;Academic Scholarship: Get an academic scholarship of $1000.&lt;/li&gt;
&lt;li&gt;Goodies: Swags, stickers, bottles, and other stuff.&lt;/li&gt;
&lt;li&gt;Training: They train you for an interview and plan an 8 monthly road map for students. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  AmazeWow
&lt;/h2&gt;

&lt;p&gt;If you're a female candidate and looking for an SDE role at Amazon then this program is for you. Every year Amazon conducts this program, especially for female candidates.&lt;br&gt;
Amazon offers internship and full-time software development opportunities to female candidates through the Amazon WoW program.&lt;br&gt;
Roles and responsibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Should be able to grasp the details of the current project and its architecture.&lt;/li&gt;
&lt;li&gt;Should be a team player.&lt;/li&gt;
&lt;li&gt;Design code for real-world problems.&lt;/li&gt;
&lt;li&gt;Deliver high-quality software in an agile environment &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Selection Process&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screening&lt;/li&gt;
&lt;li&gt;Online Test&lt;/li&gt;
&lt;li&gt;Interview round&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  WomenWhoCode
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FGyVT8j8.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%2Fimgur.com%2FGyVT8j8.png"&gt;&lt;/a&gt;&lt;br&gt;
It is a nonprofit organization dedicated to inspiring women to excel in technology careers. They provide skills and opportunities for women who need to stay in their career and make it to the top. Their program is the 20 countries, 60 cities, and 50,000 members. A lot of women joining this program have made their successful careers in the tech industry.&lt;/p&gt;

&lt;p&gt;check out their website:&lt;br&gt;
&lt;a href="https://www.womenwhocode.com/" rel="noopener noreferrer"&gt;Women who code&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Red Hat
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FRGSr8jo.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%2Fimgur.com%2FRGSr8jo.png"&gt;&lt;/a&gt;&lt;br&gt;
If you've contributed to any open source then this is the best platform for you to show your contribution. You can nominate yourself on their website. After nomination, they shortlist the women in open source award winners.&lt;br&gt;
&lt;a href="https://www.redhat.com/en/about/press-releases/2020-red-hat-women-open-source-award-nominations-now-open" rel="noopener noreferrer"&gt;Red Hat&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Goldman Sachs Global Scholarship and Mentorship Program
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2Fh7iyPo4.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%2Fimgur.com%2Fh7iyPo4.png"&gt;&lt;/a&gt; &lt;br&gt;
This program provides a scholarship and mentorship to the women coders. You also get financial aid from them. This is a six months program where industry experts train you and make you industry-ready.&lt;br&gt;
&lt;a href="//iie.org/Programs/WeTech/STEM-Scholarships-for-Women/Goldman-Sachs-Scholarship"&gt;Goldman Sachs&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Western Digital
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FiZkm7Ib.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%2Fimgur.com%2FiZkm7Ib.png"&gt;&lt;/a&gt;&lt;br&gt;
Western Digital provides a $1 million scholarship every year. As a scholar, you can get a $5000 scholarship. They generally support women. This platform is really good for applying. &lt;br&gt;
&lt;a href="https://www.westerndigital.com/company/corporate-philanthropy/scholarship-programs" rel="noopener noreferrer"&gt;Western Digital&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Google conference and Scholarship
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FAaukQ8u.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%2Fimgur.com%2FAaukQ8u.png"&gt;&lt;/a&gt;&lt;br&gt;
If you're attending some international Scholarship based on technology or some seminar. Then you can apply for google conference and scholarships, which provides a chance to attend a lot of technology conferences and boost your network where you'll meet people with high expertise in the tech industry. &lt;/p&gt;

&lt;p&gt;Women in today's time are capable of handling multiple things. Although their ratio in the tech industry is less there are a lot of opportunities and platforms that encourage them to make their career in this field. What are your thoughts on this? Please do mention them in the comment section below.&lt;/p&gt;

</description>
      <category>womenintech</category>
      <category>discuss</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Tips to build an awesome portfolio</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Mon, 29 Mar 2021 19:03:21 +0000</pubDate>
      <link>https://dev.to/commentme/build-your-portfolio-with-these-factors-21kk</link>
      <guid>https://dev.to/commentme/build-your-portfolio-with-these-factors-21kk</guid>
      <description>&lt;p&gt;I've often heard students pursuing their degrees saying, "I wish I could have learned this". When applying for a job, companies have a brief look at your portfolio. Not only companies but also universities providing courses post-graduation have look at an individual's portfolio. Hence, it is essential to focus on your portfolio and build one which will stand out from the rest&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn new skills and build projects
&lt;/h2&gt;

&lt;p&gt;Continuous learning is the minimum requirement for success in any field. Keep learning new skills at regular intervals. Suppose you're interested in web development or app development then start with its basics, build some basic projects and go for advanced learning and build advanced projects. As you see yourself progressing, start building projects which are based on real-life problem-solving. If you're stuck somewhere never hesitate to ask for help. You'll grow as you keep learning by making mistakes and improving. For learning new tech skills you can refer &lt;a href="https://www.udemy.com/"&gt;Udemy&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.coursera.org/in"&gt;Coursera&lt;/a&gt; &lt;a href="https://www.udacity.com/"&gt;Udacity&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Apply for internships
&lt;/h2&gt;

&lt;p&gt;Experience matters a lot &lt;br&gt;
After learning some skills and building personal projects it's time for working on some ongoing projects. You can start applying for internships in companies. Internships are the best way to gain industry experience. You might have to appear for an interview and some test rounds. Internships can be paid and unpaid depending upon the companies. &lt;/p&gt;

&lt;h2&gt;
  
  
  Start Freelancing
&lt;/h2&gt;

&lt;p&gt;As a developer, you can start freelancing. As a student, it will help to generate extra revenue and help you to enhance your skills. Start with small projects, build them properly. Once you're confident enough then go for building medium and advanced-level projects. Freelancing will definitely add value to the portfolio. Projects built as a freelancer shows your confidence and proficiency in that skill. &lt;/p&gt;

&lt;h2&gt;
  
  
  Write blogs
&lt;/h2&gt;

&lt;p&gt;Along with outstanding coding skills a developer must have good writing skills. Being a content write gives you an additional advantage over other candidates. Writing blogs is really good practice. Content writing is an amazing mind exercise. &lt;br&gt;
Writing content is a test of your creativity. Writing a weekly blog will enhance your writing skills and help you to maintain a blog page. Maintaining a blog page is a really helpful and add-on for a portfolio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Publish research paper
&lt;/h2&gt;

&lt;p&gt;If you're in college and doing some kind of research on some project or topic you should publish your own research paper. If you're applying for further studies in some top universities then this is really helpful. This is an extra point which will attract universities and companies. Your portfolio will look diverse and will stand out from the rest.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join a social service committee
&lt;/h2&gt;

&lt;p&gt;Joining a social service committee shows your concern towards society. You're not secluded in your own world, instead, it shows that you're also bothered about your society. This becomes helpful for future studies when you're applying to some top universities. If they have a look at your portfolio then the social service factor is advantageous. &lt;/p&gt;

&lt;p&gt;Hence, I would end this post by saying there are a lot of other factors, but these are the ones that I found to be prominent. If you some other factors then please do share them. Please do put down your thoughts in the comment section below.&lt;/p&gt;

</description>
      <category>resume</category>
      <category>portfolio</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Amazing CSS libraries for your next project</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Wed, 24 Mar 2021 10:23:27 +0000</pubDate>
      <link>https://dev.to/commentme/top-10-css-libraries-you-can-work-on-37he</link>
      <guid>https://dev.to/commentme/top-10-css-libraries-you-can-work-on-37he</guid>
      <description>&lt;p&gt;I've often heard this, 2020 is the era of flying cars but front-end developers are still struggling with positioning divs. Sounds funny but it's true. The solution to many problems like these is a must. Hence, here goes the list of the top 10 CSS frameworks which you must use at least once in your projects. These libraries will enhance your web design, coding experience and help you to outshine your resume.&lt;/p&gt;

&lt;h1&gt;
  
  
  Materialize CSS
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2F6LG5xqe.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%2Fimgur.com%2F6LG5xqe.png" alt="materialize"&gt;&lt;/a&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%2Fimgur.com%2FAIhz8iB.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%2Fimgur.com%2FAIhz8iB.png" alt="materialize"&gt;&lt;/a&gt;&lt;br&gt;
Materialize CSS is a responsive front-end framework created by Google in 2014. It uses a famous 12-column grid for responsive design. This framework is quite commonly used. Developers use the very popular Material-UI with ReactJS mostly for designing.&lt;/p&gt;
&lt;h3&gt;
  
  
  Why use Materialize CSS?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Variety of features:&lt;/strong&gt;
If you're really a fan of Google's Material design then you must choose this framework.  It also provides a lot of &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy to use:&lt;/strong&gt; Their documentation is the best guide and tutorial. One can follow along and learn easily. All the complex features are designed and coded in a simple form hence reducing the coding time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Grid System in Materialize CSS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="row"&amp;gt;
   &amp;lt;div class="col s1"&amp;gt;1&amp;lt;/div&amp;gt;
   &amp;lt;div class="col s1"&amp;gt;2&amp;lt;/div&amp;gt;
   &amp;lt;div class="col s1"&amp;gt;3&amp;lt;/div&amp;gt;
   &amp;lt;div class="col s1"&amp;gt;4&amp;lt;/div&amp;gt;
   &amp;lt;div class="col s1"&amp;gt;5&amp;lt;/div&amp;gt;
   &amp;lt;div class="col s1"&amp;gt;6&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Bulma CSS
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FxcMIYjG.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%2Fimgur.com%2FxcMIYjG.png" alt="Bulma"&gt;&lt;/a&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%2Fimgur.com%2F6eVfUct.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%2Fimgur.com%2F6eVfUct.png" alt="Bulma"&gt;&lt;/a&gt;&lt;br&gt;
Bulma is a relatively new framework and considered to be one of the best CSS frameworks to work with. According to the statistics, it ranked 5th in the category of best CSS framework in 2020. It attracts developers by the simplicity of its designs and variation in the components which is something different when compared with older frameworks. &lt;/p&gt;
&lt;h3&gt;
  
  
  Why use Bulma CSS?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pure CSS, no JS:&lt;/strong&gt; It has its component in pure CSS. If you wish to add it to your project, all you need is one CSS file and no JS file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Easy to learn and versatile:&lt;/strong&gt; It has thorough documentation hence developers don't need to seek various tutorials. Bulma comes with typography, forms, buttons, tables, and much more. This contributes to a solid foundation and high versatility of the framework &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Box&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="box"&amp;gt;
  I'm in a box.
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Titles&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h1 class="title is-1"&amp;gt;Title 1&amp;lt;/h1&amp;gt;
&amp;lt;h2 class="title is-2"&amp;gt;Title 2&amp;lt;/h2&amp;gt;
&amp;lt;h3 class="title is-3"&amp;gt;Title 3&amp;lt;/h3&amp;gt;
&amp;lt;h4 class="title is-4"&amp;gt;Title 4&amp;lt;/h4&amp;gt;
&amp;lt;h5 class="title is-5"&amp;gt;Title 5&amp;lt;/h5&amp;gt;
&amp;lt;h6 class="title is-6"&amp;gt;Title 6&amp;lt;/h6&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Tailwind
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FWJEkLbe.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%2Fimgur.com%2FWJEkLbe.png" alt="tailwind"&gt;&lt;/a&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%2Fimgur.com%2FQv1ZoZu.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%2Fimgur.com%2FQv1ZoZu.png" alt="tailwind"&gt;&lt;/a&gt;&lt;br&gt;
Tailwind is a low-level CSS framework and a customizable CSS framework. Unlike Bootstrap that creates generic-looking UIs, Tailwind allows you to customize your designs and create a unique look and feel.&lt;/p&gt;
&lt;h3&gt;
  
  
  Why use Tailwind CSS?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Customizable:&lt;/strong&gt; It gives you a lot of freedom to customize their components. Unlike other best frameworks of CSS, Tailwind doesn't tell you what your website should look like.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Greater Development Speed:&lt;/strong&gt; Since tailwind almost eliminates the big step of having to write CSS, the development speed increases by manifold.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="bg-white dark:bg-black"&amp;gt;
  &amp;lt;h1 class="text-gray-900 dark:text-white"&amp;gt;Dark mode&amp;lt;/h1&amp;gt;
  &amp;lt;p class="text-gray-500 dark:text-gray-300"&amp;gt;
    The feature you've all been waiting for.
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;button
  class="bg-gray-900 hover:bg-gray-800 dark:bg-white dark:hover:bg-gray-50"
&amp;gt;
  &amp;lt;!-- ... --&amp;gt;
&amp;lt;/button&amp;gt;

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

&lt;/div&gt;

&lt;h2&gt;
  
  
  Bootstrap
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FsCC0doG.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%2Fimgur.com%2FsCC0doG.png" alt="bootstrap"&gt;&lt;/a&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%2Fimgur.com%2FFEDomp0.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%2Fimgur.com%2FFEDomp0.png" alt="bootstrap"&gt;&lt;/a&gt;&lt;br&gt;
Bootstrap is one of the extremely popular CSS frameworks. As it is easy to use and beginner-friendly it is the choice of most web designers. Its current version is Bootstrap 5. It is also supported by Sass and Less. Its powerful grid system, badges, buttons, card components, navbars, alerts, and simple designs make it popular, and developer-friendly. Bootstrap also provides a wide variety of themes that can be used in projects.&lt;/p&gt;
&lt;h3&gt;
  
  
  Why use Bootstrap?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Powerful responsive design:&lt;/strong&gt;
Bootstrap provides a powerful and responsive grid system that is easy to use and understand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Learning Curve:&lt;/strong&gt; It is one of the best frameworks for web beginners. The best part is, it has well-formatted documentation and a lot of tutorials hence it becomes easy for developers as well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Positioning in Bootstrap&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="position-relative"&amp;gt;
  &amp;lt;div class="position-absolute top-0 start-0"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="position-absolute top-0 end-0"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="position-absolute top-50 start-50"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="position-absolute bottom-50 end-50"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="position-absolute bottom-0 start-0"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="position-absolute bottom-0 end-0"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Grid System in Bootstrap&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="container"&amp;gt;
  &amp;lt;div class="row"&amp;gt;
    &amp;lt;div class="col-sm"&amp;gt;
      One of three columns
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="col-sm"&amp;gt;
      One of three columns
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="col-sm"&amp;gt;
      One of three columns
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Foundation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2F3CszsJX.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%2Fimgur.com%2F3CszsJX.png" alt="foundation"&gt;&lt;/a&gt;&lt;br&gt;
Foundation is a widely used CSS framework. Foundation is a way more sophisticated framework. It is very flexible and easily customizable. Facebook, eBay, Mozilla, Adobe are some of the companies that use Foundation. The best part about Foundation is it gives freedom for developers to show their creativity and customize components. &lt;/p&gt;
&lt;h3&gt;
  
  
  Why use Foundation CSS?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;More Uniqueness:&lt;/strong&gt; It allows you to customize your site such that it doesn't look like other sites on Foundation. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;More than just UI components:&lt;/strong&gt; It is very flexible and responsive. And it is much more flexible than Bootstrap. The developers have included an advanced responsive image system, form-validation, right-to-left support, responsive embeds. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Grid system in Foundation&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-4"&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- Your content goes here --&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- Your content goes here --&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- Your content goes here --&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- Your content goes here --&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- Your content goes here --&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- Your content goes here --&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Semantic UI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FCdtsA0l.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%2Fimgur.com%2FCdtsA0l.png" alt="semantic ui"&gt;&lt;/a&gt;&lt;br&gt;
Semantic UI is also a responsive front-end framework. It has 3000+ Theming variables and 50+ UI components. It is also integrated with third-party libraries which are React, Angular, Ember, etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why use Semantic UI?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Friendly Class names:&lt;/strong&gt; Semantic UI is ** human-friendly HTML** Its class names are very readable and friendly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pretty LayoutsL&lt;/strong&gt; Semantic UI has 3000+ amazing theming variables. Hence, it becomes easy for developers to select a theme and build projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  UI Kit
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FaEV4myN.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%2Fimgur.com%2FaEV4myN.png" alt="UI kit"&gt;&lt;/a&gt;&lt;br&gt;
UI Kit is a lightweight CSS framework. When you need a minimal design then a UI kit is the best framework for you. It is simple, clean, and elegant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why use UI?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Minimalism:&lt;/strong&gt; UI Kit helps developers to create a modern, simple, and clean design. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modular:&lt;/strong&gt; Developers can select different designs and components without damaging the overall style of the site.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  References and Credits
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://geekflare.com/best-css-frameworks/#anchor-foundation" rel="noopener noreferrer"&gt;Resource 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.mockplus.com/blog/post/css-framework" rel="noopener noreferrer"&gt;Resource 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lambdatest.com/blog/best-css-framework-2020/" rel="noopener noreferrer"&gt;Resource 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.creativebloq.com/features/best-css-frameworks" rel="noopener noreferrer"&gt;Resource 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've used Bootstrap, Materialize, Tailwind, and Bulma CSS in my projects. Which one is your favorite or you would like to use in your upcoming projects? Please do mention down in the comment section below&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>Crack your MERN interview with these questions</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Thu, 18 Mar 2021 07:06:47 +0000</pubDate>
      <link>https://dev.to/commentme/crack-your-mern-interview-with-these-questions-3ji3</link>
      <guid>https://dev.to/commentme/crack-your-mern-interview-with-these-questions-3ji3</guid>
      <description>&lt;p&gt;MERN stack is one of the most powerful and in-demand web stacks in 2021. MERN is a free and open-source JavaScript software stack for building dynamic websites and web applications. MERN stack is basically based on JavaScript.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here goes the list of top companies that use MERN stack for their development
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.deligence.com/"&gt;Deligence Technologies Pvt Ltd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lizard.global/"&gt;Lizard Global&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tallium.com"&gt;Tallium Inc.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://appsmaventech.com/"&gt;Apps Maven&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.phontinent.com/"&gt;Phontinent Technologies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://develop4u.co/top-mern-stack-development-companies"&gt;Refer to this link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to land up in some companies like these then you need to crack their interviews.&lt;br&gt;
Hence, here goes the list of some important questions asked in the interview on the MERN stack.&lt;/p&gt;

&lt;h1&gt;
  
  
  MongoDB
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;What do you understand by NoSQL databases? Is MongoDB a NoSQL database? explain.&lt;/li&gt;
&lt;li&gt;What is the difference between MongoDB and MySQL?&lt;/li&gt;
&lt;li&gt;What is “Namespace” in MongoDB?&lt;/li&gt;
&lt;li&gt;What is sharding in MongoDB?&lt;/li&gt;
&lt;li&gt;How can you see the connection used by Mongos?&lt;/li&gt;
&lt;li&gt;Does MongoDB support primary-key, foreign-key relationship?&lt;/li&gt;
&lt;li&gt;If you remove an object attribute, is it deleted from the database?&lt;/li&gt;
&lt;li&gt;In which format MongoDB represents document structure?&lt;/li&gt;
&lt;li&gt;While creating Schema in MongoDB what are the points need to be taken into consideration?&lt;/li&gt;
&lt;li&gt;Mention what is Objecld composed of?&lt;/li&gt;
&lt;li&gt;Explain what is GridFS in MongoDB?&lt;/li&gt;
&lt;li&gt;Does MongoDB provide a facility to do text searches? How?&lt;/li&gt;
&lt;li&gt;What is a covered query in MongoDB?&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  NodeJs
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;How does Node.js work?&lt;/li&gt;
&lt;li&gt;Explain callback in Node.js.&lt;/li&gt;
&lt;li&gt;Why is Node.js Single-threaded?&lt;/li&gt;
&lt;li&gt;What is NPM?&lt;/li&gt;
&lt;li&gt;Explain the concept of middleware in Node.js.&lt;/li&gt;
&lt;li&gt;What are the different types of HTTP requests?&lt;/li&gt;
&lt;li&gt;Why is Node.js preferred over other backend technologies like Java and PHP?&lt;/li&gt;
&lt;li&gt;What does event-driven programming mean?&lt;/li&gt;
&lt;li&gt;What is an Event Loop in Node.js?&lt;/li&gt;
&lt;li&gt;What are the two types of API functions in Node.js?&lt;/li&gt;
&lt;li&gt;What are streams in Node.js?&lt;/li&gt;
&lt;li&gt;What is the purpose of module.exports?&lt;/li&gt;
&lt;li&gt;What is REPL in Node.js?&lt;/li&gt;
&lt;li&gt;What is piping in Node.js?&lt;/li&gt;
&lt;li&gt;What is the buffer class in Node.js?&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  ReactJS
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;What is React?&lt;/li&gt;
&lt;li&gt;What is JSX?&lt;/li&gt;
&lt;li&gt;What is the difference between Element and Component?&lt;/li&gt;
&lt;li&gt;What are Pure Components?&lt;/li&gt;
&lt;li&gt;When to use a Class Component over a Function Component?&lt;/li&gt;
&lt;li&gt;What is the difference between state and props?&lt;/li&gt;
&lt;li&gt;Why should we not update the state directly?&lt;/li&gt;
&lt;li&gt;What is the difference between HTML and React event handling?&lt;/li&gt;
&lt;li&gt;How to bind methods or event handlers in JSX callbacks?&lt;/li&gt;
&lt;li&gt;What is the use of refs?&lt;/li&gt;
&lt;li&gt;How to create refs?&lt;/li&gt;
&lt;li&gt;What is Virtual DOM?&lt;/li&gt;
&lt;li&gt;How Virtual DOM works?&lt;/li&gt;
&lt;li&gt;What is the difference between Shadow DOM and Virtual DOM?&lt;/li&gt;
&lt;li&gt;What is reconciliation?&lt;/li&gt;
&lt;li&gt;What is context?&lt;/li&gt;
&lt;li&gt;What are children prop?&lt;/li&gt;
&lt;li&gt;What are fragments?&lt;/li&gt;
&lt;li&gt;What is the purpose of getSnapshotBeforeUpdate() &amp;amp;  lifecycle method?&lt;/li&gt;
&lt;li&gt;What are React Mixins?&lt;/li&gt;
&lt;li&gt;What is the difference between super() and super(props) in React using ES6 classes?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Credits and References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/sudheerj/reactjs-interview-questions"&gt;React Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.edureka.co/blog/interview-questions/react-interview-questions/"&gt;React Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.edureka.co/blog/interview-questions/top-node-js-interview-questions-2016/"&gt;Node Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fullstack.cafe/blog/7-hardest-nodejs-interview-questions-and-answers"&gt;Node Interview &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.guru99.com/mongodb-interview-questions.html"&gt;MongoDb interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.javatpoint.com/mongodb-interview-questions"&gt;MongoDb interview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One has to be strong with basics and understand the concepts properly. Some amount of preparation and research will do. If you like to add on some resources or questions please do mention them in the comment section below.&lt;/p&gt;

</description>
      <category>react</category>
      <category>mongodb</category>
      <category>node</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Crack your next coding interview with these topics</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Tue, 02 Mar 2021 12:48:56 +0000</pubDate>
      <link>https://dev.to/commentme/decoding-interviews-9g6</link>
      <guid>https://dev.to/commentme/decoding-interviews-9g6</guid>
      <description>&lt;p&gt;The interview is the first interaction of the candidates with the company. The company should put its best foot forward so that even unsuccessful candidates will have good things to say about the company. When it comes to the coding interview, one has to ready with projects and excellent problem-solving skills. This article can help help you ace the interview. It contains some most commonly asked and must-do practice problems for you.&lt;br&gt;
One must practice and solve a lot of Data structures and algorithms questions. &lt;br&gt;
Here goes the list of questions that are mostly asked in interviews:&lt;/p&gt;

&lt;h2&gt;
  
  
  Array:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Subarray with given sum and some other examples&lt;/li&gt;
&lt;li&gt;Missing number and variants&lt;/li&gt;
&lt;li&gt;Kadane's algorithm&lt;/li&gt;
&lt;li&gt;Trapping the rainwater (&lt;strong&gt;Google Interview&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Stock buy and sell&lt;/li&gt;
&lt;li&gt;Chocolate distribution problem&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  String:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Permutations and combinations of a given string &lt;/li&gt;
&lt;li&gt;Anagram&lt;/li&gt;
&lt;li&gt;Implementation of atoi&lt;/li&gt;
&lt;li&gt;Longest common prefix&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Linked List:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reverse a linked list&lt;/li&gt;
&lt;li&gt;Detect &amp;amp; remove a loop&lt;/li&gt;
&lt;li&gt;Nth node from the end and its variants&lt;/li&gt;
&lt;li&gt;Merge 2 sorted Linked List&lt;/li&gt;
&lt;li&gt;Pairwise swapping&lt;/li&gt;
&lt;li&gt;Intersection point in the linked list&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Stack and Queue:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Parenthesis checking and its variants&lt;/li&gt;
&lt;li&gt;Next greater and smaller element&lt;/li&gt;
&lt;li&gt;Maximum subarray of size k&lt;/li&gt;
&lt;li&gt;Celebrity problem &lt;/li&gt;
&lt;li&gt;Stock Span problem &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tree:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Diameter of Binary tree&lt;/li&gt;
&lt;li&gt;Number of leaf nodes&lt;/li&gt;
&lt;li&gt;Height is balanced or not&lt;/li&gt;
&lt;li&gt;Check for BST&lt;/li&gt;
&lt;li&gt;Maximum path sum&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Hashing:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Sort elements by frequency&lt;/li&gt;
&lt;li&gt;Zero sum subarray&lt;/li&gt;
&lt;li&gt;Largest subarray with sum zero&lt;/li&gt;
&lt;li&gt;Common elements&lt;/li&gt;
&lt;li&gt;Smallest window in a string containing all the characters of another string&lt;/li&gt;
&lt;li&gt;Check duplicates&lt;/li&gt;
&lt;li&gt;Check occurrences&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Graph:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dijkstra's algorithm&lt;/li&gt;
&lt;li&gt;DFS &amp;amp; BFS&lt;/li&gt;
&lt;li&gt;Topological sort&lt;/li&gt;
&lt;li&gt;Find whether a path exists&lt;/li&gt;
&lt;li&gt;Minimum cost path&lt;/li&gt;
&lt;li&gt;Floyd-Warshall&lt;/li&gt;
&lt;li&gt;Alien Dictionary&lt;/li&gt;
&lt;li&gt;Snake and Ladder problem &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Greedy:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Huffman decoding&lt;/li&gt;
&lt;li&gt;N meetings in one room&lt;/li&gt;
&lt;li&gt;Coin piles&lt;/li&gt;
&lt;li&gt;Maximise Toys &lt;/li&gt;
&lt;li&gt;Minimum spanning tree&lt;/li&gt;
&lt;li&gt;Shop in a candy store&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dynamic programming:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Knapsack problem and variants&lt;/li&gt;
&lt;li&gt;Minimum operations&lt;/li&gt;
&lt;li&gt;Minimum number of coins&lt;/li&gt;
&lt;li&gt;Longest common substring&lt;/li&gt;
&lt;li&gt;Minimum number of jumps&lt;/li&gt;
&lt;li&gt;Path in a matrix&lt;/li&gt;
&lt;li&gt;Minimum sum partition&lt;/li&gt;
&lt;li&gt;Count the number of ways to cover a distance &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Divide and Conquer:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Quicksort&lt;/li&gt;
&lt;li&gt;Merge sort&lt;/li&gt;
&lt;li&gt;Kth element in 2 sorted array&lt;/li&gt;
&lt;li&gt;Sum of the middle element of 2 sorted array&lt;/li&gt;
&lt;li&gt;Search in a sorted array&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Backtracking:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;N-Queen problem &lt;/li&gt;
&lt;li&gt;Solve the sudoku&lt;/li&gt;
&lt;li&gt;Rat in a maze problem&lt;/li&gt;
&lt;li&gt;Generate an IP address&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are the frequently asked DS and algorithms and their questions. There are other topics and questions which are also asked during interviews.&lt;/p&gt;

&lt;h2&gt;
  
  
  Topics are as follows:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Doubly Linked List&lt;/li&gt;
&lt;li&gt;Circular Linked List&lt;/li&gt;
&lt;li&gt;Bit manipulation&lt;/li&gt;
&lt;li&gt;Heap&lt;/li&gt;
&lt;li&gt;Recursion&lt;/li&gt;
&lt;li&gt;Searching&lt;/li&gt;
&lt;li&gt;Sorting &lt;/li&gt;
&lt;li&gt;Hashing&lt;/li&gt;
&lt;li&gt;Matrix&lt;/li&gt;
&lt;li&gt;Mathematics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is really difficult to put down everything in one article. And very long content makes any article boring. &lt;/p&gt;

&lt;h1&gt;
  
  
  Some important concepts which one needs to study
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Number Theory &lt;/li&gt;
&lt;li&gt;Mathematics&lt;/li&gt;
&lt;li&gt;Puzzles&lt;/li&gt;
&lt;li&gt;Sliding window technique (&lt;strong&gt;Very prominent and an essential topic&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Prefix Sum&lt;/li&gt;
&lt;li&gt;Bit and its manipulation techniques&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data structures and algorithms are fun if you practice and play with them. Once you gain mastery then they become your companion in the coding journey and make it like heaven. &lt;/p&gt;

&lt;h1&gt;
  
  
  Here we come to the resources part
&lt;/h1&gt;

&lt;h3&gt;
  
  
  Some of the important sites for practicing DSA for interviews:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://leetcode.com/problemset/top-interview-questions/"&gt;Leet Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/must-do-coding-questions-for-companies-like-amazon-microsoft-adobe/?ref=leftbar"&gt;Geeks for Geeks 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/practice-for-cracking-any-coding-interview/"&gt;Geeks for Geeks 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.interviewbit.com/"&gt;Interview bit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are the best sites for practicing data structures and algorithms.&lt;br&gt;
That's it for this post.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>algorithms</category>
      <category>java</category>
    </item>
    <item>
      <title>Some projects to build your resume!</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Mon, 18 Jan 2021 13:14:43 +0000</pubDate>
      <link>https://dev.to/commentme/some-projects-to-build-your-resume-2leg</link>
      <guid>https://dev.to/commentme/some-projects-to-build-your-resume-2leg</guid>
      <description>&lt;p&gt;Projects are the identity of every web developer. Every web developer must build some projects which should be there on resume so that the resume can stand out. Here are some projects that I've mentioned which can help you build your resume and will definitely get attracted to any company. Along with the projects I've also mentioned the features from basic to advanced which can impress any interviewer or company. So ensure that you've these projects  listed on your portfolio using the tech stack you're most comfortable with.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1) Your portfolio website&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is best representation of your skills and designing sense. Make sure that the design you choose or build is attractive, unique and eye catchy. Your portfolio must contain some tricky and amazing animations. If possible you can also make a toggleable light and dark scheme types template.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Features&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Swiper&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Particlejs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Freepic &amp;amp; vectorstock&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Some CSS animations for card and button&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Some animation links.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/EZqhWu8GJ6U" rel="noopener noreferrer"&gt;Card animation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/8b2mTq0Xrtw" rel="noopener noreferrer"&gt;Card animation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/Q22Tli-D4mw" rel="noopener noreferrer"&gt;Card animation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/cH0TC9gWiAg" rel="noopener noreferrer"&gt;Button animation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/CMgl_etzlTI" rel="noopener noreferrer"&gt;Button animation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/TawH-AqHTXc" rel="noopener noreferrer"&gt;Parallax Effect&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codeinwp.com/blog/best-javascript-animation-libraries/" rel="noopener noreferrer"&gt;JS animation libraries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=sN93DRYkCO8" rel="noopener noreferrer"&gt;check this&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fyhjr9bw4ed7kccnt9fp4.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyhjr9bw4ed7kccnt9fp4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2F903pttez8ohvjrdm0q8q.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F903pttez8ohvjrdm0q8q.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2) Blog Page&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Blog page can be one of useful projects to develop your skills and a good beginner-intermediate project. You can also host it as your own blog page or convert it to a forum.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Features&lt;/strong&gt;:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Authentication &lt;/li&gt;
&lt;li&gt;Google or FB Oauth&lt;/li&gt;
&lt;li&gt;Rich text editor for content&lt;/li&gt;
&lt;li&gt;Post can be either text or photo or both&lt;/li&gt;
&lt;li&gt;Multiple image upload&lt;/li&gt;
&lt;li&gt;Upvote, downvote, comment on the post&lt;/li&gt;
&lt;li&gt;Save posts which we want to&lt;/li&gt;
&lt;li&gt;Like, edit, delete comment&lt;/li&gt;
&lt;li&gt;Report facility, not very complex, if that post has more than x reports then delete it.&lt;/li&gt;
&lt;li&gt;Follow unfollow user&lt;/li&gt;
&lt;li&gt;Add tags and posts under them &lt;/li&gt;
&lt;li&gt;Sort posts according to trends&lt;/li&gt;
&lt;li&gt;Search bar with query params&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2F6z6aqtqbx45vp9hb4hgy.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6z6aqtqbx45vp9hb4hgy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3) Ecommerce&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Ecommerce is the classic example which give developers a chance to build mini amazon. If someone wants to try online payment system then this is the best platform to do so. Along with that there are a lot of features which can implemented.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Features:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Email verification or phone number verification&lt;/li&gt;
&lt;li&gt;Authentication should contain roles admin, seller, buyer&lt;/li&gt;
&lt;li&gt;Forgot password&lt;/li&gt;
&lt;li&gt;Admin panel to keep watch on app&lt;/li&gt;
&lt;li&gt;Buyer can add, delete, update products&lt;/li&gt;
&lt;li&gt;Images of product display using light box&lt;/li&gt;
&lt;li&gt;In stock/ out of stock feature&lt;/li&gt;
&lt;li&gt;Generate user address using an API with the help of password entered by user&lt;/li&gt;
&lt;li&gt;Discount feature&lt;/li&gt;
&lt;li&gt;Add, remove from cart &lt;/li&gt;
&lt;li&gt;History of user orders&lt;/li&gt;
&lt;li&gt;Check while adding if out of stock or not&lt;/li&gt;
&lt;li&gt;Payment option online/ offline&lt;/li&gt;
&lt;li&gt;Filtering options on basis of price and other attributes&lt;/li&gt;
&lt;li&gt;Rating item only if buyer buys it&lt;/li&gt;
&lt;li&gt;Simple and appealing UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/mern-ecommerce/" rel="noopener noreferrer"&gt;Check this&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fcvh1sar62ue2w7om8jp2.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcvh1sar62ue2w7om8jp2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4) Social Media&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One of the popular project for resume. Its one of the favorite for most of the developers. It will have most the features and application that a web developer needs to implement. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Features&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Very attractive and simple UI&lt;/li&gt;
&lt;li&gt;Authentication using email &amp;amp; oauth&lt;/li&gt;
&lt;li&gt;Email verification &lt;/li&gt;
&lt;li&gt;Forgot password &lt;/li&gt;
&lt;li&gt;CRUD operations on a post&lt;/li&gt;
&lt;li&gt;Saving post&lt;/li&gt;
&lt;li&gt;Like &amp;amp; comment on post&lt;/li&gt;
&lt;li&gt;User can like the comment&lt;/li&gt;
&lt;li&gt;Report some post, comment or user&lt;/li&gt;
&lt;li&gt;Follow unfollow user&lt;/li&gt;
&lt;li&gt;Make account private or public&lt;/li&gt;
&lt;li&gt;Chat application using socket.io&lt;/li&gt;
&lt;li&gt;Filtering posts based on likes, comments&lt;/li&gt;
&lt;li&gt;Adding some new feature if possible &lt;/li&gt;
&lt;li&gt;hashtag implementation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.instaclone.net/login" rel="noopener noreferrer"&gt;check this&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Sandermoen/instaclone" rel="noopener noreferrer"&gt;code for the above app&lt;/a&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0nyp6jhj77s1mjvr4l0j.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0nyp6jhj77s1mjvr4l0j.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;5) Real Estate&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you are very curious to implement something related to maps then this project is for you. Every web developer must try this.&lt;br&gt;
You can take inspiration from &lt;a href="https://housing.com/" rel="noopener noreferrer"&gt;Housing.com&lt;/a&gt; and &lt;a href="https://www.magicbricks.com/" rel="noopener noreferrer"&gt;magicbricks.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Features&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Authentication with all above mentioned features&lt;/li&gt;
&lt;li&gt;Dealer can add property and location as well&lt;/li&gt;
&lt;li&gt;You can use google maps, location and other APIs for this.&lt;/li&gt;
&lt;li&gt;Adding property should contain all the features&lt;/li&gt;
&lt;li&gt;If possible can add a short video feature&lt;/li&gt;
&lt;li&gt;Pagination for displaying properties&lt;/li&gt;
&lt;li&gt;For user, authentication will be same as mentioned above with verification&lt;/li&gt;
&lt;li&gt;Advanced filtering and sorting for user&lt;/li&gt;
&lt;li&gt;Saving the property&lt;/li&gt;
&lt;li&gt;Searching advanced filter or google maps or simply by entering location&lt;/li&gt;
&lt;li&gt;Chat application using socket.io&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2Fe6bq655lgss9tcrcxnvz.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fe6bq655lgss9tcrcxnvz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Some other projects:&lt;/strong&gt;
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Resume builder app&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You can make a web application which can make resume using templates. Build your own custom template. Some can be paid some for free. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E-Learning Platform&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is also one of the coolest projects to make your resume shine. You can add video lectures as an instructor. Make courses either paid or for free. You can use Amazon S3 cloud to store video. Use a heat map to target the progress of students who enroll in your course.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Simple chat application&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you want the basic and best implementation of socket.io then this is what you must build. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Web games&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You can build various games as web application. &lt;br&gt;
One of the classic example is &lt;strong&gt;Doodle Cricket&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://doodlecricket.github.io/" rel="noopener noreferrer"&gt;Doodle cricket&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Reminder app&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This app is very useful personal app. Specially for ones who're really forgetful. Setting reminder of any task at particular time.&lt;/p&gt;

&lt;p&gt;There are a lot of other projects. Build something unique of your own and that will give you intense happiness and satisfaction. Try new stuff. May be it can lead to a new and successful start up or fetch you a tag of pro developer. &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%2F84zt6id8j5hahxc5jip1.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F84zt6id8j5hahxc5jip1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>projectbenatar</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
    </item>
    <item>
      <title>Javascript: The trend!</title>
      <dc:creator>Unnati Bamania</dc:creator>
      <pubDate>Sun, 17 Jan 2021 10:21:36 +0000</pubDate>
      <link>https://dev.to/commentme/javascript-the-trend-24go</link>
      <guid>https://dev.to/commentme/javascript-the-trend-24go</guid>
      <description>&lt;p&gt;If you’re curious about programming in 2021 and still confused with programming languages. Please read this article completely. &lt;br&gt;
JavaScript is one the most trending and fast-growing languages in 2020.&lt;/p&gt;

&lt;p&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%2Fp3g51lj0mgxiutyvxaan.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fp3g51lj0mgxiutyvxaan.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Just have a look on this annual survey of Stack overflow. Results say that 70% developers use JavaScript.&lt;br&gt;
Done with all analytical parts. Now as a developer student or a learner how can one start with JavaScript. Let’s run through and quick and short guide on how to begin with JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Basics&lt;/strong&gt;:
&lt;/h2&gt;

&lt;p&gt;Like every other programming language, one has to learn all the basics like data types, variables, loop, conditional statements, array methods, string methods etc.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Data types in JavaScript&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Number&lt;/li&gt;
&lt;li&gt;String&lt;/li&gt;
&lt;li&gt;Boolean&lt;/li&gt;
&lt;li&gt;Undefined&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;LOOPS&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;The loops are as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;for loop&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;while loop&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;forEach loop&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;CONDITIONAL STATEMENT&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;Conditional Statements are used to check conditions. The syntax mostly involves if else statements and switch statements, ternary operators.&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%2Ffnpufpb5vw4dzphclr3i.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffnpufpb5vw4dzphclr3i.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;ARRAY&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;Arrays are the special variables which can store more than one value at a time.&lt;/p&gt;

&lt;h5&gt;
  
  
  Some important Array functions in JS:
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Push&lt;/strong&gt;: Add element to end&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pop&lt;/strong&gt;: Delete element from end&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete&lt;/strong&gt;: Delete an element from index&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Splice&lt;/strong&gt;: insert in between by deleting some elements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concat&lt;/strong&gt;: concatenate 2 array&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slice&lt;/strong&gt;: Getting data from some index to other index&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sort&lt;/strong&gt;: Sorting array&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reverse&lt;/strong&gt;: Reversing the order of array&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;STRING&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;Some of the important String methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IndexOf:&lt;/strong&gt; Gets index of a word in array&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slice:&lt;/strong&gt; Gets content from one index to other&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search:&lt;/strong&gt; Gives the index of given word&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Substr:&lt;/strong&gt; Gets the substring from specified index&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replace:&lt;/strong&gt; replaces a word&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Split:&lt;/strong&gt; splits by the given character
&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%2F6o22sgl9atolf28xqfzz.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Functions &amp;amp; advanced array methods:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Functions in JavaScript are declared with the keyword function&lt;/p&gt;

&lt;h6&gt;
  
  
  Arrow Functions:
&lt;/h6&gt;

&lt;p&gt;One of the most popular JS topics. It is a very powerful method.&lt;br&gt;
It allows us to write short syntax.&lt;/p&gt;

&lt;h4&gt;
  
  
  Some of the advanced array methods:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Filter:&lt;/strong&gt; Mostly used to remove some data by mapping it in a function&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Map:&lt;/strong&gt; Maps the array with function
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduce:&lt;/strong&gt; Mostly used with accumulator to perform mathematical operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2Fgq94w8i9g2rwxfelsee7.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fgq94w8i9g2rwxfelsee7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;OOP (Object Oriented Programming):&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;JS supports OOPs methodology.  &lt;/p&gt;

&lt;h4&gt;
  
  
  Some terms related are:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Class:&lt;/strong&gt; Structure for creating objects&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Constructor:&lt;/strong&gt; It is a function called by itself when objects are declared.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inheritance:&lt;/strong&gt; When one class inherits the properties from other class. The keyword extends is used there.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instance:&lt;/strong&gt; It is a kind of variable of class. It is declared by using &lt;strong&gt;new class_name()&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2F8zj7xdakxsc7bxftnunk.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8zj7xdakxsc7bxftnunk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DOM Manipulation&lt;/strong&gt;:
&lt;/h2&gt;

&lt;p&gt;With HTML DOM you can change or manipulate any HTML element in JavaScript&lt;br&gt;
We can access HTML elements using document keyword in JS.&lt;/p&gt;

&lt;h3&gt;
  
  
  DOM METHODS:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;getElementById:&lt;/strong&gt; selects element with specified id&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;querySelector:&lt;/strong&gt; selects element with any id, class or tag name&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;getElementByClassName:&lt;/strong&gt; selects elements with specified class name.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  There are a lot other DOM methods but mostly used ones are specified here
&lt;/h4&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Event Listener:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We can add event listener to perform some action when something is done. For example, start timer when button is clicked hence we can can add &lt;strong&gt;click&lt;/strong&gt; event listener to it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;click&lt;/strong&gt;: on clicking the element following function runs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mousemove&lt;/strong&gt;: Following action takes place when mouse moves.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  There a lot of other event listeners only some are mentioned here.
&lt;/h4&gt;

&lt;p&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%2Fbpyaqvus7rrwp5laaqmb.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbpyaqvus7rrwp5laaqmb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JavaScript has a lot of other powerful concepts to learn like closures, iterators, generators. It also supports asynchronous methodology using callbacks, promises, async &amp;amp; await. Some other topics to explore are AJAX and JS JSON. &lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Some Vanilla JS DOM manipulation projects:&lt;/strong&gt;
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Beginner Projects:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Simple calculator &lt;/li&gt;
&lt;li&gt;Form validation&lt;/li&gt;
&lt;li&gt;Api fetch &lt;/li&gt;
&lt;li&gt;Spock and rock.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Intermediate projects:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Quiz &lt;/li&gt;
&lt;li&gt;Hangman&lt;/li&gt;
&lt;li&gt;Typing game&lt;/li&gt;
&lt;li&gt;Speech text reader&lt;/li&gt;
&lt;li&gt;Unit converter&lt;/li&gt;
&lt;li&gt;Navbar animations&lt;/li&gt;
&lt;li&gt;Bookkeeper.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Advanced projects:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;JS game&lt;/li&gt;
&lt;li&gt;Drag and drop&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Tutorial references&lt;/strong&gt;:
&lt;/h1&gt;

&lt;h3&gt;
  
  
  Modern JS from beginning by Brad Traversy on Udemy
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/modern-javascript-from-the-beginning/" rel="noopener noreferrer"&gt;Link to the course&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Javascript web projects: 20 projects to build your portfolio
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/javascript-web-projects-to-build-your-portfolio-resume/" rel="noopener noreferrer"&gt;Link to the course&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  20 Web Vanilla JS projects
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/web-projects-with-vanilla-javascript/" rel="noopener noreferrer"&gt;Link to the course&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Conclusion:&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;There’s a lot more you can do with JS. There are a lot of frameworks for front and back end development. Frameworks like NodeJS, ReactJS, VueJS, AngularJS and a lot more. One can opt to become a MERN/MEAN/MEVN stack web developer. One of the coolest guide by Nitin Ranganath &lt;a href="https://dev.to/itsnitinr/the-ultimate-guide-to-mern-stack-1051"&gt;MERN Stack Guide&lt;/a&gt; on MERN stack technology.&lt;br&gt;
If you want to build mobile applications React Native is there to fulfil that demand as well. Alright, now comes desktop applications, you can also build desktop applications using Electron JS. I agree ML is the future, here you’ve tensorflow JS for ML and AI. Now you see the scope of this programming language. I hope JS is your choice for programming in 2021. &lt;/p&gt;

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