<?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: RyanArmani</title>
    <description>The latest articles on DEV Community by RyanArmani (@ryanarmani).</description>
    <link>https://dev.to/ryanarmani</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%2F795161%2Fbcda36c7-b1d8-4a80-9aeb-d5b773e72e94.png</url>
      <title>DEV Community: RyanArmani</title>
      <link>https://dev.to/ryanarmani</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ryanarmani"/>
    <language>en</language>
    <item>
      <title>Something pt.2</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Tue, 03 May 2022 14:55:52 +0000</pubDate>
      <link>https://dev.to/ryanarmani/something-pt2-255h</link>
      <guid>https://dev.to/ryanarmani/something-pt2-255h</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NkU9EOGp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2x19dklkenemlmh0ekld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NkU9EOGp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2x19dklkenemlmh0ekld.png" alt="Image description" width="880" height="1805"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Something</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Sun, 01 May 2022 21:14:47 +0000</pubDate>
      <link>https://dev.to/ryanarmani/something-2665</link>
      <guid>https://dev.to/ryanarmani/something-2665</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ipuU8D-w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oadydewm00pkcuvkzcav.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ipuU8D-w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oadydewm00pkcuvkzcav.jpg" alt="Image description" width="880" height="1805"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Photos for Check In 2</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Mon, 28 Mar 2022 20:53:26 +0000</pubDate>
      <link>https://dev.to/ryanarmani/photos-for-check-in-2-1ck</link>
      <guid>https://dev.to/ryanarmani/photos-for-check-in-2-1ck</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---Pyt3INo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ma7s9gz6bmh8jj6lcrqp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---Pyt3INo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ma7s9gz6bmh8jj6lcrqp.png" alt="Image description" width="601" height="2545"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Vercel Introduction</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Tue, 15 Mar 2022 03:58:33 +0000</pubDate>
      <link>https://dev.to/ryanarmani/vercel-introduction-103e</link>
      <guid>https://dev.to/ryanarmani/vercel-introduction-103e</guid>
      <description>&lt;h2&gt;
  
  
  What is Vercel?
&lt;/h2&gt;

&lt;p&gt;Vercel is a deployment platform for frontend developers. ​Vercel enables developers to host websites and web services that deploy instantly and scale automatically without any need for configuration. It is a common method for deploying static webapps, static sites, and frontend frameworks! Specifically, Vercel is defined as a Function as a Service (FaaS) platform, which is simply a service that enables users to produce microservice applications over the cloud without the need to support said applications with the infrastructure typically required to deploy such applications. As such, Vercel is a convenient method of deploying applications even for individuals with minimal understanding behind the deployment of such services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v23ClcxE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fj1f723co0ml7b43v7uk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v23ClcxE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fj1f723co0ml7b43v7uk.png" alt="Image description" width="880" height="427"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://vercel-demo-test-1-dncodfj4w-ryanarmani.vercel.app/"&gt;https://vercel-demo-test-1-dncodfj4w-ryanarmani.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note: For these sites, I had to change the output directory from _site to dist, a small change that may be unique to these apps. Images are seen below. &lt;/p&gt;

&lt;h2&gt;
  
  
  11ty websites
&lt;/h2&gt;

&lt;p&gt;To prove how easy it is to deploy websites, I will be deploying three websites of my own which were produced by 11ty ( a stitic site generator) in a previous project. They are included below!&lt;/p&gt;

