<?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: briangan123</title>
    <description>The latest articles on DEV Community by briangan123 (@briangan123).</description>
    <link>https://dev.to/briangan123</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%2F793957%2Ff9f5cd09-4788-4398-b30e-9c8986d989b1.jpg</url>
      <title>DEV Community: briangan123</title>
      <link>https://dev.to/briangan123</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/briangan123"/>
    <language>en</language>
    <item>
      <title>Deploying sites with Vercel for beginners</title>
      <dc:creator>briangan123</dc:creator>
      <pubDate>Sun, 13 Mar 2022 22:46:20 +0000</pubDate>
      <link>https://dev.to/briangan123/deploying-sites-with-vercel-for-beginners-3c9e</link>
      <guid>https://dev.to/briangan123/deploying-sites-with-vercel-for-beginners-3c9e</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Vercel&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Vercel is a platform that makes it easy to deploy static sites and frontend frameworks. Vercel takes care of the harder things such as deployment and automatic scaling. This platform allows you to create a brand new site for deployment by using one of the templates they provide or by importing an existing application from GitHub. In this blog, I will go over how to get started with Vercel so that you can incorporate this for your own site!&lt;/p&gt;

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

&lt;p&gt;First, you will want to head over to &lt;a href="https://vercel.com/"&gt;vercel&lt;/a&gt; and create a free account. Make sure to link it to your GitHub so that you can access your repositories. Vercel also allows you to use third party repos and will clone a copy for your personal use. All you have to do is enter the repo url. In this example, I used the ist-vercel-demo repository. &lt;/p&gt;

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

&lt;p&gt;Before finishing deployment, I had to change the output directory to dist. Typically, if you are having issues with your output, you should change it to _site or dist depending on how your site is being deployed. If you already deployed your site and you are having issues building it, you can go to the settings and change the output directory from there. &lt;/p&gt;

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

&lt;p&gt;After changing that, you should be ready to deploy. After clicking the deploy button, you should have your site ready. &lt;/p&gt;

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

&lt;p&gt;From here you can view your &lt;a href="https://vercel-demo-drab.vercel.app/"&gt;global site&lt;/a&gt; and the &lt;a href="https://github.com/briangan123/ist-vercel-demo"&gt;repo&lt;/a&gt; associated with this deployed site.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Viewing through CLI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To be able to use Vercel in your command line interface, you will need to use these commands after you cd into the correct directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install
npm i -g vercel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run the command &lt;code&gt;vercel dev&lt;/code&gt; to get started.&lt;/p&gt;

&lt;p&gt;When I tried to go through this process using the CLI, I ran into the output directory issue again. &lt;/p&gt;

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

&lt;p&gt;As I previously mentioned, this can be changed in the settings on the Vercel UI. The CLI is trying to output to "public" instead of dist in this case. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Applying this to my 11ty sites&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. Basic 11ty Site
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/briangan123/11ty"&gt;https://github.com/briangan123/11ty&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Site:&lt;/strong&gt; &lt;a href="https://11ty-liard.vercel.app/"&gt;https://11ty-liard.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JpparCwL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gwr5ak4hxjhr7n0ccta7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JpparCwL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gwr5ak4hxjhr7n0ccta7.png" alt="Image description" width="880" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. 11ty Based Blog
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/briangan123/11tyLab"&gt;https://github.com/briangan123/11tyLab&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Site:&lt;/strong&gt; &lt;a href="https://11ty-lab.vercel.app/"&gt;https://11ty-lab.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5lqCJ3Pv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0kabnflz1u3hx1e15fme.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5lqCJ3Pv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0kabnflz1u3hx1e15fme.png" alt="Image description" width="880" height="641"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  3. Custom 11ty Resume Site
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/briangan123/resume11ty"&gt;https://github.com/briangan123/resume11ty&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Site:&lt;/strong&gt; &lt;a href="https://resume11ty.vercel.app/"&gt;https://resume11ty.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BVEfUrOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dwcdgt9xd4vtzmu1lg6f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BVEfUrOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dwcdgt9xd4vtzmu1lg6f.png" alt="Image description" width="880" height="679"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;CI/CD Pipeline Comparison&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Using Vercel makes the deployment of static sites very simple. Previously, my sites were deployed using GitHub pages, which was very tedious and annoying to deal with because it constantly had issues such as css not being shown and the output directory not being output correctly. Vercel offers a simple UI for developers to easy get their site running globally without the hassle. Developers can still change their code through GitHub and Vercel will update along with it, which makes the CI/CD process even more simple. &lt;/p&gt;

