<?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: Muhammad</title>
    <description>The latest articles on DEV Community by Muhammad (@th3n00bc0d3r).</description>
    <link>https://dev.to/th3n00bc0d3r</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%2F202699%2F3cf262a3-20dd-46d8-94b6-8cff7d02a4a6.jpg</url>
      <title>DEV Community: Muhammad</title>
      <link>https://dev.to/th3n00bc0d3r</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/th3n00bc0d3r"/>
    <language>en</language>
    <item>
      <title>How to Build a Startup Landing Page in Velo</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Mon, 08 Mar 2021 00:34:47 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/how-to-build-a-startup-landing-page-in-velo-23hf</link>
      <guid>https://dev.to/th3n00bc0d3r/how-to-build-a-startup-landing-page-in-velo-23hf</guid>
      <description>&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%2Fxxjw2wxcu5968kvgj9hi.jpeg" 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%2Fxxjw2wxcu5968kvgj9hi.jpeg" alt="Velo Landing Page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Velo is a rebranding product of Wix.com which is a famous one-stop no-code solution for web development. I have seen people using Wix.com for anything from simple landing pages to e-commerce stores and have read and heard a wide variety of success stories.&lt;/p&gt;

&lt;p&gt;Coming from a technological background and being able to go through the process of the software development cycle, in a lot of cases, I did recommend people to go towards Wix. In this article, I will be discussing these cases for which I highly recommend Velo and in cases, where I find it difficult that Velo would be a good solution. To do so, I will try to replicate my current landing page in velo.&lt;/p&gt;

&lt;h4&gt;
  
  
  Let's start by making our own Velo site
&lt;/h4&gt;

&lt;p&gt;You need to go to the following URL:&lt;br&gt;
&lt;a href="https://www.wix.com/velo?ref=hackernoon.com" rel="noopener noreferrer"&gt;https://www.wix.com/velo?ref=hackernoon.com&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-352q3zc9.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-352q3zc9.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's click start project. On the next screen, it does give us the option of going through a tutorial but to have it hands-on, I wanted to experience how something can naturally come to me which allows me to understand the level of working of the project.&lt;/p&gt;

&lt;p&gt;Therefore, I clicked start now. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-om243zjt.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-om243zjt.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is like a wizard that is gathering information for me so that it can customize a set of presets that best fits my use case. I want to create a site for myself. It should be a business site and I have built sites professionally. Whenever you click on the blue links it will give you a set of options to select from.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-j33y3z53.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-j33y3z53.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, this is where the interesting part comes to play. I was given a set of templates that are like starting points for me to start with. Now as you move your mouse over them, you can have a glimpse of them and there is a categorical selection on top of it too.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-qz453z55.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-qz453z55.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Although the limited set of templates are really good to work on, I did find that the collection was small in size, maybe Wix needs to add more categories that are not general but specific to it. As my startup landing page is under IoT (Internet of Things), I was unable to find anything specific to that industry. &lt;/p&gt;

&lt;p&gt;Now as I was browsing by, I went with a Go On template.&lt;/p&gt;

&lt;p&gt;I liked how the full-width video background with a mobile frame with a mobile application preview was shown. When I selected it, this was the first screen or perhaps the main screen where what we call the "editor" comes up.&lt;/p&gt;

&lt;h4&gt;
  
  
  Editing Your Template
&lt;/h4&gt;

&lt;p&gt;On the right side, there is a toolbox with basic tools like duplicate, delete etc. and on the left side, you will have from what I understood a list of extensions, modules, and additives that allow you to add or remove or browse components like sections and images. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-1y4h3zns.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-1y4h3zns.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I tried exploring the aspect, and my first intent was to see even when developing websites, is the header, the navigation menu because if you are able to produce the navigation menu before even the project starts, you are literally done with more than half of the project because now you know what exactly the whole project will encompass. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-ao4o3z98.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-ao4o3z98.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To my amazement, I clicked the header and then the settings icon, now I would say this is a really neat way of going no-code.&lt;/p&gt;

&lt;p&gt;This is how bootstrap allows us to either make our navigation stick to the top or change size as we scroll down or disappear as we move down.&lt;/p&gt;

&lt;p&gt;These presets are pretty slick, as there are some mechanics to the code of it, therefore being friendly to people not having a coding background.&lt;/p&gt;

&lt;p&gt;I really like this solution. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-lz4w3zro.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-lz4w3zro.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once I adjusted my way of liking with the header, the second thing I wanted to change was the logo.&lt;/p&gt;

&lt;p&gt;I clicked the left panel, the third item which said add, and the menu popped up with all the possible elements that I could want.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-1b583zrx.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-1b583zrx.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I find that this is the most core component of wix editor where you can add a list of items.&lt;/p&gt;

&lt;h4&gt;
  
  
  Adding Your Logo to your Velo Site
&lt;/h4&gt;

&lt;p&gt;For updating the logo, I needed an image and then from where my image uploads.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remember&lt;/strong&gt; to click the arrow next to it, sometimes, the click doesn't work on My Image Uploads.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-pm5f3znr.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-pm5f3znr.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I came up with this nice uploading panel that was soft in color and love the professional blue bar on top of it.&lt;/p&gt;

&lt;p&gt;I simply took my logo and dragged and dropped into it. Then, I selected the preview and clicked on the blue button on the lower right hand which says Add to Page. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-w85w3znv.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-w85w3znv.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I had the logo with the actual size, and these beziers points surrounded the logo.&lt;/p&gt;

&lt;p&gt;This is very neat, for I can freely drag and resize the logo. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-d26d3zoh.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-d26d3zoh.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I dragged the logo to its place on the upper left corner, I noticed that the editor took note of all the grid and transpositions that were needed for it to be auto adjustable to all available screens. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-r36k3z2c.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-r36k3z2c.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now the logo was in place, but I felt that it was too fat in the height, so I re-uploaded the logo without the dandelion and then resized the header using the mouse. That process was very smooth.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-x66r3z5x.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-x66r3z5x.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now if we look at the page, it seems very sleek. I like it alot. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-2a6y3zft.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-2a6y3zft.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Changing the Background on Your Landing Page
&lt;/h4&gt;

&lt;p&gt;Next, I wanted to play with the background, so I clicked on it, and I had an option to change it.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-ek753zvy.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-ek753zvy.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was really amazing to find that I had the option of either using a static image or a video. As far as I remember, it still is sometimes a pain handling that in the code. &lt;/p&gt;

&lt;p&gt;I selected a mountainous background to enumerate fresh air, although the available backgrounds are nice, but I would still say the collection is limited.&lt;/p&gt;

&lt;p&gt;To view more backgrounds, if you click on videos, you will be brought upon a dialog box that allows you to search as well.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-3k7c3zl7.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-3k7c3zl7.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, I uploaded a couple of images, specifically my device image and a screen from my mobile application.&lt;/p&gt;

&lt;p&gt;This was far simpler to resize and place from the same beziers. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-dd7j3zq5.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-dd7j3zq5.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you scroll down, you are able to double-click on the demo text that is available, and that makes it editable.&lt;/p&gt;

&lt;h4&gt;
  
  
  Adding Text to the Site
&lt;/h4&gt;

&lt;p&gt;I changed the content as much as I could. But next, I wanted some callout type of aspect into it. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-lc7q3z2o.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-lc7q3z2o.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where I clicked the add button on the left and then went into the strip tag, where I found this colorful strip placement very attractive.&lt;/p&gt;

&lt;p&gt;Now, this was a bit fidgety because as soon as I placed the strip bar, it went right at the end of the template and one has to be just a bit precise because moving the complete strip bar can sometimes go on action for resizing the bar and in some cases, it makes the items in the strip bar editable.&lt;/p&gt;

&lt;p&gt;I find that using the title that appears as the type of component, for instance in this case is a strip bar, is much more adequate than selecting the whole component.&lt;/p&gt;

&lt;h4&gt;
  
  
  Site Icons on Velo
&lt;/h4&gt;

&lt;p&gt;Next replacing the icons was pretty simple, I found that the library of vectors available with wix is well sufficient. You could simply double-click it and search for media.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-i0873zeb.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-i0873zeb.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now usually what I have done with my current website, I wanted to add a slider of mobile application images. I went back into the add button on the left of the page, and clicked on galleries, where I was able to select a layout.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It was a bit confusing at the start but once you add one or two components, you will get a hang of it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Adding images was simple, you could select more than one image in the same media panel and associate it with the slider. Just as the header had settings, all components have settings that allow you to change arrow sizes and placement or the number of components. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-yv8e3zyy.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-yv8e3zyy.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, there were times I just went out of scope and that is where the to undo button on the top came into place.&lt;/p&gt;

&lt;p&gt;There is an undo button, so you don't have to worry about messing it up, you can always undo it. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-2w8l3z8m.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-2w8l3z8m.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was what came to my alert, at this point the site became a bit heavy on the browser, so the page did go unresponsive.&lt;/p&gt;

&lt;p&gt;I find that this editor is memory-consuming and pushing it to its limits is very easy with adding more and more components. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-q18s3zok.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-q18s3zok.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I had to refresh twice to get back to it and it was automatically saved so no progress was lost. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding a Contact Form on Velo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We are nearing our finalization and the last thing was the contact form. There were very interesting options with and specifically the true power of such a script like wix is not to worry about handling form data.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-p78z3zqk.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-p78z3zqk.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you can easily set up email notifications over here.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-dq9b3zq3.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-dq9b3zq3.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The real apple was being able to do a couple of things after one submits a form, so perhaps as a startup taking preorders, this is really perfect for a no-code solution.&lt;/p&gt;

&lt;p&gt;Now by default, the form submissions would go to your email address and that is my email address in this case.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-a09i3zh8.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-a09i3zh8.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Adjusting the Menus on Your Site
&lt;/h4&gt;

&lt;p&gt;Now coming back to the top of the page to the menu bar.&lt;/p&gt;

&lt;p&gt;This was a bit tricky, I wanted all the menus to scroll to their specific section and that was something I had to figure out. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-7q9u3zdv.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-7q9u3zdv.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to the Add menu, and go to the Menu Section, there you will find Anchors.&lt;/p&gt;

&lt;p&gt;In the Anchors, section click and drag the blue boxed white anchor where you want the menu to scroll.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-lya13zd4.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-lya13zd4.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will be a horizon line like this and then you can give it a unique name. Once you have given it a unique name, if you go back up to the navigation menu and click on manage items, you will be presented with the list of menu items.&lt;/p&gt;

&lt;p&gt;Once you click on the item you can select anchors and your anchor will be available in the list.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-naa83z80.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-naa83z80.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I found that the transition was very smooth with a smooth scroll available. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-tfaf3zm8.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-tfaf3zm8.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So this is where I always say, the development on the frontend aspect can get a bit tricky.&lt;/p&gt;