&lt;p&gt;To setup these sites, one simply has to connect their github to Vercel by simply logging into their account. From there, a user can select the relevant repositories they wish to utilize within Vercel. Any updates that occur within these repositories will automatically be updated in Vercel (how convenient)! From here, a user can simply import a repository of choice, and simply begin to build the application!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v54ui0fs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/utk6510t5oacbk9ackpu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v54ui0fs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/utk6510t5oacbk9ackpu.png" alt="Image description" width="880" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SyrBVRjB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34bx6ohtpcxn0gd2xevh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SyrBVRjB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34bx6ohtpcxn0gd2xevh.png" alt="Image description" width="880" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  11ty Site pictures
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://11ty-blog-temp1.vercel.app/"&gt;https://11ty-blog-temp1.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9nOGHh6E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zb273nzi8vn878oxh5hw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9nOGHh6E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zb273nzi8vn878oxh5hw.png" alt="Image description" width="880" height="441"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://11ty-final-blog.vercel.app/"&gt;https://11ty-final-blog.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BWOiF5db--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6x3i902rh995kntlrhg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BWOiF5db--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6x3i902rh995kntlrhg.png" alt="Image description" width="880" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://11ty-blog2-run1.vercel.app/articles/first-post"&gt;https://11ty-blog2-run1.vercel.app/articles/first-post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wZ0dcpCv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x3z6hajj2ljlrg0lcnan.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wZ0dcpCv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x3z6hajj2ljlrg0lcnan.png" alt="Image description" width="880" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Vercel Demo
&lt;/h2&gt;

&lt;p&gt;For this example, I used the &lt;code&gt;ist-vercel-demo&lt;/code&gt; repository found&lt;br&gt;
&lt;a href="https://github.com/btopro/ist-vercel-demo"&gt;here&lt;/a&gt; for deploying a static app to Vercel. Following the steps previously used to establish the github connections, I utilized the Import Third Party git repo option found in the image below. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YXq6Snl1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0etjlalniypltd034ati.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YXq6Snl1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0etjlalniypltd034ati.png" alt="Image description" width="478" height="524"&gt;&lt;/a&gt;&lt;br&gt;
After cloning this repo, I added a &lt;code&gt;.env&lt;/code&gt; file through my github. From here, I simply deployed the app as seen below!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jRok6Df---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8odw59ob7e53d48pqrx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jRok6Df---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8odw59ob7e53d48pqrx.png" alt="Image description" width="880" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note: For these sites, I had to change the output directory from _site to dist, a small change that may be unique to these apps. Images are seen below. &lt;/p&gt;

&lt;h2&gt;
  
  
  CI/CD
&lt;/h2&gt;

&lt;p&gt;As a quick cover for definitions, a CI/CD (Continuous Integration/Continuous Delivery) pipeline is a series of steps that must be performed in order to deliver a new version of software. Github is one such means of producing a CI/CD pipeline, and is a common means of hosting code and updating it before deployment. While commonly used, github is genuinely confusing when used initially for CI/CD purposes. Vercel offers an impossibly easy method of deploying existing code, with the added benefit of automatically updating projects with changes that occur in github. Vercel is a powerful tool that can only be appreciated in "application", in the literal sense of the word.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Intro to 11ty</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Mon, 28 Feb 2022 04:36:48 +0000</pubDate>
      <link>https://dev.to/ryanarmani/intro-to-11ty-1ko8</link>
      <guid>https://dev.to/ryanarmani/intro-to-11ty-1ko8</guid>
      <description>&lt;h1&gt;
  
  
  What is 11ty?
&lt;/h1&gt;

&lt;p&gt;11ty is a simpler static site generator! 11ty compiles files it finds in one's working directory into static HTML files. As a result, 11ty can be used with a slew of different files and templates to construct static sites. Let's explore some ways to generate sites!&lt;/p&gt;

&lt;h1&gt;
  
  
  Hello World
&lt;/h1&gt;