&lt;p&gt;For more information about Vercel and its application, check out their website's &lt;a href="https://vercel.com/docs"&gt;docs&lt;/a&gt; and this &lt;a href="https://www.redhat.com/architect/micro-frontend-architecture"&gt;article&lt;/a&gt; by Michael Potter. Vercel is the future for front-end web development and is currently used by large companies such as, McDOnalds, TikTok, Hulu, Ticketmaster, etc. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting Started with 11ty</title>
      <dc:creator>briangan123</dc:creator>
      <pubDate>Mon, 28 Feb 2022 23:30:35 +0000</pubDate>
      <link>https://dev.to/briangan123/getting-started-with-11ty-3n0o</link>
      <guid>https://dev.to/briangan123/getting-started-with-11ty-3n0o</guid>
      <description>&lt;p&gt;11ty is a simple static site generator that uses the files found in the current working directory. You can use many different filetypes such as markdown, html, JavaScript, etc. There are many different ways to go about creating your first 11ty site. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Basic 11ty Site&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To easily get started with 11ty, go to your command line and in the directory you want, run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo '# Page header' &amp;gt; README.md
npx @11ty/eleventy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will create a blank site in the current directory. To start up the web server, you can run this command: &lt;code&gt;npx @11ty/eleventy --serve&lt;/code&gt;. After that, you can open &lt;code&gt;http://localhost:8080/README/&lt;/code&gt; in your web browser to see your local page. You can edit its contents in a code editing program such as VSCode. Then you'll want to create a .eleventy.js file so that you can configure Eleventy to your site's needs. You can edit the files in the directory such as the readme.md and index.html. Here is what my basic site looks like: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j_dwz_Xr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aiqavveawofjd2br0cr0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j_dwz_Xr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aiqavveawofjd2br0cr0.png" alt="Image description" width="509" height="202"&gt;&lt;/a&gt;&lt;br&gt;
You can view my GitHub code [here].(&lt;a href="https://github.com/briangan123/11ty"&gt;https://github.com/briangan123/11ty&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;11ty Blog Template&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Another way to utilize 11ty is by using prebuilt templates. For this example, I used &lt;a href="https://github.com/11ty/eleventy-base-blog"&gt;this&lt;/a&gt; template from GitHub. To use this as a template, click the green button that says "use this template". It will prompt you to create a repo name and then you can create your own version. &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TEBy_TWz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9qe41ss9jvtratdpdhmv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TEBy_TWz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9qe41ss9jvtratdpdhmv.png" alt="Image description" width="880" height="195"&gt;&lt;/a&gt;&lt;br&gt;
After you created your template on GitHub, you can use your command line to keep track of changes so that you can upload it to GitHub. Again, you can edit the contents by changing some files in VSCode. Here is what my blog looks like:&lt;/p&gt;

&lt;p&gt;Homepage&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MFVIxft0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3jj5o3n1g6qduhxa48rs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MFVIxft0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3jj5o3n1g6qduhxa48rs.png" alt="Image description" width="649" height="411"&gt;&lt;/a&gt;&lt;br&gt;
Archive page&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m3IKmLgb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n072znuwh3y695apxat7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m3IKmLgb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n072znuwh3y695apxat7.png" alt="Image description" width="727" height="370"&gt;&lt;/a&gt;&lt;br&gt;
First Blog Post&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---zM-eCH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ixdtrvn5qwf7sujmwu4j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---zM-eCH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ixdtrvn5qwf7sujmwu4j.png" alt="Image description" width="788" height="994"&gt;&lt;/a&gt;&lt;br&gt;
You can push your changes to GitHub to keep track of changes to your files as you add more to your site. Here is my Github &lt;a href="https://github.com/briangan123/11tyLab"&gt;repo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Another Template&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Another template I used was &lt;a href="https://github.com/trey/resume-template"&gt;this&lt;/a&gt;. &lt;br&gt;
Following the same procedures to use the template, I created my own resume site and edited the files and page content to fit my needs. Here is what it looks like: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RJE8E2Zf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/otqay0x4z7cfhr9pag0y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RJE8E2Zf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/otqay0x4z7cfhr9pag0y.png" alt="Image description" width="880" height="461"&gt;&lt;/a&gt;&lt;br&gt;
You can see the edits I made in my GitHub repo &lt;a href="https://github.com/briangan123/resume11ty"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;11ty is a powerful tool to create a static site and there are many ways to go about it. Using a template will get you up and running faster, but if you want full customizability, then you can build your site from the ground up.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting started with Docker</title>
      <dc:creator>briangan123</dc:creator>
      <pubDate>Mon, 28 Feb 2022 22:22:58 +0000</pubDate>
      <link>https://dev.to/briangan123/getting-started-with-docker-33gl</link>
      <guid>https://dev.to/briangan123/getting-started-with-docker-33gl</guid>
      <description>&lt;p&gt;Docker is an open source containerization platform where developers can package applications into containers. It is becoming more popular due to organization's shift to the cloud, simplifying delivery of applications. Containers make it so that applications can be easily deployed, patched, and scaled.You won't have to install any dependencies because the container will already have everything the application needs to run. Docker provides a single place to set up and manage containers simply and easily. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Getting Started with Play With Docker&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;First, you'll want to head over to the Docker site and create an account. After creating an account, head over to this &lt;a href="https://labs.play-with-docker.com/"&gt;link&lt;/a&gt; and hit the green start button.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Yr_NxJ41--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxfb82nzg7izmznx7qel.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yr_NxJ41--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxfb82nzg7izmznx7qel.png" alt="Image description" width="708" height="547"&gt;&lt;/a&gt;&lt;br&gt;
 From here, you can click the "ADD NEW INSTANCE" button on the left hand side to open up the sandbox. &lt;br&gt;
Now have a command line on Docker that you can play around with to open containers.&lt;/p&gt;
&lt;h2&gt;
  
  
  *&lt;em&gt;Connecting this to out NASA API project *&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;After creating a new instance, we need to clone the GitHub repo and cd into the new directory. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9dJ_ro5E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b89eadmqn9c5a9djjo2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9dJ_ro5E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b89eadmqn9c5a9djjo2h.png" alt="Image description" width="865" height="364"&gt;&lt;/a&gt;&lt;br&gt;
Then we need to create a new file in this directory. This can be done with this command: &lt;code&gt;touch "dockerfile"&lt;/code&gt;. &lt;br&gt;
Then we can edit this file by clicking the "Editor" button and searching for the new file. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZfjVdnGb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xbx9gsk2yrsyt064ypp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZfjVdnGb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xbx9gsk2yrsyt064ypp.png" alt="Image description" width="880" height="352"&gt;&lt;/a&gt;&lt;br&gt;
In the file, we can paste this code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FROM node:10-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "/app/src/index.js"]
EXPOSE 3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After adding the contents to this file, you can save it. What this does is automate commands that would need to be run in order to run the site like a script.&lt;/p&gt;