&lt;h4&gt;
  
  
  Mobile Optimisation
&lt;/h4&gt;

&lt;p&gt;Now I clicked on the mobile icon on the upper left hand of the screen. The behavior that I noticed was that it didn't seem mobile-optimized, but in reality, it was.&lt;/p&gt;

&lt;p&gt;I find that it might be either a bug in my browser or in the editor. I just had to refresh the page and the mobile-optimized view loaded up. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-mmam3z45.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-mmam3z45.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please refresh if you find that you are unable to see a mobile-optimized view.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-afat3za3.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-afat3za3.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The sweet spot, I would say is visually, I just had to readjust the height of the sections and it took those heights in regards to only mobile view.&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-srb03z7a.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-srb03z7a.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There was also an option to hide a specific section for mobile view only. This is a very powerful feature and I find by using this you can really munch up your startup page. &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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-uyb73zho.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-uyb73zho.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you're happy with what you want and with all the change, just click on the publish button on the upper right side of the screen and you're all good to do. &lt;/p&gt;

&lt;p&gt;My sample Velo site is available at the following URL:&lt;br&gt;
&lt;a href="https://bilalfromlahore.wixsite.com/breatheio" rel="noopener noreferrer"&gt;https://bilalfromlahore.wixsite.com/breatheio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please feel free to explore it.&lt;/p&gt;

&lt;p&gt;The result is:&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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-7xcb3z6d.jpeg" 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%2Fhackernoon.com%2Fimages%2Fc19IlEQcgCXavk4OhbVTzHb68O12-7xcb3z6d.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would highly recommend Velo in the following conditions:&lt;/p&gt;

&lt;p&gt;*You need to validate your idea&lt;br&gt;
*You are a Startup getting ready for an MVP&lt;br&gt;
*You have a preorder system and it just requires a form to preorder&lt;br&gt;
*A simple 1-10 Ecommerce Website&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cases that I find going full development might be better:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*You have your own eco-environment for your product&lt;br&gt;
*You need complete integration with all systems around it&lt;br&gt;
*You have scaled up substantially&lt;br&gt;
*You need to customize over personalize&lt;/p&gt;

</description>
      <category>startup</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Doers Vs No Doers: An Analytical Approach</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Sat, 02 May 2020 10:48:56 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/doers-vs-no-doers-an-analytical-approach-2o16</link>
      <guid>https://dev.to/th3n00bc0d3r/doers-vs-no-doers-an-analytical-approach-2o16</guid>
      <description>&lt;p&gt;To start with, this is a tricky topic, where I might find people in conflict with my perception but after all when isn’t conflict a promising act. Conflict by its meaning is a disagreement where one holds an entirely opposite perspective and surely does one defend it as if it was their very own life at stake. I think that is a beauty of it, perhaps lasting for a long time that is unexpected or usual. I would put it as my experience to suggest that I have seen people get excited and enthusiastic about doing something. It can be an idea or a project or anything that they either want to achieve in life or a common goal to which one puts an effort. The phenomenon that can be instantly noticed is that the excitement or the enthusiasm does not last very long, it is as if a bubble started gulping with air and before it reached its potential where it should have held, it just bursts into nothingness. The pattern repeats very often and has been repeating for much longer than I really thought it would. This is what triggered me to write for it in the hope that maybe someone other than myself is experiencing a similar act of time. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aqCGxHr9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7tizvvsbjppn2mnh4dta.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aqCGxHr9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7tizvvsbjppn2mnh4dta.jpg" alt="Bubble"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The current COVID-19 pandemic is a great setback, as we go through it, seeing and feeling what a pandemic is. I think, unknowingly our society had another pandemic embedded into it, which to this day, hasn’t been much noticed and no cure developed for it.  I would call that pandemic, the society’s algorithm for literally categorizing everything possible. This attempt of categorization is backed by the idea of understanding, the happening but I would like to add that such attempts of categorization have crept into our skin by fueling concepts such as racism, radicalism, and hierarchies. There is a category, I myself would specifically want to talk about, it is the category of the doers and the thinkers where one does and the other does not. In my opinion, the word the thinkers are totally out of context to the word doers, therefore, I would like to replace the word with doers and the no doers because thinking is a requirement for enabling one to do something, imagine doing something without thinking, it would simply not fit but somehow the comparison has been accepted by the majority that those that think simply are unequipped to do anything. 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CTIylP8E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/11oyvhq63gj7e39u0xl7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CTIylP8E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/11oyvhq63gj7e39u0xl7.jpg" alt="Loop"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Let’s talk about the no doers a little. The question at pace would be, how does one do something to become a no doer? A no doer would seem like someone moving through a river but ending nowhere. Someone who seems to pass by something but still remains there. In a more general perspective, an illusion of movement yet it remains there. Now with reference to such a definition, there is a lot around me and perhaps you, people, places, ideas, abilities, and life that would seem fitting to it. Yes, it is fitting, like those people might have met 3 years back, and they were at a position in a company, and today they still are there but when you ask, they just seem to complain that they are unable to do something about it or perhaps they are doing but the result cannot be seen. It is as if they are stuck in an endless loop of time that just repeats and repeats. The repetition is what can be termed as a pattern. A process that leads to the same result no matter what changes. I think some might term that insanity, trying to do the same thing again and again and expecting a different result. 
Let’s try defining, what a doer is. A doer should be the opposite of a no doer. The opposite would say that a doer would seem like someone not moving through the river and yet ending somewhere. Now to me this river really makes context, it is the river where people want you to just go with the flow, not oppose it whereas my question is if you want to be a doer, you shouldn’t be in a river where everything is about to go with the flow. From a general perspective, a doer would have no illusion of movement, therefore it doesn’t remain at a single point. A doer is someone constantly in motion, either at one point or another but not the same point where it as reached does it reach again. A doer is like what we say about lightning, that which does not strike the same place twice. Therefore, doers are unpredictable, and this unpredictability in anything is what I call power. There is no pattern to it, the doership of one’s struggle. 
I have a little dilemma that I have observed, it is the idea of predestination. I would say it is a theory, that all one does and will is fixed and no matter what he or she does, it cannot change. Think of an industrialist, a businessman of the dark ages. One who is smart, cunning like a fox, and a great observant. One who is dramatic and has touch of dictatorship to him. One who is power-hungry and has discovered how much man is inclined to find answers in the abyss of the unknown element of life. Now, these characteristics boiled together will make one wary of competition and because of this fear of competition one needs to stay on top of the food chain. He will surely use the idea of predestination to socially restrict his peers and society because that is the only way, he can ensure that the power struggle stays within his lineage. The idea of predestination fixates one in what one cannot be and what one should be i.e defined by systems and people around him. Once fixated, he or she repeats becoming a pattern, and patterns produce the same result over and over again while the human nature in this pattern expects something different. To find a different place in life, one that is better than what you think you currently have, one needs to break the pattern, and to break the pattern, one needs to adapt to doership and leave behind the idealogy of no doers that prisons people to restrictions. Earlier, I did mention that the word thinkers was out of context, you are not born or predestined to fixation, you can always think out of it, and change the current result. Man’s ability to learn out of situations is what makes him truly unpredictable, unpredictable as lightning does not strike the same place twice. So by violating, the law of predestination set by some fanatic person from the dark ages, you become the embodiment of free will, a  will that is powerful beyond measure, to give you whatever you desire. 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Reference&lt;br&gt;
&lt;a href="https://www.dictionary.com/"&gt;https://www.dictionary.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://unsplash.com/"&gt;https://unsplash.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.pexels.com/"&gt;https://www.pexels.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>general</category>
    </item>
    <item>
      <title>How I started my IoT Company?</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Thu, 19 Mar 2020 08:14:43 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/how-i-started-my-iot-company-with-a-product-5a95</link>
      <guid>https://dev.to/th3n00bc0d3r/how-i-started-my-iot-company-with-a-product-5a95</guid>
      <description>&lt;p&gt;A biological marvel, the human itself known as homo sapiens. In the Latin language, it stands for a wise man. A wise man that survived about 200,000 years of evolution and extinction. There are many perspectives towards its survival and today I would like to share my perspective, slightly vague but different. There is a concept of what drives you that has become popular within the last decade. Certain presumptions about the driving force are based upon raw emotional aspects such as passion and rage. I find to myself that these aspects are reactions to our stubbornness to keep on going on but the negative aspect is that these reactions are short-lived and eventually man settles with peace. I would like to share a certain experience in a short period of my life that has produced results beyond my expectations. It is a small story of how I created my IoT Device converted into a product and made a company out of it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1ehCuk8y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7vnqlxchaq4cx3bsmlg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1ehCuk8y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7vnqlxchaq4cx3bsmlg.jpg" alt="IoT Roadmap"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It all starts with what I had observed about me, it’s called self-recognition. It is a subjective evaluation of my image that encompassed my beliefs. In a world connected by the internet that has enabled us to communicate faster, our horizon for success has far broadened more than we can actually digest. From stories of small startups evolving into big enterprises and basic ideas which we ignore on daily basis that have become world-changing solutions, the urge seeps in us, an urge to be part of this transformation, an urge to be not left behind. It is this urge that pushes us to buy the latest versions of the things that we use daily, like smartphones, laptops, computers, and cars. This urge is a trigger that satisfies our egos. It ensures titles for example, “I am loved”, “I am worthy”, “I am unloved”, “I know stuff”. These titles are emotional states like pride, despair or shame. A set of evaluations of ourselves in a positive or negative manner, as in how we feel about ourselves. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q1Zfqpg0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.chzbgr.com/full/1549376256/hD56ADB86/well-my-ego-is-this-big" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q1Zfqpg0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.chzbgr.com/full/1549376256/hD56ADB86/well-my-ego-is-this-big" alt="My Ego"&gt;&lt;/a&gt;&lt;br&gt;