&lt;p&gt;To create a Hello World file using 11ty, we must first install 11ty! In your terminal, navigate to a folder of your choice. I will be using a folder named 11tyLab. Once here, use the command &lt;code&gt;npm install @11ty/eleventy-plugin-syntaxhighlight --save-dev&lt;/code&gt;. This should add relevant packages that enable highlighting of code. Next, utilize the command &lt;code&gt;echo '# Page header' &amp;gt; README.md&lt;/code&gt;, as this should add a header to the READ.md file. Next, utilize the command &lt;code&gt;npx @11ty/eleventy&lt;/code&gt;, which should finish setting up your local project's version of eleventy. Utilizing the command &lt;code&gt;npx @11ty/eleventy --serve&lt;/code&gt;, you should now be able to access your Readme file through a browser with the local host link provided! An image is included below of what the link should look like, as it appears in purple. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1PZhSm3w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9u7uyew5uig6hkuwenyj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1PZhSm3w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9u7uyew5uig6hkuwenyj.png" alt="Image description" width="685" height="344"&gt;&lt;/a&gt;In my code editor, I changed the initial Page Header to Hello World, as seen in the images below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dPYqdrgH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v616as3qj1jc247qoudp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPYqdrgH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v616as3qj1jc247qoudp.png" alt="Image description" width="270" height="129"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pJsocppB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ev0jn5tjutp9kswln7he.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pJsocppB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ev0jn5tjutp9kswln7he.png" alt="Image description" width="354" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Repo can be found &lt;a href="https://github.com/RyanArmani/11tyLab2"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Blog 1
&lt;/h2&gt;

&lt;p&gt;Blogs can be created with 11ty! Thankfully, 11ty offers some blog templates for us to use. These can be found &lt;a href="https://www.11ty.dev/docs/starter/"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The first template we will be using is called &lt;a href="https://github.com/11ty/eleventy-base-blog"&gt;eleventy-base-blog&lt;/a&gt;. To utilize this blog, head on over to the github page for this template. Click the "Use this template" button highlighted in green at the top right of the page. This will enable you to create your own repo of this template. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Tt9sGxGj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2jsh5nlu8f1g6qx8zizb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Tt9sGxGj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2jsh5nlu8f1g6qx8zizb.png" alt="Image description" width="880" height="558"&gt;&lt;/a&gt;&lt;br&gt;
Once created, secure the https link from your own repo page by clicking the green "Code" button in at the same part of the page.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IXSIIKqa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdhr7nogbhh771pgdclx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IXSIIKqa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdhr7nogbhh771pgdclx.png" alt="Image description" width="880" height="399"&gt;&lt;/a&gt;&lt;br&gt;
Once this link is copied, you are ready to clone the repo! I created a new folder to store this template. In your terminal, cd to the folder you would like to store this repo to locally. Once there, use the command &lt;code&gt;git clone &amp;lt;copied-https-link&amp;gt;&lt;/code&gt;. You can now see the files stored in this folder! &lt;/p&gt;

&lt;p&gt;In your code editor of choice, open up the folder where your repo is cloned locally, and you will notice code in a file called &lt;code&gt;firstpost.md&lt;/code&gt;. This file stores the first blog post seen on the template. I copied my code of a previous article for lab 7 of class, and simply pasted it into this file. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IIdAQrYg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe8hk3p8mz3uvqeghywo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IIdAQrYg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe8hk3p8mz3uvqeghywo.png" alt="Image description" width="673" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To get this template to show up on your local machine, you should first edit and save changes in the &lt;code&gt;firstpost.md&lt;/code&gt; file. Then, since I created a new folder, I needed to run the command &lt;code&gt;npm install&lt;/code&gt; in the terminal while cd'd in my local folder, followed by &lt;code&gt;npm run start&lt;/code&gt;. Like previously, a url should be provided to access this page in a browser highlighted next to local host.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HiEbRRH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wvgd1ka7swix7zmr3cv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HiEbRRH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wvgd1ka7swix7zmr3cv.png" alt="Image description" width="685" height="344"&gt;&lt;/a&gt;&lt;br&gt;
Copying and pasting this url into a browser (or clicking on it in the terminal) shows you the result of this page! Images below are included of what mine looks like. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--80NepWR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z4hg5r7h7tlq575rsb57.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--80NepWR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z4hg5r7h7tlq575rsb57.png" alt="Image description" width="621" height="588"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3zdTxNKz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0nbkz3lvhwignow5oj2c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3zdTxNKz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0nbkz3lvhwignow5oj2c.png" alt="Image description" width="714" height="677"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Repo found &lt;a href="https://github.com/RyanArmani/11tyBlogTemp1"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Blog 2
&lt;/h2&gt;