&lt;p&gt;Now you can run &lt;code&gt;docker build -t todoapp .&lt;/code&gt; (make sure to include the period)&lt;br&gt;
Now you can create your containers using the command line. For example: &lt;code&gt;docker run -dp 3000:3000 todoapp&lt;/code&gt;.&lt;br&gt;
You can create as many containers as you want as long as you are using different ports. Otherwise, it will be overwritten.&lt;br&gt;
Now to open the port, you can click the "Open Port" button and entering in the port number. Or if a button with the port number pops up, you can click that instead.&lt;br&gt;
Additionally, you can run &lt;code&gt;docker-compose up&lt;/code&gt; to run an entire app.&lt;br&gt;
Congratulations, you have created a dockerfile for your container.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Images from NEWSAPI Microservice&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This is the frontend of the NewsAPI microservice&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xjG2djwx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hxo1pjij42oeti561q8w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xjG2djwx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hxo1pjij42oeti561q8w.png" alt="Image description" width="880" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is the backend of the NewsAPI microservice&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F43jxXPr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lh14xzpeviuci5ckv19a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F43jxXPr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lh14xzpeviuci5ckv19a.png" alt="Image description" width="880" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The back end of connecting to APIs</title>
      <dc:creator>briangan123</dc:creator>
      <pubDate>Mon, 31 Jan 2022 01:16:12 +0000</pubDate>
      <link>https://dev.to/briangan123/the-backend-of-connecting-to-apis-dk4</link>
      <guid>https://dev.to/briangan123/the-backend-of-connecting-to-apis-dk4</guid>
      <description>&lt;p&gt;In this blog post, I'll be discussing the backend of how websites connect to APIs to visualize its data. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;GeoIP&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;GeoIP is a free API that can retrieve your IP address data and other location information from your Internet Service Provider(ISP). You can view your location information using GeoIP &lt;a href="https://freegeoip.app/json/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Getting data from GEOIP into Google Maps&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;First, in our constructor, we set the location endpoint to the GeoIP API. We refer to this API when trying to fetch its data. &lt;br&gt;