Let’s talk about ego, my ego. Ego would mean a heightened extent to which we think of ourselves. Everybody loves to think great about themselves and to my findings, it is that struggle to find ways to think highly of ourselves that pushes and makes us to all these vague things that become our innovation. I would like to mention Sigmund Freud who was an Austrian neurologist and the founder of psychoanalysis, a clinical method for treating psychopathology through dialogue between a patient and psychoanalysis. Freud's perception of ego is simply the regulation of sexual and aggressive impulses that navigate in between our impulses, our demands and the values of the society that surrounds us. I find this as a metaphor for a self-consciousness. Our self-consciousness is a major portion of being which reflects on our thoughts, feelings, and actions. These thoughts, feelings, and actions become the identity that we legitimize. The constant need for us to belong by contribution is perhaps a reflection of our superego which is damped down by the society we live in for their constant need to control our us by eliminating our urges using concepts such as humility through faith. So here I was aiming to achieve self-worth and my journey started. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oogshj1Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://www.quickmeme.com/img/91/911eee9dd518f9097b52fea3439c9756e5ae35e099c2461b6a645c938f9f1caf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oogshj1Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://www.quickmeme.com/img/91/911eee9dd518f9097b52fea3439c9756e5ae35e099c2461b6a645c938f9f1caf.jpg" alt="Research"&gt;&lt;/a&gt;&lt;br&gt;
The second part of my journey began, I call it the big research. At that moment in time, the most initial issue that clogged the news was air quality which greatly influenced me to find possible solutions. The question arises how do you find a solution to a problem. It’s simple, just find what others have done to solve the problem. What you find is what will you be competing with. This is called finding similar products. These are always well-made products designed to certain perspectives perfection. They are all good verses in my opinion but to my ego, I state them as prototypes because these products always have reviews and comments that are more interesting than the product itself. Now what you have are their users opinions telling what they expected and what they found. The expected part of the opinion is the shortfalls and to my amazement, some bigger products have a user base that is actually hacking sometimes the software and the hardware to better suit it for their own personal requirements. These hacks and fixes are what they expect it to be. Your ingredients are complete, you have the perfect formula for your own creation. You take the product, change it by the users opinions and apply the hacks and fixes to it and what you have in your own product. I like to repeat the process around 3-5 times before I can start documenting my findings. Now, this collection of findings is your formula for which you have to arrange all the raw materials needed for it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vFUzTEJd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://www.quickmeme.com/img/48/48ac031c47b6410bca8c01e7495463d8b2d9f0670e604a6f54a845e0a77a12b7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vFUzTEJd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://www.quickmeme.com/img/48/48ac031c47b6410bca8c01e7495463d8b2d9f0670e604a6f54a845e0a77a12b7.jpg" alt="Circuits"&gt;&lt;/a&gt;&lt;br&gt;
Next, I started my approach towards the hardware and you can easily lose your way through it. This stage does carry a bit of weight in your pocket but in the end, it pays off. To start with the hardware, you start by finding a devkit. A devkit is a complete prototype board that has all the basic components for the system on chip to function. Its literally plug and play. All devkit come with their native framework but I would like to say Arduino is your best friend. Arduino is an open-source software and an integrated development environment that has a simple and accessible user experience. It is based on C programming language which can be easily expanded by using their libraries in C++. Now Arduino is compatible with multiple devkits and it will save you a lot of pain. There are a lot of tutorials on YouTube and Google which can easily help you absorb the language, so plus one for acquiring this new skill. You have the devkit and the language, now get the sensors and make them work one at a time with the devkits. If you're using multiple sensors, each time you make one work, save your work as per individual sensor. Once you get all sensors working now it’s time to merge all the sensors together. I like to refer to this process as a divide and conquer by breaking a bigger problem into smaller problems and just focusing on one smaller problem at a time. It just solves so fast. &lt;/p&gt;

&lt;p&gt;Once you have all the sensors and the hardware code working, I say compile them up on a breadboard and make it work so it works in harmony with each other. At this stage, you should have your hardware prototype up and running. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pg_I4RDl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://i.imgur.com/XmjrCwF.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pg_I4RDl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://i.imgur.com/XmjrCwF.jpg" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Once upon a time, there was a server and an IT guy who used to manage the server. The server had a fixed IP and was either running Windows Server or a Linux Version. The IT guy was 24 hours online with no sleep always looking at his computer screen into a terminal with all the fascinating green text scrolling up. Every now and then an evil hacker came and put his sleepless nights to waste by putting the server out of use. The IT guy got frustrated to a point at which he committed suicide by quitting the IT. Eventually, the number of IT guys started fading away until one day a cloud came. It was a big white glooming cloud that showered gave shade and showered rain to the IT guys. The IT guys stopped committing suicide and started sleeping more. They were at ease and rarely a hacker could render their server offline. They flourished and multiplied in numbers and lived happily ever after. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X7YSxAaa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://techcrunch.com/wp-content/uploads/2017/05/onedrive-illo3.jpg%3Fw%3D1390%26crop%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X7YSxAaa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://techcrunch.com/wp-content/uploads/2017/05/onedrive-illo3.jpg%3Fw%3D1390%26crop%3D1" alt=""&gt;&lt;/a&gt;&lt;br&gt;
So what is the cloud? The cloud is an on-demand delivery network of IT resources over the internet. It follows the model of pay as you go. Instead of purchasing and maintaining a physical server, you access server services such as computing, storage, and database as on needed basis, everything else is handled by the cloud and the leading cloud provider today is Amazon Web Services. Now if you want consistency and persistence in your service, you have to be on the cloud. Keeping IoT (Internet of Things) in context, AWS (Amazon Web Services) has a beautiful service known as AWS IoT core. It works upon MQTT(Message Query Telemetry Transport). MQTT is a very lightweight protocol that transports messages from devices to the internet. It is designed for connections with remote locations where a very lightweight data packet is preferable when bandwidth is limited. Now you have your prototype board communicating with the internet on the cloud using MQTT. The data that you are being sent can now be stored in a database that is existing in the cloud. Once my prototype board was working on a breadboard and the data being sent to the cloud, I started working on the software end of things like handling the data, doing analytics and making the data into useful information. This included small microsystems like user registration and notifications through email. The initial process was using a framework like Angular to build a dashboard that enables me to monitor my hardware on the internet. So here we have another new word and that is Angular. Angular is a JavaScript framework that works by helping you create reusable code as components. It helps you better organize the way you develop things. The great thing about Angular is that there is another framework developed on top of this framework and it's known as Ionic framework. Ionic framework helps you develop a mobile application in HTML, CSS, and JavaScript which is then ported into an Android and IOS application. Now, you have the best of both worlds. By this time, you should have a bigger and clearer picture of where you are going and let me tell you, it is way satisfying when reaching this stage. &lt;/p&gt;

&lt;p&gt;Lets get back to the hardware, so now you have your software and cloud figured out, what to do next. Take your breadboard circuit and use a piece of software known as Autodesk Eagle. Autodesk Eagle is an electronics schematic and board design software. You create your circuit logic as a schematic in Eagle and then convert it into a board. Now you have a board and you export it using Eagle as Gerber files. A Gerber file is used for printing a printed circuit board. It is a standard used by the PCB manufacturing industry. Now you have the Gerber files so open up google and search for PCB manufacturers in your area. I got my PCBs from china and a very famous one that is always putting google ads is allpcb.com. They are cheap and have a really nice online system to place your order and keep track of your PCB manufacturing process. You should at this stage place an order of your PCBs and in the time, it reaches you, lets work on designing the enclosure of your IoT device. Autodesk software is fully connected using the cloud; therefore, you can export your board to Autodesk Fusion 360 within Autodesk Eagle. Autodesk Eagle is a 3D modeling product design software and its neat. Once you have your boards with exact measurements to scale in Autodesk Fusion, your all good to design the enclosure around it. I think at this point, I highly recommend purchasing a 3D printer like Ender 3 Pro because it will help you reduce your prototype for enclosure costs substantially. Get your design finalized in Autodesk Fusion and give it to a 3D printing service or your 3D printed to print it. Now put those PCBs into the enclosure and give it a run. There you have it a complete prototype of your IoT product. I always pay special notice and attention to detail on how the product looks before finalizing my enclosure design. &lt;/p&gt;

&lt;p&gt;Once your enclosure design is finalized, you need to find a company that provides injection molding for your enclosure. Injection molding is a process of producing parts by injecting material in a mold. It is very cost-effective and puts your product into a production line. Almost all of these companies have a mold maker. This mold maker will take your design and create a mold for you. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U6xDUBBF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.mos.cms.futurecdn.net/9xUKWKsK4qmdnMgQ67vjFY-970-80.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U6xDUBBF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.mos.cms.futurecdn.net/9xUKWKsK4qmdnMgQ67vjFY-970-80.jpg" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Your all ready for launch now. Make some great packaging and branding for your IoT device, polish your hardware and software, create a perfect landing page and get into the growing market of IoT devices by bringing in your innovation to technology. &lt;/p&gt;

&lt;p&gt;At the end of this article, I would like to say, it was a fabulous journey for me and by the end of the road lay the fruits of my labor that surely satisfied and boosted my ego to proudly call myself from a league of entrepreneurs struggling their way to the top.  &lt;/p&gt;

&lt;p&gt;References&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Self-esteem"&gt;https://en.wikipedia.org/wiki/Self-esteem&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.psychologytoday.com/intl/blog/theory-knowledge/201306/the-elements-ego-functioning"&gt;https://www.psychologytoday.com/intl/blog/theory-knowledge/201306/the-elements-ego-functioning&lt;/a&gt;&lt;br&gt;
&lt;a href="https://aws.amazon.com/what-is-cloud-computing/"&gt;https://aws.amazon.com/what-is-cloud-computing/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/MQTT"&gt;https://en.wikipedia.org/wiki/MQTT&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Angular_(web_framework)"&gt;https://en.wikipedia.org/wiki/Angular_(web_framework)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Gerber_format"&gt;https://en.wikipedia.org/wiki/Gerber_format&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Injection_moulding"&gt;https://en.wikipedia.org/wiki/Injection_moulding&lt;/a&gt;&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What I have been doing and What would you like to learn from it?</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Fri, 13 Mar 2020 20:45:37 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/what-i-have-been-doing-and-what-would-you-like-to-learn-from-it-39he</link>
      <guid>https://dev.to/th3n00bc0d3r/what-i-have-been-doing-and-what-would-you-like-to-learn-from-it-39he</guid>
      <description>&lt;p&gt;Hello Readers,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7yhWPdfi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/iptkijr1y7gr9qhjhctd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7yhWPdfi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/iptkijr1y7gr9qhjhctd.jpg" alt="Air Patrol"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Long time, Been busy with a personal project becoming a company. In short, I am making an Air Quality Monitor and Purifier connected to the Cloud.&lt;/p&gt;

&lt;p&gt;The Following Skills I have worked and achieved;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ESP32 Using Arduino and ESP-IDF&lt;/li&gt;
&lt;li&gt;PCB Design Using Eagle&lt;/li&gt;
&lt;li&gt;Autodesk Fusion 360 Enclosure Design&lt;/li&gt;
&lt;li&gt;Arduino to AWS Cloud&lt;/li&gt;
&lt;li&gt;Docker Containerization Using AWS ECS for Stateless Service&lt;/li&gt;
&lt;li&gt;Angular Dashboarding&lt;/li&gt;
&lt;li&gt;Ionic Framework Mobile App Android and IOS&lt;/li&gt;
&lt;li&gt;AWS Elastic Beanstalk NodeJS&lt;/li&gt;
&lt;li&gt;MariaDB DB and Redis Memory Storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;was wondering what would you guys be interested in, thinking about sharing what I have done and how.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Handling Node.JS as an Asynchronous Application with Error Handling</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Fri, 31 Jan 2020 10:40:55 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/handling-node-js-as-an-asynchronous-application-with-error-handling-1840</link>
      <guid>https://dev.to/th3n00bc0d3r/handling-node-js-as-an-asynchronous-application-with-error-handling-1840</guid>
      <description>&lt;p&gt;&lt;strong&gt;This article is about implementing asynchronous calls in JavaScript and Node.JS.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;In this article, you will learn how to implement the following coding practices&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;differentiate between a Synchronous and Asynchronous Call&lt;/li&gt;