&lt;p&gt;The second blog being used is called &lt;a href="https://airleventy.netlify.app/"&gt;twelvety&lt;/a&gt;(&lt;a href="https://github.com/geotrev/airleventy"&gt;source code&lt;/a&gt;). Follow the steps of the previous blog to get the blog up and running! Here is the output for the blog app!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yDEk857E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3wakyookh2tuyraqmym6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yDEk857E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3wakyookh2tuyraqmym6.png" alt="Image description" width="438" height="273"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--muLL6lej--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/btdb9dos40yp7ei1haj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--muLL6lej--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/btdb9dos40yp7ei1haj0.png" alt="Image description" width="817" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Repo for this blog &lt;a href="https://github.com/RyanArmani/11tylabblogattemp.git"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introduction with Docker</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Mon, 28 Feb 2022 03:28:38 +0000</pubDate>
      <link>https://dev.to/ryanarmani/introduction-with-docker-2d4j</link>
      <guid>https://dev.to/ryanarmani/introduction-with-docker-2d4j</guid>
      <description>&lt;h2&gt;
  
  
  Docker Introduction
&lt;/h2&gt;

&lt;p&gt;Docker is an extraordinarily popular open source containerization platform among developers. Docker enables developers to develop, ship, and run applications through its implementation of containers. Containers are a piece of software that packages up any code and its dependencies, enabling applications to run on various computing environments regardless of differences between system requirements from one computer to another. This popular method of running and delivering apps opens a world of possibilities, with a common use being businesses rolling out updates to existing software, and reverting back to older stages of a software if any errors arise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Starting with Docker
&lt;/h2&gt;

&lt;p&gt;Docker utilizes a special file called a Dockerfile. a Dockerfile is a file that automatically runs a set amount of code within an application to assemble an image (an image is a set of code that creates a container within docker). One such example of a Dockerfile is included below, which is used to run the NewsAPI app from our class' project. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jDpa7yh6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vcjtivtzet4d3or69bwr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jDpa7yh6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vcjtivtzet4d3or69bwr.png" alt="Image description" width="531" height="246"&gt;&lt;/a&gt;An example of a fully functional application, the NewsAPI, is included below as well to demonstrate the full capabilities of docker. This includes a series of links to news articles &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P7KtUwGD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bi0bu1pf2jqsnkvym7fh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P7KtUwGD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bi0bu1pf2jqsnkvym7fh.png" alt="Image description" width="866" height="616"&gt;&lt;/a&gt; One can utilize a query to find specific key terms &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CiGMH6c---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/18v62me8an1gqux2qegs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CiGMH6c---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/18v62me8an1gqux2qegs.png" alt="Image description" width="880" height="396"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Create a docker file
&lt;/h2&gt;