&lt;code&gt;this.locationEndpoint = 'https://freegeoip.app/json/';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Next, We instantiate variables we want to retrieve. In this case, we instantiated our longitude, latitude, city, and region_name (AKA State). &lt;/p&gt;

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

&lt;p&gt;Then, we will fetch data from the API by using this code block: &lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Fetch()&lt;/strong&gt;&lt;br&gt;
In this function, we connect to the API and if successful, it will retrieve the data you specified. If not, it returns false and won't display any information from the API. This is also called a promise. This takes the URL as a parameter. &lt;/p&gt;

&lt;p&gt;Now that we retrieved our longitude and latitude from the API and have it stored into a local variable, we can reference it in our render() function. Whenever a variable in the properties() is updated, this function is run again to obtain the updated information.&lt;/p&gt;

&lt;p&gt;In the render() function, we declared a new variable, which will be the Google Maps link. Instead of setting a defined longitude and latitude in the url, we input the local variables, &lt;code&gt;this.long&lt;/code&gt; &amp;amp; &lt;code&gt;this.lat&lt;/code&gt; instead, so that it can update by itself. &lt;br&gt;
Then, we created an iframe where a map of your location will be displayed in a little box on your website.&lt;/p&gt;

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

&lt;p&gt;We can also create a hyperlink that you can click on to direct you straight to the google maps website that already has your coordinates automatically inputted. This is done in a similar fashion as the iframe, but with a different syntax. In this case, we used an href and set it equal to the Google Maps link with the local variables for latitude and longitude. We have a static zoom level set to 14 at the end of the href link. Then you can set the hyperlink to say whatever you'd like. In this case, it says "Open in Google Maps".&lt;/p&gt;

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

&lt;h2&gt;
  
  
  &lt;strong&gt;Wiring data into wikipedia-query tag&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now that you successfully retrieved your location data from the GeoIP API, you can use   that to imbed a wikipedia article about your location. &lt;/p&gt;