&lt;li&gt;execute functions in Concurrency&lt;/li&gt;
&lt;li&gt;execute Promises in an Asynchronous Call&lt;/li&gt;
&lt;li&gt;wait for a function to execute before continuing&lt;/li&gt;
&lt;li&gt;prevent a Node.JS Application from Breaking&lt;/li&gt;
&lt;li&gt;handle errors of consecutive running functions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Asynchronous calls are the knife and butter for a JavaScript developer. JavaScript, as a language, is a single-threaded engine which means that one thing can happen at one time. This is called single threading. This does bring in simplicity but holds one back from performing time-consuming operations. The time for an operation in a web application is termed as its operation cost, and for Javascript developers, pushing an application to be performative, means that we reduce this operation cost to as low as possible. This process of reducing the cost is called optimization of an application. Therefore, to run such concurrency in a Javascript code, we use asynchronous calls.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is a synchronous call?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A synchronous call the code that is being executed i.e the program itself, will wait for each line to run before moving on wards to the end of the program. It can be further illustrated by stating that each operation will complete before starting the next operation. The time needed to execute the operation is known as the latency or lag the user perceives. The order of the code matters in synchronous calls. Most of the code that you have written in Javascript is running as synchronous. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sample Code of a Synchronous Call&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 printToConsole = (msg) =&amp;gt; {
  console.log(msg);
}

const myFunctionOne = () =&amp;gt; {
  printToConsole('Hello From Soshace, I am Number One');
}

const myFunctionTwo = () =&amp;gt; {
  printToConsole('Hello From Soshace, I am Number Two');
}

const displayMessages = () =&amp;gt; {
  myFunctionOne();
  myFunctionTwo();
  printToConsole('Dude, I am from the Third');
}

displayMessages();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Output of the Code&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jVZMvbpJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/thmBk8n/Screenshot-2019-11-15-at-8-44-00-AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jVZMvbpJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/thmBk8n/Screenshot-2019-11-15-at-8-44-00-AM.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To better understand the output of the code, Javascript creates an environment which calls the main() function. The main() function is the single-core thread of Javascript itself. This environment is like a stack on top of which the displayMessage() function is added.&lt;/p&gt;

&lt;p&gt;The displayMessage() function holds a set of functions. The first one that is executed is myFunctionOne() therefore it is added on the top of the execution stack. myFunctionTwo() functions follows and the last one to get executed is printToConsole() function. At this point, no function is executed — only queued, until no function is left in the program.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W5MhzpOr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/VLqCT28/call-stack-1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W5MhzpOr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/VLqCT28/call-stack-1.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once there are no functions left, the queue starts emptying up one by one starting from the bottom which, in this case, first executes the main() thread and then the displayMessages() function. The first output in the console will be of myFunctionOne(), which is “Hello from Soshace, I am Number One”, then the second console output will be from myFunctionTwo(), which is “Hello from Soshace, I am Number Two”. After the last function, which is printToConsole() is out, it will finally output to the console “Dude, I am from the Third”. This environment created by Javascript is known as an Execution Context and the queuing process is known as the Call Stack.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--worRDvW8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/wMcpzrt/call-stack-2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--worRDvW8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/wMcpzrt/call-stack-2.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is an Execution Context?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;JavaScript creates an environment where it examines the code and performs basic execution tests for any possible errors and then executes the code. This is done as a global context so, if a new function gets executed, it will repeat the process. This environment is called the execution context.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is a Call Stack?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;JavaScript creates a stack, where it keeps a record of the functions that are being run as code. This stack is a Last-In-First-Out (LIFO). When JavaScript runs the code, it adds the function into this stack and starts carrying it out. Any function further more down the line is pushed to it and carried out in order.&lt;/p&gt;

&lt;p&gt;The diagram illustrates the creation of the execution context, which is the main(), and as it starts pouring in the function until it runs out of function to run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Asynchronous Call&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the following code, we are creating a delay function. The delay function promises us a value after it is executed in the console. A promise with respect to the delay function is an object that will return us a value somewhere in the future. Next we have written an async function that will execute the promises and at the end should print us a message.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myDelay = (ms) =&amp;gt; {
    return new Promise((resolve) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            console.log('Delayed');
            resolve();
        }, ms);        
    })
}

const myFunction = async () =&amp;gt; {
    myDelay(2000);
    myDelay(2000);
    console.log('End of the Line');
}

myFunction();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gHhcfK0z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/BPsJ8LZ/Screenshot-2019-11-15-at-9-48-33-AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gHhcfK0z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/BPsJ8LZ/Screenshot-2019-11-15-at-9-48-33-AM.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, the code was executed in concurrency where it did not wait for the delay function to execute and moved to the end of the code to complete its call stack. This can be troublesome in use cases, where you want to wait for a value from a network call before proceeding on with the code. To fix such an issue we use the ‘await’ keyword in javascript.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myDelay = (ms) =&amp;gt; {
    return new Promise((resolve) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            console.log('Delayed');
            resolve();
        }, ms);        
    })
}

const myFunction = async () =&amp;gt; {
    &amp;lt;strong&amp;gt;await&amp;lt;/strong&amp;gt; myDelay(2000);
    &amp;lt;strong&amp;gt;await&amp;lt;/strong&amp;gt; myDelay(2000);
    console.log('End of the Line');
}

myFunction();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7ystwOWD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/k49WZKf/Screenshot-2019-11-15-at-9-54-56-AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7ystwOWD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/k49WZKf/Screenshot-2019-11-15-at-9-54-56-AM.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, our JavaScript will wait for the function to complete and keep its promise before rushing into completing the script. This is highly effective in doing network calls and waiting for data to form from the network. Once you receive the data then you can process the data received from the network call and proceed with your application. It also ensures that nothing is missed or skipped during the execution of the code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Handling Errors&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We are now creating a function that will help us simulate an error.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const simulateError = async () =&amp;gt; {
    throw new Error('Failure!')
}

simulateError();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YFMwVXEo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/JBzL5pw/Screenshot-2019-11-15-at-10-03-35-AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YFMwVXEo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/JBzL5pw/Screenshot-2019-11-15-at-10-03-35-AM.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This has literally broken our application, now, if this was a production-level application, one would lose all contact to the backend API and lose the server from serving people currently using the application which nobody wants.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const simulateError = async () =&amp;gt; {
    throw new Error('Failure!')
}