&lt;p&gt;To create a docker file for your own web app, you will need to clone a copy of your git repository (repo). One way to acquire the link to your repo is by navigating to your repo on github.com. Using my own repo as an example, navigate to the &lt;code&gt;Code&lt;/code&gt; tab&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jusd7N3P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b56b1wd5lqrusw3dn7ve.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jusd7N3P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b56b1wd5lqrusw3dn7ve.png" alt="Image description" width="880" height="401"&gt;&lt;/a&gt;, and select the &lt;code&gt;https&lt;/code&gt; icon. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G_SpAnDf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qbdxuh8dcraoi34pm3af.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G_SpAnDf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qbdxuh8dcraoi34pm3af.png" alt="Image description" width="880" height="399"&gt;&lt;/a&gt;You will see a link to your repo. Copy this link, as we will be utilizing it in the docker environment. Navigate to "play with docker" (&lt;a href="https://www.docker.com/play-with-docker"&gt;https://www.docker.com/play-with-docker&lt;/a&gt;), and scroll down until you find the "Lab Environment" tab. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F4nacKy9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy4j3rrh8qipg8agaq01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F4nacKy9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy4j3rrh8qipg8agaq01.png" alt="Image description" width="880" height="445"&gt;&lt;/a&gt;Select "Get Started, and sign into Docker if prompted. Once signed in, select the "Start" button. You are now ready to set up your web app!&lt;/p&gt;

&lt;p&gt;Inside the docker playground, on the left hand side of the screen, click the "+ Add New Instance" option. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wGiUyQ8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1cc0m1sybis0bbi3ga77.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wGiUyQ8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1cc0m1sybis0bbi3ga77.png" alt="Image description" width="880" height="386"&gt;&lt;/a&gt;In a moment, you should see a terminal-like sandbox environment appear in docker playground. We can input commands here! For our purposes, we will clone our git repo. Use the command &lt;code&gt;git clone &amp;lt;your-repo-link-here&amp;gt;&lt;/code&gt;. For my web app, I used the command &lt;code&gt;git clone https://github.com/IST402GroupB/ip-project.git&lt;/code&gt;. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ho8TyNdV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6vzwfjau2v316xywdi9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ho8TyNdV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6vzwfjau2v316xywdi9.png" alt="Image description" width="880" height="386"&gt;&lt;/a&gt;We will now create a temporary file within our web app. Type in the command touch dockerfile. This command creates an image of a file within docker named dockerfile, which is a file that can be edited within the Docker Editor provided, and can be viewed by the &lt;code&gt;ls -la&lt;/code&gt; command. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RVVqp_nI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kwr7qhio17laelh5yynz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RVVqp_nI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kwr7qhio17laelh5yynz.png" alt="Image description" width="880" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Lab 2 Option 2</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Mon, 31 Jan 2022 11:31:16 +0000</pubDate>
      <link>https://dev.to/ryanarmani/lab-2-option-2-5gbf</link>
      <guid>https://dev.to/ryanarmani/lab-2-option-2-5gbf</guid>
      <description>&lt;p&gt;The aim of this portion is to explain how our group acquired relevant GeoIP data, specifically Latitude and Longitude, to map a User's location onto a Google Map and link them relevant Wikipedia pages based on their location, such as the city and state they are in. &lt;/p&gt;

&lt;h2&gt;
  
  
  Import
&lt;/h2&gt;

&lt;p&gt;Starting at the top, we need to install something called a dependency. A dependency in JavaScript is some snippet of code from a third party, which we incorporate into our page for some sort of usage. Since we will eventually want to search a Wikipedia page, we import &lt;code&gt;'@lrnwebcomponents/wikipedia-query/wikipedia-query.js'&lt;/code&gt;, which is a web component (microservice) that we can use to perform a query of Wikipedia pages. The second important and unique dependency is the &lt;code&gt;import { UserIP } from './UserIP.js'&lt;/code&gt;, which collects the UserIP attribute from the &lt;code&gt;./UserIP.js&lt;/code&gt; file, which is a file that collects the IP of the User in its own manner, discussed in Option 1 of this project. This dependency will give us the information of where a user is, which is information that will be used for locating coordinates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Cr4-KUhy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuxj6o50k61imsikj8py.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Cr4-KUhy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuxj6o50k61imsikj8py.png" alt="Image description" width="516" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Constructor
&lt;/h2&gt;

&lt;p&gt;Our constructor has several elements within it. &lt;code&gt;Super()&lt;/code&gt; calls the parent class' constructor (&lt;code&gt;LitElement&lt;/code&gt;). &lt;code&gt;This.&lt;/code&gt; refers to the object's original location and essentially changes its value within the scope of the constructor, assigning it a new value for all intents and purposes. We did this for &lt;code&gt;UserIpInstance&lt;/code&gt;, &lt;code&gt;locationEndpoint&lt;/code&gt;, &lt;code&gt;long&lt;/code&gt;, and &lt;code&gt;lat&lt;/code&gt; variables. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wI0SqXc8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pea220zdqoh54ui2lebm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wI0SqXc8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pea220zdqoh54ui2lebm.png" alt="Image description" width="516" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Async &amp;amp; Fetch
&lt;/h2&gt;

&lt;p&gt;In order to retrieve the GeoIP Data based off of the user's IP address, we utilize the async function and Fetch API. &lt;code&gt;Async&lt;/code&gt; allows one to write a promise based code w/o blocking the rest of the execution thread. A &lt;code&gt;promise&lt;/code&gt; is a function that may produce a value in the future. Async allows the code to progress while these promises are yet to be fulfilled. &lt;code&gt;Await&lt;/code&gt; is a keyword in the &lt;code&gt;async&lt;/code&gt; function that waits for a promise to return a value before it is executed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HlleF6e9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kni3dvw970fw0z86h1v2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HlleF6e9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kni3dvw970fw0z86h1v2.png" alt="Image description" width="484" height="366"&gt;&lt;/a&gt;&lt;br&gt;
Fetch is an API that allows the user to pass a &lt;code&gt;URL&lt;/code&gt; and make an asynchronous &lt;code&gt;HTTP&lt;/code&gt; request. One such response may be the &lt;code&gt;HTTP&lt;/code&gt; response &lt;code&gt;OK&lt;/code&gt;, which affirms the &lt;code&gt;HTTP&lt;/code&gt; request has gone through without problem. We can now use this knowledge to progress through the code!&lt;/p&gt;

&lt;p&gt;We create a method called &lt;code&gt;getGEOIPData&lt;/code&gt; utilizing the async function, making this method asynchronous and allows the code to run while this method awaits promises to return values to progress the code. The &lt;code&gt;IPClass&lt;/code&gt; awaits to be updated with the User's IP. Once this promise if fulfilled and the IP value is returned, the fetch API progresses. The &lt;code&gt;URL&lt;/code&gt; provided is the &lt;code&gt;locationEndpoint&lt;/code&gt;, and the User's IP is provided. If the HTTP response is &lt;code&gt;OK&lt;/code&gt; (&lt;code&gt;resp.ok&lt;/code&gt;), the response is returned in a readable JSON file. The data from the fetch is printed to the console, and the latitude, longitude, city, and region name (State) of the User is returned based on the User's IP and is stored in the variables &lt;br&gt;
&lt;code&gt;this.lat&lt;/code&gt;, &lt;code&gt;this.long&lt;/code&gt;, &lt;code&gt;this.city&lt;/code&gt;, and &lt;code&gt;this.state&lt;/code&gt;, respectively. We now have the User's geographic location! Easy!&lt;/p&gt;

&lt;h2&gt;
  
  
  Render
&lt;/h2&gt;

&lt;p&gt;Now that we have the geographic values for the User's location, we can utilize this data to Google Maps the User, and produce Wikipedia pages based on the city and state of the user. The render function displays html code inside an html element. This function also runs each time a &lt;code&gt;properties()&lt;/code&gt; variable changes. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yqxsH--L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6a4qnycifoei9zx0xtw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yqxsH--L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6a4qnycifoei9zx0xtw.png" alt="Image description" width="880" height="404"&gt;&lt;/a&gt;&lt;br&gt;
To begin, the &lt;code&gt;URL&lt;/code&gt; provided is a google maps link, with the latitude and longitude spliced into the link, which returns the exact location of those coordinates (where the user is located). To produce these results, an iframe is used, an html feature that enables one to produce a &lt;code&gt;URL&lt;/code&gt; in a window. By utilizing the &lt;code&gt;URL&lt;/code&gt; of the google maps link we created prior, a window of the User's location is produced in an &lt;code&gt;iframe&lt;/code&gt;. A link to the google maps location is provided as well in the form of an &lt;code&gt;href&lt;/code&gt;, or a link a user can click to a site.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1HDGzzyN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2s795vxyq0ylkluyamj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1HDGzzyN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2s795vxyq0ylkluyamj0.png" alt="Image description" width="554" height="556"&gt;&lt;/a&gt;&lt;br&gt;
The Wikipedia Query is achieved through the use of the &lt;code&gt;&amp;lt;wikipedia-query&amp;gt;&lt;/code&gt; web component, which searches and produces three articles in total.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eABaqaX9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3o5t2qqfmvsz4i70c0et.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eABaqaX9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3o5t2qqfmvsz4i70c0et.png" alt="Image description" width="469" height="547"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A Brief Intro to Web Components</title>
      <dc:creator>RyanArmani</dc:creator>
      <pubDate>Mon, 17 Jan 2022 04:55:32 +0000</pubDate>
      <link>https://dev.to/ryanarmani/a-brief-intro-to-web-components-4lj3</link>
      <guid>https://dev.to/ryanarmani/a-brief-intro-to-web-components-4lj3</guid>
      <description>&lt;h2&gt;
  
  
  Required Software
&lt;/h2&gt;

&lt;p&gt;Before starting with coding, one first needs the proper software! Required software will be VSCode and NodeJS. This introduction is primarily made for those with Windows devices, but many of the products mentioned are accessible by both MacOS and Linux devices to some capacity. &lt;/p&gt;

&lt;h2&gt;
  
  
  VSCode
&lt;/h2&gt;

&lt;p&gt;VSCode is a popular code editor used by millions to interact with modern web and cloud applications. To install VSCode, follow the &lt;a href="https://code.visualstudio.com/"&gt;link here&lt;/a&gt;. For window users, you can download VSCode by clicking on the "Download for Windows" button provided on the home screen. For others, utilize the Download button in the top right corner!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vPmDucOf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4f5e8a3dnhxefzs1wwq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vPmDucOf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4f5e8a3dnhxefzs1wwq.png" alt="Image description" width="880" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Node.JS
&lt;/h2&gt;

&lt;p&gt;Node.JS is a free open-source JavaScript runtime environment and is commonly used for web applications and web development. To install Node.JS, follow the &lt;a href="https://nodejs.org/en/"&gt;link here&lt;/a&gt; and install the LTS (currently 16.13.2 as of this post). A picture of the screen to install for window users is included below. as a result of installing Node.JS, npm (the package manager for Node Javascript) should also be installed now. &lt;a href="https://www.npmjs.com/"&gt;Click here&lt;/a&gt; to read more about npm. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6ultEz2---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijitvq24m7ldl5o0432o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6ultEz2---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijitvq24m7ldl5o0432o.png" alt="Image description" width="880" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;You are finally ready to begin your project! First, create a secure folder in your file explorer to store your web component. Within your terminal, navigate to your folder. A screenshot is included below of how I myself navigated to my newly created folder, IST402, utilizing the "cd" command. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OSGlckNP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/al4d1bbqqdmnf8cvcetj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OSGlckNP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/al4d1bbqqdmnf8cvcetj.png" alt="Image description" width="880" height="245"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you have successfully navigated to your new folder, type the line "npm init @open-wc" as your next command. This will start Node.JS generator and prompt the user about the type of project to scaffold, as seen below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mT04VL2M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nhsiacig65aagu23ec0n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mT04VL2M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nhsiacig65aagu23ec0n.png" alt="Image description" width="880" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next series of questions asks about the , select "Scaffold New Project", and then select "Web Component". Using the spacebar, select "Linting", "Testing", and "Demoing". Do not select TypeScript. Give your web component a name (I named mine "hello-world-1", write the file structure to the disk by selecting "yes", and finally, "install dependencies with npm". &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--18p5kTBc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pw57tr87jl2hks5ra5ta.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--18p5kTBc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pw57tr87jl2hks5ra5ta.png" alt="Image description" width="880" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see your web application by utilizing the "cd" command in the terminal and utilizing "npm run start"! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L_lYAEEm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pkcd4c6b8x7l33rmnnho.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L_lYAEEm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pkcd4c6b8x7l33rmnnho.png" alt="Image description" width="670" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