&lt;p&gt;First, you'll need to add it as a dependency by importing it with this at the top: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;import '@lrnwebcomponents/wikipedia-query/wikipedia-query.js';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To automatically show the information about your city and state from Wikipedia, you need to use the wikipedia-query search tag and reference the local city and state variables that were instantiated and set earlier.&lt;/p&gt;

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

&lt;p&gt;Now you have successfully wired the GeoIP API data to Google Maps and Wikipedia!&lt;/p&gt;

&lt;p&gt;You can check out my repo &lt;a href="https://github.com/briangan123/ip-project/blob/master/src/LocationFromIP.js"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Check out these resources for more information.&lt;br&gt;
&lt;a href="https://freegeoip.app/json/"&gt;GeoIP API&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/w/api.php"&gt;Wiki API Documentation&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building a basic web component with Open-wc</title>
      <dc:creator>briangan123</dc:creator>
      <pubDate>Mon, 17 Jan 2022 00:02:22 +0000</pubDate>
      <link>https://dev.to/briangan123/building-a-basic-web-component-with-open-wc-4i97</link>
      <guid>https://dev.to/briangan123/building-a-basic-web-component-with-open-wc-4i97</guid>
      <description>&lt;p&gt;Hi, my name is Brian Gan and this is my first time coding in JavaScript. In this tutorial, I am going to show you how to build a basic web component using open-wc. If I was able to accomplish this, then so can you!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What to install&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;VSCode&lt;/strong&gt;&lt;br&gt;
First, you'll need to install &lt;a href="https://code.visualstudio.com/download"&gt;VSCode&lt;/a&gt; for your respective operating system. This is where you'll write most of your Javascript code for your web component.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NodeJS&lt;/strong&gt;&lt;br&gt;
Next, you'll need to install &lt;a href="https://nodejs.org/en/"&gt;NodeJS LTS&lt;/a&gt;. This is a runtime environment for developing your application and provides a library that will make developing web applications simple. Make sure you are downloading the Long-term support (LTS) version so that you won't have any critical bugs that haven't been discovered yet. You can learn more about NodeJS &lt;a href="https://www.tutorialspoint.com/nodejs/nodejs_introduction.htm"&gt;here&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;npm&lt;/strong&gt;&lt;br&gt;
This is a package manager that comes preinstalled along with NodeJS. npm puts modules in one place so that NodeJS can find them and also helps manage dependencies so that you won't have to download them manually. &lt;/p&gt;