simulateError()
.catch(
  (error) =&amp;gt; {
    console.log(error)
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The catch clause will ensure that our application is not broken from serving our clients. Let’s look at the output.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yEH_arvj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/6g1m9PR/Screenshot-2019-11-15-at-10-10-58-AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yEH_arvj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/6g1m9PR/Screenshot-2019-11-15-at-10-10-58-AM.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, it has warned us of the same danger but has kept our application alive. This is helpful when working with production level apps that should not break out of the process and require manual restarting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Error Handling in a Chain of Promise Events&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A typical case would be of running multiple await statements and having a couple of them produce an error. The code can become really messy to handle it but there is a better way of doing it with a much cleaner code organization.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const simulateError = async () =&amp;gt; {
    throw new Error('Failure!')
}
const produceMultipleErrors = async _ =&amp;gt; {
  const one = await simulateError()
  const two = await simulateError()
  const three = await simulateError()
}

produceMultipleErrors()
    .catch(
        (error) =&amp;gt; {
            console.log(error)
        });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above code will allow us to compile errors into a single stack and produce it as all the calls are asynchronously executed. This is a great error handling technique that comes in handy when writing bigger applications. Error handling is an important part of any application which a lot of developers overlook.&lt;/p&gt;

&lt;p&gt;Recently, I did come up with various situations when building up my own social media, but this allowed me to solve the hiccups in my code in a much cleaner and more precise way. I think the use of asynchronous functions in your code helps you in making your application mode dynamic and robust, therefore promising that your application would eventually survive the hardened road bumps of the development stage into the production stage.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Suggestions: Starting Live Coding Sessions: Weekly</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Mon, 11 Nov 2019 13:31:32 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/suggestions-starting-live-coding-sessions-weekly-30df</link>
      <guid>https://dev.to/th3n00bc0d3r/suggestions-starting-live-coding-sessions-weekly-30df</guid>
      <description>&lt;p&gt;I am thinking on setting up the following;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Twitch Stream of Weekly Live Coding Sessions with Questions and Answers&lt;/li&gt;
&lt;li&gt;Dev.to Post and Discord Channel for Instant Communication for Future Topics &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Topics for Session: November&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Introduction

&lt;ul&gt;
&lt;li&gt;Our Goals&lt;/li&gt;
&lt;li&gt;What we are expecting in these sessions&lt;/li&gt;
&lt;li&gt;Your Introduction&lt;/li&gt;
&lt;li&gt;Possible Outcomes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Setting Up Operating System Environments

&lt;ul&gt;
&lt;li&gt;Windows Pros and Cons&lt;/li&gt;
&lt;li&gt;MAC Pros and Cons&lt;/li&gt;
&lt;li&gt;Linux Pros and Cons&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;My First index.html Page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Further suggestions are always welcomed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://forms.gle/mkkkBSqVNrWYA8aj6"&gt;Google Form: Register Here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>javascript</category>
      <category>html</category>
    </item>
    <item>
      <title>Noob Exercises</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Sat, 09 Nov 2019 14:48:38 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/noob-excercises-19kj</link>
      <guid>https://dev.to/th3n00bc0d3r/noob-excercises-19kj</guid>
      <description>&lt;p&gt;Just started with a place, where I am trying to give some of people, I have been teaching some assignment, thought if there are more people interested in it, would be a good share.&lt;/p&gt;

&lt;p&gt;We are starting with Vanilla JS, CSS and HTML&lt;/p&gt;

&lt;p&gt;I will be personally looking at all submission and will do my best to comment on the submissions to my full knowledge.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/th3n00bc0d3r"&gt;
        th3n00bc0d3r
      &lt;/a&gt; / &lt;a href="https://github.com/th3n00bc0d3r/Noob-Exercises"&gt;
        Noob-Exercises
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A repository for Exercises given to better your programming skills
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Noob-Exercises&lt;/h1&gt;
&lt;p&gt;A repository for Exercises given to better your programming skills&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Assignment 1&lt;/strong&gt;
Language: HTML, CSS, Vanilla JS&lt;/p&gt;
&lt;p&gt;Create a Form with two inputs. An input for username and another for a password. Check if username and password are both equal to the following;&lt;/p&gt;
&lt;p&gt;Username: noob
Password: noob&lt;/p&gt;
&lt;p&gt;If the above username and password is correct, It should print that user has successfully logged in.&lt;/p&gt;
&lt;p&gt;If the above case is not true, it should print that the credentials are incorrect.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Assignment 2&lt;/strong&gt; Extending Assignment 1&lt;/p&gt;
&lt;p&gt;Send a HTTP Call to &lt;a href="https://www.mocky.io/" rel="nofollow"&gt;https://www.mocky.io/&lt;/a&gt; and get a JSON Response that should be printed in the html document in an element for Authentication&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to Submit&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Fork Master Branch&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clone Repo to your Computer&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git clone your_repo_address
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a New Branch&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git checkout -b new_branch_bame
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a New Folder by the assignment_XX where XX is number&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Push Branch to your Forked Repo&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git add&lt;/code&gt;&lt;/pre&gt;…&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/th3n00bc0d3r/Noob-Exercises"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>html</category>
      <category>tutorial</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>CSS Noob Basics</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Fri, 08 Nov 2019 00:42:50 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/css-noob-basics-1lkl</link>
      <guid>https://dev.to/th3n00bc0d3r/css-noob-basics-1lkl</guid>
      <description>&lt;p&gt;Cascading style sheets ordinarily known as CSS is a language that illustrates how the elements of the HTML are to be presented on any media.CSS was proposed by Hakon Wium Lie on October 10, 1994. Several other style sheet languages were proposed at about the same time for the web. But the first one to be introduced was CSS1 and it was introduced in 1996. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS SYNTAX&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A CSS-rule set consists of a selector and a declaration box. The_ &lt;strong&gt;selector&lt;/strong&gt;_ points towards the element of  HTML which you want to style. The &lt;strong&gt;&lt;em&gt;declaration box&lt;/em&gt;&lt;/strong&gt; consists of one or more declarations which are separated by semicolons “;”. A CSS declaration always ends with a semicolon, and declaration blocks are surrounded by flower brackets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--53e95OjD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/RcNtMPW/CSS-SYNTAX.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--53e95OjD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/RcNtMPW/CSS-SYNTAX.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just as the screenshot shows, the syntax is as simple as that. Firstly, you have to write the name of your selector like H1 then the opening curly brackets and then you have to write the property and then a colon sign and then the value you wish to give to the property followed by a semi-colon then again the closing flower braces.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS SELECTORS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want to “find” or select the HTML elements you want to style then you will have to use the CSS selectors. We can divide the CSS selectors into five categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Simple selectors.&lt;/li&gt;
&lt;li&gt;Combinator selectors&lt;/li&gt;
&lt;li&gt;Pseudo class selectors&lt;/li&gt;
&lt;li&gt;Pseudo elements selectors&lt;/li&gt;
&lt;li&gt;Attribute selectors&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Combinator selector:&lt;/strong&gt; It explains the relationship between the selectors. A CSS selector can contain more than one simple selectors. Between the simple selector, we can include a combinator.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple selectors:&lt;/strong&gt; It selects elements on the basis of name id and class.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pseudo-class selectors:&lt;/strong&gt; It is used to define a special state of an element, for example, the hover effect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pseudo-elements selectors:&lt;/strong&gt; It is used to style specified parts of an element for example style the first letter or line of an element.&lt;/p&gt;

&lt;p&gt;**Attribute selectors: **style HTML elements with specific attributes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS COLORS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Colors are one of the very important features whenever we talk about the formatting and giving some attractive looks to our web page. We can write colors in four different ways.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Passing the HEXAdecimal code. (also known as (HEX-CODE)&lt;/li&gt;
&lt;li&gt;Short HEXAdecimal code. (also known as short HEX-CODE)&lt;/li&gt;
&lt;li&gt;RGB absolute.&lt;/li&gt;
&lt;li&gt;Keywords.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;HEX-CODE:&lt;/strong&gt; In this, we will start with the hash and then followed by a six-digit code for example:-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  #000000 - Black&lt;/li&gt;
&lt;li&gt;  #FF0000 - red&lt;/li&gt;
&lt;li&gt;  #00FF00 - green &lt;/li&gt;
&lt;li&gt;  #0000FF - blue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;**Short HEX-CODE: **To write the color in short hex-code the rule is almost the same as the HEX-CODE but is shorter for instance:-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  #000 - black&lt;/li&gt;
&lt;li&gt;  #F00 - red&lt;/li&gt;
&lt;li&gt;  #0F0 - green&lt;/li&gt;
&lt;li&gt;  #00F - blue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;RGB Absolute: **There&lt;/strong&gt; **are three basic colors in the world all the other colors are the mixture of these three colors. So RGB red green blue, the format is as under&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  RGB(0,0,0) - black&lt;/li&gt;
&lt;li&gt;  RGB(255,0,0) - red&lt;/li&gt;
&lt;li&gt;  RGB(0,255,0) - green&lt;/li&gt;
&lt;li&gt;  RGB(0,0,255) - blue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CSS BACKGROUND&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These background properties are used to define the background properties of web elements. In this article, we will describe two properties of CSS background.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Background color &lt;/li&gt;
&lt;li&gt;  Background image&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;BACKGROUND-COLOR&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The background-color property allows setting the background color of an HTML element. We can set this property to a predefined color name, color value or transparent. Color name includes the name of the color and color value includes the color code like hex code etc. In the following example, we are going to give a green background color to the heading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BACKGROUND-IMAGE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The background image property specifies an image to use as the background of an element. In CSS by default, the image is repeated so that it can cover the background. So what it means is that if you want to apply your own picture in the background of your web element then you just have to save that image in your folder and then give that address in the code as shown in the following screenshot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2gJSIyk7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/BtQ9Dvz/SC2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2gJSIyk7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/BtQ9Dvz/SC2.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS BORDER&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This property of the CSS allows you to write your text or picture in a border and what’s more is that you can specify the style, height, and width of your border. There are different styles of borders as such as dotted, dashed, solid, double, groove, ridge, inset, outset, and hidden. The example is shown in the form of the following screenshot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OkKJTSp_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3h8g2zy/SC3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OkKJTSp_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3h8g2zy/SC3.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS Margins&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The elements which are outside any defined borders are given space around them using the CSS margin property. If you want to have an equal space around your test from all the four sides then it the best property for you. You can see for yourself in the following screenshot. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gAesbERh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/89zv1BJ/SC4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gAesbERh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/89zv1BJ/SC4.png" alt="alt_text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS PADDING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The elements which are inside any defined borders are given space around them using the CSS padding property. The syntax is the same as the syntax of the CSS margin property. You give padding to all sides of your element. there are properties for all the sides of the elements which are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Padding-top&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b4tJsMyC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/H2jWYnk/SC5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b4tJsMyC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/H2jWYnk/SC5.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Padding-right&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3mNJdN6F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QQf8hjb/SC6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3mNJdN6F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QQf8hjb/SC6.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Padding-left&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iF_J7Tzd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/ZfH52ZF/SC7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iF_J7Tzd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/ZfH52ZF/SC7.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Padding-bottom&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xqoVGre4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QY6Lzs7/SC8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xqoVGre4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QY6Lzs7/SC8.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Individual padding:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The following screenshot shows padding from right, left, top and bottom.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iJ5VFzu4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/nkZL88b/SC9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iJ5VFzu4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/nkZL88b/SC9.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS HEIGHT/WIDTH&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As the name suggests this property is used to set to height and width of an element. It does not include margin or padding it the height and width of the elements inside margin, padding, and borders. It has the following five values:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Auto: the browser calculates the height and width&lt;/li&gt;
&lt;li&gt;  Length: it defines the property in pixels or centimeters.&lt;/li&gt;
&lt;li&gt;  %: it defines the property in percentage.&lt;/li&gt;
&lt;li&gt;  Initial:  sets the default value of the height or width.&lt;/li&gt;
&lt;li&gt;  Inherit:  height or width will be inherited from parents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gAesbERh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/89zv1BJ/SC4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gAesbERh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/89zv1BJ/SC4.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS LISTS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While developing a web page we mostly have to apply bullets to our text or list of items that we have to display on the web page. For this, CSS lists are used. Now, in lists we have two types of lists one is the ordered list and the other is the unordered list. An ordered list is used when we have to apply simple bullets to our list items and an unordered list means that we have to apply numbers to our list. Both of these properties come in handy whenever we are using list items on our web page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3mNJdN6F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QQf8hjb/SC6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3mNJdN6F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QQf8hjb/SC6.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS DISPLAY&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The display property defines how do you want to display your element and if you even want to apply any effect to your element or not. You can display your element inside an already displayed element, it is known as an inline display.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS POSITION&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The position property is used to specify the positioning method for an element. There are five methods for positioning elements which are given below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Static:&lt;/strong&gt; an element is not positioned in a special way it is positioned according to the flow of the page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gGEK-TEN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3M8NSg0/CSS-POSITION-static.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gGEK-TEN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3M8NSg0/CSS-POSITION-static.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Relative:&lt;/strong&gt; it positions an element away from its actual position. Which can be left, right, top, or bottom relative.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fixed:&lt;/strong&gt; an element with the fixed position will always stay fixed to its position even if the page is scrolled down.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lylVaBav--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/1vTqtkd/CSS-POSITION-fixed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lylVaBav--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/1vTqtkd/CSS-POSITION-fixed.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sticky:&lt;/strong&gt; In this position, the element is positioned relative at first, and when the page is scrolled it becomes fixed to its position.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4N4MY_kP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Qk4JKmB/CSS-POSITION-sticky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4N4MY_kP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Qk4JKmB/CSS-POSITION-sticky.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Absolute:&lt;/strong&gt; in this, the element is positioned relative to the nearest ancestor.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MlwDNj69--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3YKRkvd/CSS-POSITION-absolute.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MlwDNj69--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3YKRkvd/CSS-POSITION-absolute.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS OVERFLOW&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Some times we have to write a very long text on our web page which does not fit in its container. The overflow property is used to control the content which is too big or long to fit in an area. The overflow adds a scroll bar to the container so the reader can scroll down to read the whole text. It is very simple. You just have to write overflow: scroll; This property has the following values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visible:&lt;/strong&gt; the overflow is visible, which means that the property is not clipped and the text will render outside the container.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A0JO7Bba--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/41mk2sS/CSS-OVERFLOW-visible.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A0JO7Bba--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/41mk2sS/CSS-OVERFLOW-visible.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hidden:&lt;/strong&gt; the overflow is cut off. The rest of the content is hidden.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dvLFqakb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/KV0g3Dd/CSS-OVERFLOW-hidden.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dvLFqakb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/KV0g3Dd/CSS-OVERFLOW-hidden.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scroll:&lt;/strong&gt; a scroll bar is added both horizontally and vertically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TI9YbAoT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/WxzwPcS/CSS-OVERFLOW-scroll.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TI9YbAoT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/WxzwPcS/CSS-OVERFLOW-scroll.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto:&lt;/strong&gt; it is similar to scroll but a scroll is only added when needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS FLOAT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is basically to position the whole of the element. The element and all of its contents float to the right or left.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iF_J7Tzd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/ZfH52ZF/SC7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iF_J7Tzd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/ZfH52ZF/SC7.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS IN-LINE BLOCK&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The main difference in the in-line and in-line block is that it allows setting the height and width of the element and it does not allow a line break after the element so that the elements can sit together.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xqoVGre4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QY6Lzs7/SC8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xqoVGre4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QY6Lzs7/SC8.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>[Dream] Blood Billions: A social media for Blood Donors</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Mon, 28 Oct 2019 16:50:11 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/dream-blood-billions-a-social-media-for-blood-donors-47i4</link>
      <guid>https://dev.to/th3n00bc0d3r/dream-blood-billions-a-social-media-for-blood-donors-47i4</guid>
      <description>&lt;p&gt;Its been 5 years, I have been attempting to create it, but failed in doing so. There have been many times, I quit but somehow it never died in me, no matter what. Recently, I was put down for this once more but something in me doesnt want to give up. &lt;/p&gt;

&lt;p&gt;What gives me hope for this project now?&lt;br&gt;
Its knowing the Amazon Cloud&lt;/p&gt;

&lt;p&gt;Why do I think it failed?&lt;br&gt;
A typical server setup, where it was not scalable.&lt;/p&gt;

&lt;p&gt;What is blood billions?&lt;br&gt;
A social media for blood donors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t2dPQAR2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/9tR76kw/Screenshot-2019-10-28-at-9-24-37-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t2dPQAR2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/9tR76kw/Screenshot-2019-10-28-at-9-24-37-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kC6jQytM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/XZyXTdj/Screenshot-2019-10-28-at-9-24-31-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kC6jQytM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/XZyXTdj/Screenshot-2019-10-28-at-9-24-31-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nm5VcoH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/d5Rq0Tw/Screenshot-2019-10-28-at-9-24-21-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nm5VcoH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/d5Rq0Tw/Screenshot-2019-10-28-at-9-24-21-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1dxM7737--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YZNmWD9/Screenshot-2019-10-28-at-9-29-58-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1dxM7737--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YZNmWD9/Screenshot-2019-10-28-at-9-29-58-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cUuX0vz3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/cr41Zcy/Screenshot-2019-10-28-at-9-29-51-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cUuX0vz3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/cr41Zcy/Screenshot-2019-10-28-at-9-29-51-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ScaS6hzH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YPH3Wfj/Screenshot-2019-10-28-at-9-29-42-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ScaS6hzH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YPH3Wfj/Screenshot-2019-10-28-at-9-29-42-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YXXZTm7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/bQDHVBq/Screenshot-2019-10-28-at-9-29-35-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YXXZTm7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/bQDHVBq/Screenshot-2019-10-28-at-9-29-35-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UwHI3HW2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/N9R71Gc/Screenshot-2019-10-28-at-9-29-29-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UwHI3HW2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/N9R71Gc/Screenshot-2019-10-28-at-9-29-29-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3yYkgKr5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/LNGXfsH/Screenshot-2019-10-28-at-9-29-11-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3yYkgKr5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/LNGXfsH/Screenshot-2019-10-28-at-9-29-11-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k2GXOi2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YQfmtM5/Screenshot-2019-10-28-at-9-29-05-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k2GXOi2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YQfmtM5/Screenshot-2019-10-28-at-9-29-05-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JZ-DOaub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/qMrhNR7/Screenshot-2019-10-28-at-9-28-55-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JZ-DOaub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/qMrhNR7/Screenshot-2019-10-28-at-9-28-55-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CIBn6vbn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QKv70Qv/Screenshot-2019-10-28-at-9-28-48-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CIBn6vbn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QKv70Qv/Screenshot-2019-10-28-at-9-28-48-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XW5P0tOy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3YFBp2S/Screenshot-2019-10-28-at-9-28-33-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XW5P0tOy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/3YFBp2S/Screenshot-2019-10-28-at-9-28-33-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VUI2SRmm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/7YDfDfJ/Screenshot-2019-10-28-at-9-28-26-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VUI2SRmm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/7YDfDfJ/Screenshot-2019-10-28-at-9-28-26-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--krnp9xOz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/KhSFQg0/Screenshot-2019-10-28-at-9-27-55-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--krnp9xOz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/KhSFQg0/Screenshot-2019-10-28-at-9-27-55-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JQMt2HA5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/1281Tq5/Screenshot-2019-10-28-at-9-27-46-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JQMt2HA5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/1281Tq5/Screenshot-2019-10-28-at-9-27-46-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1PZS7veD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/g31h8TX/Screenshot-2019-10-28-at-9-27-37-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1PZS7veD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/g31h8TX/Screenshot-2019-10-28-at-9-27-37-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M51Ho0lr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Lzj7kx7/Screenshot-2019-10-28-at-9-27-25-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M51Ho0lr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Lzj7kx7/Screenshot-2019-10-28-at-9-27-25-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j2wloQ70--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/42MjTcM/Screenshot-2019-10-28-at-9-27-09-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j2wloQ70--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/42MjTcM/Screenshot-2019-10-28-at-9-27-09-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D946xTPa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/fkFRpFN/Screenshot-2019-10-28-at-9-25-27-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D946xTPa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/fkFRpFN/Screenshot-2019-10-28-at-9-25-27-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DwUpOmKI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/9VXCB8H/Screenshot-2019-10-28-at-9-25-20-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DwUpOmKI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/9VXCB8H/Screenshot-2019-10-28-at-9-25-20-PM.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_wIr7vyy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/y42CnvV/Screenshot-2019-10-28-at-9-24-50-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_wIr7vyy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/y42CnvV/Screenshot-2019-10-28-at-9-24-50-PM.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hope</category>
      <category>iwontquit</category>
      <category>cloud</category>
      <category>dream</category>
    </item>
    <item>
      <title>Vanilla JS to Jquery: The Noobs Guide</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Wed, 16 Oct 2019 01:14:53 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/vanilla-js-to-jquery-the-noobs-guide-2ghg</link>
      <guid>https://dev.to/th3n00bc0d3r/vanilla-js-to-jquery-the-noobs-guide-2ghg</guid>
      <description>&lt;p&gt;I have been haunted and daunted by Javascript for almost a decade i.e. 10+ Years. These years do make a history for me in programming. Today while teaching one of my newly made friends on a quick course to programming, I stumbled upon some things that I should share and that is Javascript. Let us try to understand it with some examples. &lt;/p&gt;

&lt;h4&gt;
  
  
  Introduction and History
&lt;/h4&gt;

&lt;p&gt;The web has been inclined towards Javascript which made its cover in 1996. A company by the name of Netscape which was famous for its speedy browsers in the mid 90s submmited it to the ECMA International to produce a standardized language which other browsers could implement. I still remember the awe at Netscape Navigator in the 90s. Today we know an entity by the name of Mozilla, a portmanteau of Mosaic and Godzilla. The first version was Mosiac Netscape 0.9, released in 1994.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--usvRGoPq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/S74Rd43/mosaic-netscape-0-9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--usvRGoPq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/S74Rd43/mosaic-netscape-0-9.png" alt="Mosiac Netscape"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Implementation of Javascript in Browser Code
&lt;/h4&gt;

&lt;p&gt;Lets create a folder on your desktop by the name of noobJS and make an index.html file in it. For HTML boilerplate code, I will be using &lt;a href="http://htmlshell.com/"&gt;http://htmlshell.com/&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SxQsKrrC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/GktVMxm/Image-004.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SxQsKrrC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/GktVMxm/Image-004.png" alt="Boiler Plate HTML Code"&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;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;meta charset="UTF-8"&amp;gt;
        &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&amp;gt;
        &amp;lt;meta name="viewport" content="width=device-width,initial-scale=1"&amp;gt;
        &amp;lt;title&amp;gt;Noob JS&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;

    &amp;lt;body&amp;gt;
        &amp;lt;h3&amp;gt;Hello Noobs!&amp;lt;/h3&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now if you double click the file, it will run in the browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VQxo6Cop--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/4FVVyRy/Image-005.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VQxo6Cop--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/4FVVyRy/Image-005.png" alt="Hello Noobs!"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  Button Click Through Vanila JS
&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;h3&amp;gt;Hello Noobs!&amp;lt;/h3&amp;gt;
    &amp;lt;button id="myFirstButton"&amp;gt;Click&amp;lt;/button&amp;gt;

    &amp;lt;script&amp;gt;
        document.getElementById('myFirstButton').onclick = function(e) {
            console.log("Yo Noobs!");
        }
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;To start Javascript, we open a "script" tag and then close it with the same tag name. Everything in between is Javascript.&lt;/p&gt;

&lt;p&gt;"document " is a reference to the current screen which is in view. Now using the getElementById function for document means that Javascript is going to search all elements that have an ID of myFirstButton. An element can be anything from a button or a H3 or any HTML Tag which can be given an ID just by specifying id in it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--peVI1EgU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/r736yw3/Image-006.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--peVI1EgU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/r736yw3/Image-006.png" alt="Console Log"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now if you right click the browser and click inspect, we will have a console where we can print information using the console.log() function. &lt;/p&gt;

&lt;p&gt;Now refresh on the browser and click the button. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J1HrABQR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/LYn9qN0/Image-008.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J1HrABQR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/LYn9qN0/Image-008.png" alt="Print Console"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  What is JQuery?
&lt;/h5&gt;

&lt;p&gt;JQuery is javascript just making it easier to write and more easier to use. It is like re-arranging the same language so that I can make it shorter, more abbreviated hence faster to implement. I would like to metaphorize it as typing Laugh Out Loud again and again but I would prefer using Lol and expect the reader to understand it. &lt;/p&gt;

&lt;p&gt;Lets write the same click function in JQuery. We will first import JQuery using a CDN (Content Delivery Network). Head over to &lt;a href="https://code.jquery.com/"&gt;https://code.jquery.com/&lt;/a&gt; and click on minified jQuery Core 3.4.1&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zoXcejg7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/hCrHm4g/Image-009.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zoXcejg7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/hCrHm4g/Image-009.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ugfnKfBl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/rHGRrKT/Image-010.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ugfnKfBl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/rHGRrKT/Image-010.png" alt=""&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;head&amp;gt;
        &amp;lt;meta charset="UTF-8"&amp;gt;
        &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&amp;gt;
        &amp;lt;meta name="viewport" content="width=device-width,initial-scale=1"&amp;gt;
        &amp;lt;title&amp;gt;Noob JS&amp;lt;/title&amp;gt;

        &amp;lt;script src="https://code.jquery.com/jquery-3.4.1.min.js"
            integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;/head&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Add it to the Head of the index.html file&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;body&amp;gt;
    ...
    &amp;lt;button id="mySecondBUtton"&amp;gt;JQuery: Click&amp;lt;/button&amp;gt;
    ...
&amp;lt;/body&amp;gt;
&amp;lt;script&amp;gt;
document.getElementById('myFirstButton').onclick = function(e) {
    console.log("Yo Noobs!");
}

$('#mySecondBUtton').click((e) =&amp;gt; {
    console.log("Not a Noob Anymore!! Heh!!");
});
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now JQuery once imported initializes with the tag of "$" and then comes the brackets which in quotes becomes a selector from the document. If with context to javascript this is getElementBy, it can either be a class with a dot or a id with a Hash. Therefore, if you compare it is way shorted just like LOLs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8keaUXNQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/gmtcZVF/Image-011.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8keaUXNQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/gmtcZVF/Image-011.png" alt="Jquery Click"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Making a GET Call using Vanila JS
&lt;/h3&gt;

&lt;p&gt;Lets try to fetch some data through a Get Call, so that we are now communicating in the Javascript. First we need some Mock API and we have a tool for it. Head over to &lt;a href="https://www.mocky.io/"&gt;https://www.mocky.io/&lt;/a&gt; and scroll down to the body. We will write a simple response in JSON (Javascript Object Notation).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gvieKkBs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/WG9kvYm/Image-013.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gvieKkBs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/WG9kvYm/Image-013.png" alt="Mock JSON"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now click on Generate and it will give you an endpoint for the Get Call. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r_8DEYJZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Z1GHJrN/Image-014.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r_8DEYJZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Z1GHJrN/Image-014.png" alt="Endpoint"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next create a new button and call it in the script tab&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;body&amp;gt;
...
&amp;lt;button id="myFirstCall"&amp;gt;Javascript: Get Data&amp;lt;/button&amp;gt;
...
&amp;lt;/body&amp;gt;
&amp;lt;script&amp;gt;
...
document.getElementById('myFirstCall').onclick = function(e) {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 &amp;amp;&amp;amp; this.status == 200) {
            console.log(this.responseText);
        }
    };
    xhttp.open("GET", "http://www.mocky.io/v2/5da666b83400001528633045", true);
    xhttp.send();                
}
...
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Javascript has an class that handles all the API in the form of an object. This object allows transfer of data between a web browser and a web sever. We have created an object as var xhttp. Next we are listening if there is a change of state which detects whether the call has been run or not. this.readyState is 4 when everything is OK, which puts in a nice check so that during the call we dont break the code and response of 200 means all is good that the webserver responded successfully with some data. this.responseText contains the required data that we want to attain. &lt;/p&gt;

&lt;p&gt;Next we open the connection and then we send the request. Lets refresh the page and click the button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Fy98KP74--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/7Cr1Sw8/Image-016.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fy98KP74--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/7Cr1Sw8/Image-016.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see we now have the response with all the wiggly brackets. Let convert the response into an object by parsing the JSON.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (this.readyState == 4 &amp;amp;&amp;amp; this.status == 200) {
    console.log(JSON.parse(this.responseText));            
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Aeh6ngMO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/rs5X4mW/Image-017.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Aeh6ngMO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/rs5X4mW/Image-017.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see by just using JSON.parse() we are able to convert the response from wiggly to usable object. To get the message you can use the following code now;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;JSON.parse(this.responseText).msg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h5&gt;
  
  
  Making a Get Call using JQuery
&lt;/h5&gt;

&lt;p&gt;Lets do the same thing with JQuery&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;body&amp;gt;
...
&amp;lt;button id="mySecondCall"&amp;gt;JQuery: Get Data&amp;lt;/button&amp;gt;
...
&amp;lt;/body&amp;gt;
&amp;lt;script&amp;gt;
...
$('#mySecondCall').click((e) =&amp;gt; {
    $.ajax({
        type: 'GET',
        dateType: 'JSON',
        url: 'http://www.mocky.io/v2/5da66a18340000a99963304c',

        success: function (data) {
            console.log(data);
        },
        error: function (error) {
            console.log(data);
        }
    });
});
...
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Jquery has a ajax function for making communication with a web server. Ajax stands for Advanced Java and XML. You provide it with the type of call, type of response and the url and it handles the states in simple readable language. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oFsGOlFf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/2YKz2Wg/Image-018.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oFsGOlFf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/2YKz2Wg/Image-018.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see the same code has been made minimal with the same type of response. &lt;/p&gt;
&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Going through Vanilla JS really makes up concept to the what is happening first hand. I do recommend everyone to attleast go through it so that a better level of understanding can be made but do acknowledge on the other hand the importance of saving time and hassle. Re-inventing the wheel does not bring much change and innovation but in todays time utilizing libraries to speed up work and save time is what one should prefer. &lt;/p&gt;
&lt;h5&gt;
  
  
  Complete Code ~ index.html
&lt;/h5&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;meta charset="UTF-8"&amp;gt;
        &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&amp;gt;
        &amp;lt;meta name="viewport" content="width=device-width,initial-scale=1"&amp;gt;
        &amp;lt;title&amp;gt;Noob JS&amp;lt;/title&amp;gt;

        &amp;lt;script src="https://code.jquery.com/jquery-3.4.1.min.js"
            integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;/head&amp;gt;

    &amp;lt;body&amp;gt;
        &amp;lt;h3&amp;gt;Hello Noobs!&amp;lt;/h3&amp;gt;
        &amp;lt;button id="myFirstButton"&amp;gt;Javascript: Click&amp;lt;/button&amp;gt;
        &amp;lt;button id="mySecondBUtton"&amp;gt;JQuery: Click&amp;lt;/button&amp;gt;
        &amp;lt;hr&amp;gt;
        &amp;lt;button id="myFirstCall"&amp;gt;Javascript: Get Data&amp;lt;/button&amp;gt;
        &amp;lt;button id="mySecondCall"&amp;gt;JQuery: Get Data&amp;lt;/button&amp;gt;

        &amp;lt;script&amp;gt;
            document.getElementById('myFirstCall').onclick = function(e) {
                var xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function() {
                    if (this.readyState == 4 &amp;amp;&amp;amp; this.status == 200) {
                        console.log(JSON.parse(this.responseText));            
                    }
                };
                xhttp.open("GET", "http://www.mocky.io/v2/5da66a18340000a99963304c", true);
                xhttp.send();                
            }

            document.getElementById('myFirstButton').onclick = function(e) {
                console.log("Yo Noobs!");
            }

            $('#mySecondBUtton').click((e) =&amp;gt; {
                console.log("Not a Noob Anymore!! Heh!!");
            });

            $('#mySecondCall').click((e) =&amp;gt; {
                $.ajax({
                    type: 'GET',
                    dateType: 'JSON',
                    url: 'http://www.mocky.io/v2/5da66a18340000a99963304c',

                    success: function (data) {
                        console.log(data);
                    },
                    error: function (error) {
                        console.log(data);
                    }
                });
            });
        &amp;lt;/script&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/th3n00bc0d3r"&gt;
        th3n00bc0d3r
      &lt;/a&gt; / &lt;a href="https://github.com/th3n00bc0d3r/vanilajsvsjquery"&gt;
        vanilajsvsjquery
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A comparison of Vanilla JS to Jquery to develop and understanding
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h2&gt;
Vanila JS to Jquery: The Noobs Guide&lt;/h2&gt;
&lt;p&gt;I have been haunted and daunted by Javascript for almost a decade i.e. 10+ Years. These years do make a history for me in programming. Today while teaching one of my newly made friends on a quick course to programming, I stumbled upon some things that I should share and that is Javascript. Let us try to understand it with some examples.&lt;/p&gt;
&lt;h4&gt;
Introduction and History&lt;/h4&gt;
&lt;p&gt;The web has been inclined towards Javascript which made its cover in 1996. A company by the name of Netscape which was famous for its speedy browsers in the mid 90s summited it to the ECMA International to produce a standardized language which other browsers could implement. I still remember the awe at Netscape Navigator in the 90s. Today we know an entity by the name of Mozilla, a portmanteau of Mosaic and Godzilla. The first version was…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/th3n00bc0d3r/vanilajsvsjquery"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;References&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/JavaScript"&gt;https://en.wikipedia.org/wiki/JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.webdesignmuseum.org/web-design-history/mosaic-netscape-0-9-1994"&gt;https://www.webdesignmuseum.org/web-design-history/mosaic-netscape-0-9-1994&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/XMLHttpRequest"&gt;https://en.wikipedia.org/wiki/XMLHttpRequest&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>The Noob CMS: Summary of Installation</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Tue, 15 Oct 2019 13:11:43 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/the-noob-cms-summary-of-installation-4nap</link>
      <guid>https://dev.to/th3n00bc0d3r/the-noob-cms-summary-of-installation-4nap</guid>
      <description>&lt;p&gt;This is a summary of Installation for all to continue where we left. &lt;/p&gt;

&lt;h3&gt;
  
  
  How to Install
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Download &lt;a href="http://www.wampserver.com/en/"&gt;http://www.wampserver.com/en/&lt;/a&gt; or any other supported PHP 7+ and Install&lt;/li&gt;
&lt;li&gt;Go to &lt;a href="http://localhost/phpmyadmin/index.php"&gt;http://localhost/phpmyadmin/index.php&lt;/a&gt; and Login with default credentials

&lt;ul&gt;
&lt;li&gt;Username: root&lt;/li&gt;
&lt;li&gt;Password: &lt;strong&gt;Blank&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ivjEDA41--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/gm8VGDz/Image-067.png" alt=""&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Once logged in, Click on &lt;strong&gt;Database&lt;/strong&gt; and then Create a New Database by the name of noob_db

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xlrc--Li--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/znXDWfR/Image-001.png" alt=""&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Now goto Import and click on Choose File and Select ./repo/db/noob_cms.sql.gz and Scroll down and click on Go&lt;/li&gt;
&lt;li&gt;You should successfully have imported the DB

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vvnH6nzf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YW16psr/Image-002.png" alt=""&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Take your Favorite Editor and open ./repo/config/config.php and make sure the configuration matches

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aewakzNb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/VDMYBN6/Image-003.png" alt=""&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/th3n00bc0d3r"&gt;
        th3n00bc0d3r
      &lt;/a&gt; / &lt;a href="https://github.com/th3n00bc0d3r/noobcms"&gt;
        noobcms
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A CMS for Beginners to Start with
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Noob CMS&lt;/h1&gt;
&lt;h3&gt;
Features&lt;/h3&gt;
&lt;h3&gt;
Requirements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Apache&lt;/li&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;li&gt;PHP 7+&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
How to Install&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Download &lt;a href="http://www.wampserver.com/en/" rel="nofollow"&gt;http://www.wampserver.com/en/&lt;/a&gt; or any other supported PHP 7+ and Install&lt;/li&gt;
&lt;li&gt;Go to &lt;a href="http://localhost/phpmyadmin/index.php" rel="nofollow"&gt;http://localhost/phpmyadmin/index.php&lt;/a&gt; and Login with default credentials
&lt;ul&gt;
&lt;li&gt;Username: root&lt;/li&gt;
&lt;li&gt;Password: &lt;strong&gt;Blank&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/b8dee01362045511a77213e8293f8e53d70bd32fc2602da416bdf42f21db5105/68747470733a2f2f692e6962622e636f2f676d385647447a2f496d6167652d3036372e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/b8dee01362045511a77213e8293f8e53d70bd32fc2602da416bdf42f21db5105/68747470733a2f2f692e6962622e636f2f676d385647447a2f496d6167652d3036372e706e67" alt=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Once logged in, Click on &lt;strong&gt;Database&lt;/strong&gt; and then Create a New Database by the name of noob_db
&lt;ul&gt;
&lt;li&gt;&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/708beed010af4e669be6ca8e49ed2d151a01d0986e7d75e1deca5fff25fde910/68747470733a2f2f692e6962622e636f2f7a6e58445766522f496d6167652d3030312e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/708beed010af4e669be6ca8e49ed2d151a01d0986e7d75e1deca5fff25fde910/68747470733a2f2f692e6962622e636f2f7a6e58445766522f496d6167652d3030312e706e67" alt=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Now goto Import and click on Choose File and Select ./repo/db/noob_cms.sql.gz and Scroll down and click on Go&lt;/li&gt;
&lt;li&gt;You should successfully have imported the DB
&lt;ul&gt;
&lt;li&gt;&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/eabe264bf76d821af07d4a010c37cdf478aabe01ca0e06f86d5fe880a33b8225/68747470733a2f2f692e6962622e636f2f595731367073722f496d6167652d3030322e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/eabe264bf76d821af07d4a010c37cdf478aabe01ca0e06f86d5fe880a33b8225/68747470733a2f2f692e6962622e636f2f595731367073722f496d6167652d3030322e706e67" alt=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Take your Favorite Editor and open ./repo/config/config.php and make sure the configuration matches
&lt;ul&gt;
&lt;li&gt;&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/b900531de5688cac185a0e3cc006e90bf7e88d7886d74986780536d145823269/68747470733a2f2f692e6962622e636f2f56444d59424e362f496d6167652d3030332e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/b900531de5688cac185a0e3cc006e90bf7e88d7886d74986780536d145823269/68747470733a2f2f692e6962622e636f2f56444d59424e362f496d6167652d3030332e706e67" alt=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
You are all Good to go&lt;/h3&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/th3n00bc0d3r/noobcms"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://dev.to/th3n00bc0d3r/noob-guides-index-4mne"&gt;Noob Index&lt;/a&gt;&lt;/p&gt;

</description>
      <category>noobcms</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>[Open Source]: Noob Docs - The Simple Docs</title>
      <dc:creator>Muhammad</dc:creator>
      <pubDate>Sun, 13 Oct 2019 15:19:58 +0000</pubDate>
      <link>https://dev.to/th3n00bc0d3r/open-source-noob-docs-the-simple-docs-5g3a</link>
      <guid>https://dev.to/th3n00bc0d3r/open-source-noob-docs-the-simple-docs-5g3a</guid>
      <description>&lt;h2&gt;
  
  
  What is Noob Docs?
&lt;/h2&gt;

&lt;p&gt;Noob Docs is a complete Git Powered Documentation System meaning it is a place where all documentations that have ever seemed make no sense become a documentation that makes sense. It is a repository for simplifying documentations and guides.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does it work?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TH2c3n0k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/dpsFG2p/concept.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TH2c3n0k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/dpsFG2p/concept.jpg" alt="Noob Doc Concept"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All tutorials and guides are hosted on a github repo. The website itself is hosted on github pages. Noob Docs uses Markdown as the standard for writing and publishing articles. The articles follow a simple folder based hierarchy, just like in the back of the old times where all were organized in folders. Anyone can can fork the repo and add changes to it which can later be merged into the repo. As soon as the changes are merged, Noob Docs automatically fetches them and makes them avaialble for the web. These tutorials are also available to read by just browsing the repo itself too. &lt;/p&gt;

&lt;h4&gt;
  
  
  The Directory Structure?
&lt;/h4&gt;

&lt;p&gt;You can find the repo at: &lt;a href="https://github.com/th3n00bc0d3r/noobdocs"&gt;https://github.com/th3n00bc0d3r/noobdocs&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;Guides/ ## Directory for Uploading and Structuing the Guides
Test/ ## This is just a test Directory
docs/ ## The Compiled Script for the Website
.gitignore ## Ignores Folders/Files you do not want to upload
CNAME ## Used for redirecting to Domain Web Address
README.md ## This is the Home Page
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now If you look at: noobdocs/Guides/Databases/MySQL/Understanding Databases (Relational)/&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;noobdocs/Guides/Databases/MySQL/Understanding Databases (Relational)/

1. Guides is the Main Folder
2. Databases is a Category Folder
3. MySQL is a Sub-Category Folder
4. Understanding Databases (Relational) is the Article Folder
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  The Article Directory
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BZU39ijW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QdMQtfx/Screenshot-2019-10-13-at-3-08-33-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BZU39ijW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/QdMQtfx/Screenshot-2019-10-13-at-3-08-33-PM.png" alt="Article"&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;links.md - This is the table of contents of your article
readme.md - This is the article itself
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  links.md
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Introduction](#introduction)
[Features](#features)
[Primary Key](#primarykey) - 1
[Not Null](#notnull)
[Auto Increment](#autoincrement)
[CRUD](#crud)
[Excercise 1](#excercise1)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;When making links.md, please be sure the #link in this case 1 is all lowercase and without any spaces or the side table of contents will not work on the website&lt;/p&gt;
&lt;h4&gt;
  
  
  readme.md
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#### Primary Key
It is a feature of a relational database, that sets to a column making sure that whatever value it contains is always unique. If no value is ever tried to insert into it, it will not allow the entry to be made.

#### Not Null
Simple, it has to have a value or do not allow any entry to enter into it. i. e. NN, Not Null, or Null
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;As you can see it is very simple to link headings with the table of contents of your article.&lt;/p&gt;
&lt;h1&gt;
  
  
  Summary of Contribution
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Fork it&lt;/li&gt;
&lt;li&gt;Create Folder in noobdocs/Guides/Category/SubCategory/ArticleName&lt;/li&gt;
&lt;li&gt;Create your Article branch (&lt;code&gt;git checkout -b my-new-feature&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Commit your changes (&lt;code&gt;git commit -am 'Add some feature'&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Push to the branch (&lt;code&gt;git push origin my-new-feature&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Create new Pull Request&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;
  
  
  Noob Docs Source
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Kr3uHVNS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/v4scjRm/Screenshot-2019-10-13-at-7-32-00-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Kr3uHVNS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/v4scjRm/Screenshot-2019-10-13-at-7-32-00-PM.png" alt="  Preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The frontend that is the website is made using Angular 8. Please follow the following guide to set it up locally.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/th3n00bc0d3r/noobdocs.git
cd source
npm i
ng serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You need to have the following for it to run;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NodeJS and NPM
&lt;a href="https://nodejs.org/en/download/"&gt;https://nodejs.org/en/download/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Angular 2 + and Angular CLI
&lt;a href="https://angular.io/guide/setup-local"&gt;https://angular.io/guide/setup-local&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I highly recommend Visual Studio Code, you can use any editor of your choice.&lt;/p&gt;
&lt;h4&gt;
  
  
  The Source Structure
&lt;/h4&gt;

&lt;p&gt;source/src/app&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fhtlXXeN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/jJYC06K/Screenshot-2019-10-13-at-7-27-52-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fhtlXXeN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/jJYC06K/Screenshot-2019-10-13-at-7-27-52-PM.png" alt="Source Structure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The whole application because of Angular is a module based application.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;layout ## The Layout Module, think of it as a wrapper
-- frame ## This is where the content is loaded
-- header ## The Navigation of the Website
pages 
 -- article ## The Component for where your article is rendered
 -- categories ## Listing for Folders from Github
 -- home ## This is the Homepage where Readme.md is rendered
 -- wip ## Just a 404 Page not Found
services ## API List for communication
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/th3n00bc0d3r"&gt;
        th3n00bc0d3r
      &lt;/a&gt; / &lt;a href="https://github.com/th3n00bc0d3r/noobdocs"&gt;
        noobdocs
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A project to create an online doc system from github
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h2&gt;
What is Noob Docs?&lt;/h2&gt;
&lt;p&gt;Noob Docs is a complete Git Powered Documentation System meaning it is a place where all documentations that have ever seemed make no sense become a documentation that makes sense. It is a repository for simplifying documentations and guides.&lt;/p&gt;
&lt;h3&gt;
How does it work?&lt;/h3&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/84a8ddb5195db017cbaa8eac041c989150781b40f75958ec0f1e4514e5ad12b7/68747470733a2f2f692e6962622e636f2f647073464732702f636f6e636570742e6a7067"&gt;&lt;img src="https://camo.githubusercontent.com/84a8ddb5195db017cbaa8eac041c989150781b40f75958ec0f1e4514e5ad12b7/68747470733a2f2f692e6962622e636f2f647073464732702f636f6e636570742e6a7067" alt="Noob Doc Concept"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All tutorials and guides are hosted on a github repo. The website itself is hosted on github pages. Noob Docs uses Markdown as the standard for writing and publishing articles. The articles follow a simple folder based hierarchy, just like in the back of the old times where all were organized in folders. Anyone can can fork the repo and add changes to it which can later be merged into the repo. As soon as the changes are merged, Noob Docs automatically fetches them and makes them avaialble for the web. These tutorials are also available to read by just browsing the repo…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/th3n00bc0d3r/noobdocs"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



</description>
      <category>contributorswanted</category>
      <category>javascript</category>
      <category>angular</category>
    </item>
  </channel>
</rss>