&lt;p&gt;You can check to see if NodeJS installed npm by typing &lt;code&gt;npm -v&lt;/code&gt; in the command line. This will show you what version you have. If it doesn't recognize the command, then you will need to manually install npm by typing &lt;code&gt;npm install -g npm&lt;/code&gt;. You can learn more about npm &lt;a href="https://docs.npmjs.com/cli/v6/commands/npm"&gt;here&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;NodeJS and npm are popular among developers because it is based on JavaScript, which has been the most popular web development coding language. NodeJS is easy to learn, scalable, cross-platform friendly, light &amp;amp; fast, and takes advantage of caching. You can learn more about the origins and why it is so popular &lt;a href="https://www.section.io/engineering-education/why-node-js-is-popular/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yarn&lt;/strong&gt;&lt;br&gt;
Yarn is similar to npm and is another package manager that is optional for this tutorial. You can also check to see if you have yarn installed with the command &lt;code&gt;yarn -v&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Creating a place for all of your projects&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now, you'll want to create a directory so that you can store all of your projects. This can be done through the command line or through the GUI. For this project, my files are stored in my &lt;code&gt;Documents/git/edtechjoker/&lt;/code&gt; directory, but you can name it whatever you'd like. This can be done through the command line by typing &lt;code&gt;mkdir -p ~/Documents/git/edtechjoker&lt;/code&gt; on most operating systems. For reference, I am using a Windows 10 machine and I created my directory by using the GUI.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  &lt;strong&gt;Version Control using GitHub&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you would like to use GitHub for version control, then make sure to clone your repo into the newly created folder. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your command line, navigate to the newly created directory by using the cd command. In my case, this would be &lt;code&gt;\Users\brian\Documents\git\edtechjoker\&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;Create a new repo on GitHub. I named my repo &lt;code&gt;edtechjoker-lab1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Clone your repo by running &lt;code&gt;git clone git@github.com:YOURUSERNAME/YOURREPO.git&lt;/code&gt;. 
Make sure to replace your username and the name of your repo.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Getting connected to Open-wc&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now that we have everything installed, we can begin to connect to Open-wc. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your command line, navigate to the newly created directory. If you want to keep track of version with GitHub, make sure you're in the repo folder. In my case, that would be &lt;code&gt;\Users\brian\Documents\git\edtechjoker\edtechjoker-lab1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Use the command &lt;code&gt;npm init @open-wc&lt;/code&gt;. You Should see something like this:&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;Initialize your project with the following settings: (Hint: you must use your arrow keys to navigate through the different settings)&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;New project scaffold&lt;/li&gt;
&lt;li&gt;Web Component&lt;/li&gt;
&lt;li&gt;Linting, Testing, and Demoing all enabled. &lt;/li&gt;
&lt;li&gt;No TypeScript&lt;/li&gt;
&lt;li&gt;Name it "hello-world" --You can name it whatever you'd like.&lt;/li&gt;
&lt;li&gt;Install depencies using yarn -- if you were unable to install yarn, you can use npm instead.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Congratulations! You have successfully created a web component using Open-wc. You can view your site by going into the new folder. In my case, hello-world. Then use the command &lt;code&gt;npm run start&lt;/code&gt; or &lt;code&gt;npm start&lt;/code&gt; or if you installed yarn, &lt;code&gt;yarn start&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5CX1xUfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pa0x78cuc5qyz1deajro.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5CX1xUfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pa0x78cuc5qyz1deajro.PNG" alt="Image description" width="880" height="344"&gt;&lt;/a&gt;&lt;br&gt;
 If successful, it should open a new window/tab displaying your web component.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AIv0gejt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yoqqwem7dttb50fd0z7g.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AIv0gejt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yoqqwem7dttb50fd0z7g.PNG" alt="Image description" width="624" height="291"&gt;&lt;/a&gt;&lt;br&gt;
To exit, press [control] + c&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Tweaking your code&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is where VSCode comes into play. Now that you have your basic web component, you can go to VSCode and open up the project folder. In my case, this is called hello-world. If you navigate to the src folder, you will see a JavaScript file. You can play around with this file to see how it changes your web component. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--32D_rEim--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/086pc7xfueixyl2smewx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--32D_rEim--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/086pc7xfueixyl2smewx.png" alt="Image description" width="329" height="591"&gt;&lt;/a&gt;&lt;br&gt;
 If you are using version control, make sure to commit and push your changes to your online repository. For example, after finishing up my changes, in my command line, I would make sure I'm in my hello-world directory (the one created using open-wc) and use the following commands: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;git commit -am "YOUR MESSAGE HERE"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git push origin main&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If prompted, you may need to enter your passphrase.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Now if you go to your GitHub repo, you'll see the changes in your code.&lt;/p&gt;

&lt;p&gt;This is my &lt;a href="https://github.com/briangan123/edtechjoker-lab1"&gt;GitHub repo&lt;/a&gt; for this project.&lt;/p&gt;

&lt;p&gt;If you want to practice and learn more about different web components and how to integrate them into your code, I suggest you check out &lt;a href="https://lit.dev/tutorial/"&gt;Lit's tutorial&lt;/a&gt; and play around with it.&lt;/p&gt;

&lt;p&gt;Good luck and have fun building!&lt;/p&gt;

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