<?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>Forem: Naman Gupta</title>
    <description>The latest articles on Forem by Naman Gupta (@insanenaman).</description>
    <link>https://forem.com/insanenaman</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%2F348589%2F35c95bca-ca87-4d9d-bc58-202b5969c7a9.jpg</url>
      <title>Forem: Naman Gupta</title>
      <link>https://forem.com/insanenaman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/insanenaman"/>
    <language>en</language>
    <item>
      <title>Starter Kit for Static Websites 🚀</title>
      <dc:creator>Naman Gupta</dc:creator>
      <pubDate>Wed, 14 Oct 2020 20:51:58 +0000</pubDate>
      <link>https://forem.com/insanenaman/starter-kit-for-static-websites-52hl</link>
      <guid>https://forem.com/insanenaman/starter-kit-for-static-websites-52hl</guid>
      <description>&lt;h2&gt;
  
  
  parcel-static-site-starterkit
&lt;/h2&gt;

&lt;p&gt;A minimalistic(simple) starter kit for Static Websites with out of the box ES6+ and SCSS support. No Config needed. &lt;a href="https://github.com/InsaneNaman/parcel-static-site-starterkit" rel="noopener noreferrer"&gt;Project On Github&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Features 🚀
&lt;/h3&gt;

&lt;p&gt;1- Compatible with All Static Site like Bootstrap Template&lt;/p&gt;

&lt;p&gt;2- Out of the box Uglifying/ Minifying of CSS, HTML, JS&lt;/p&gt;

&lt;p&gt;3- SCSS Support&lt;/p&gt;

&lt;p&gt;4- ES6+ Support&lt;/p&gt;

&lt;p&gt;5- Hot Reloading&lt;/p&gt;

&lt;p&gt;6- Runs on a local server&lt;/p&gt;

&lt;p&gt;7- Auto prefixing - Support IE10 and last 4 versions of all browsers&lt;/p&gt;




&lt;h3&gt;
  
  
  When and Why should you use this project? 😯
&lt;/h3&gt;

&lt;p&gt;1- No setup required. Just one command to start developing.&lt;/p&gt;

&lt;p&gt;2- Provides out of the box ES6+ and SCSS support. No config needed.&lt;/p&gt;

&lt;p&gt;3- If you are a beginner and following some tutorial then you can code on your machine hassle-free.&lt;/p&gt;

&lt;p&gt;4- If you want to test something locally and you need a preconfigured environment for a static site.&lt;/p&gt;

&lt;p&gt;5- You have a website and want to deploy it on production.&lt;/p&gt;




&lt;h3&gt;
  
  
  How to use 🧐
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Make sure you have node installed. If not, I recommend installing via&lt;/code&gt; &lt;a href="https://github.com/nvm-sh/nvm" rel="noopener noreferrer"&gt;nvm(Node Version Manager)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1- Clone project - &lt;br&gt;
👉 &lt;code&gt;git clone https://github.com/InsaneNaman/parcel-static-site-starterkit.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fgscnt5n3qpkaxu1c8y33.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fgscnt5n3qpkaxu1c8y33.gif" alt="Alt Text" width="760" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2- Navigate to that directory&lt;br&gt;
👉 &lt;code&gt;cd parcel-static-site-starterkit/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;3- Install dependencies &lt;br&gt;
👉 &lt;code&gt;npm i&lt;/code&gt; or &lt;code&gt;yarn&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This would install dependencies (required libraries) under &lt;code&gt;node_modules&lt;/code&gt; folder.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;4- Run Project&lt;br&gt;
👉 &lt;code&gt;npm run start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ny0oogh7culvbx8vpk6.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ny0oogh7culvbx8vpk6.gif" alt="Alt Text" width="760" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎉🎉🎉🎉 That's it. Your website is live on &lt;code&gt;localhost:1234&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fguux97xwco2tya5eedok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fguux97xwco2tya5eedok.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5- Put/Write your code in &lt;code&gt;src&lt;/code&gt; folder&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There are sample files already present (feel free to delete them and add yours) to give you an idea about the architecture. You only need to care about just one file i.e, &lt;code&gt;index.html&lt;/code&gt; and that you must put/create at the &lt;code&gt;src&lt;/code&gt; (&lt;code&gt;src/index.html&lt;/code&gt;) folder level.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Ready to build?
&lt;/h3&gt;

&lt;p&gt;👉 &lt;code&gt;npm run build&lt;/code&gt; or &lt;code&gt;yarn run build&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will generate &lt;code&gt;dist&lt;/code&gt; folder that you can deploy to anywhere like &lt;a href="https://netlify.com" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt;, &lt;a href="https://firebase.com" rel="noopener noreferrer"&gt;Firebase&lt;/a&gt; or wherever you like. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Here is a list of &lt;a href="https://dev.to/insanenaman/15-easy-peasy-services-to-deploy-your-static-webapp-for-free-4m2b"&gt;Free hosting Services&lt;/a&gt; 🔥&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://github.com/InsaneNaman/parcel-static-site-starterkit" rel="noopener noreferrer"&gt;Starter Kit On Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it for today. Feel free to provide any type of feedback/report error. I do appreciate that. Meanwhile, you can find me on Twitter &lt;a href="https://twitter.com/InsaneNaman" rel="noopener noreferrer"&gt;@InsaneNaman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Signing off. See you soon.&lt;/p&gt;




&lt;blockquote&gt;
&lt;h2&gt;
  
  
  For every minute you are angry you lose sixty seconds of happiness. So, keep smiling. 😉 
&lt;/h2&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>npm</category>
      <category>showdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>JS.introduceYourself() - A JS Codelab for beginners 🤓</title>
      <dc:creator>Naman Gupta</dc:creator>
      <pubDate>Thu, 08 Oct 2020 09:27:22 +0000</pubDate>
      <link>https://forem.com/insanenaman/js-introduceyourself-a-js-codelab-for-beginners-5ghk</link>
      <guid>https://forem.com/insanenaman/js-introduceyourself-a-js-codelab-for-beginners-5ghk</guid>
      <description>&lt;p&gt;I designed this beginner-friendly codelab which can be helpful in understanding the basics of JavaScript. It has 5 steps with code snippets that you can run and see. (Though, I have attached some GIFs to help you with those snippets).&lt;/p&gt;

&lt;p&gt;Codelab Link - &lt;a href="https://commudle.com/labs/javascript-introduce-yourself" rel="noopener noreferrer"&gt;https://commudle.com/labs/javascript-introduce-yourself&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  A Glimpse at CodeLab
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0n9y1rud5hpuulccd0kq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0n9y1rud5hpuulccd0kq.png" alt="Alt Text" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope you would like it. Don't forget to leave a ⭐️ if do so.&lt;/p&gt;

&lt;p&gt;That's it for today. Feel free to provide any type of feedback. I do appreciate that. Meanwhile, you can find me on Twitter &lt;a href="https://twitter.com/InsaneNaman" rel="noopener noreferrer"&gt;@InsaneNaman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Signing off. See you soon.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Using Redaxios, an 800-byte Axios alternative (Fetch wrapper)</title>
      <dc:creator>Naman Gupta</dc:creator>
      <pubDate>Sun, 04 Oct 2020 21:30:51 +0000</pubDate>
      <link>https://forem.com/insanenaman/using-redaxios-an-800-byte-axios-alternative-fetch-wrapper-51mo</link>
      <guid>https://forem.com/insanenaman/using-redaxios-an-800-byte-axios-alternative-fetch-wrapper-51mo</guid>
      <description>&lt;p&gt;Hi there, Its Naman. This blog is for devs like me who use &lt;a href="https://github.com/axios/axios" rel="noopener noreferrer"&gt;Axios&lt;/a&gt; frequently. I love Axios as it provides a clean API and advanced way to play around REST calls. Not only this, I even use Axios for simple GraphQL requests but sometimes I find myself just doing simple CRUD operations (GET, POST etc) using Axios which is overhead in my opinion. So, a couple of months back I found &lt;a href="https://github.com/developit/redaxios" rel="noopener noreferrer"&gt;Redaxios&lt;/a&gt;. Its a nice little alternative and has been built by &lt;a href="https://github.com/developit" rel="noopener noreferrer"&gt;Jason Miller&lt;/a&gt; (creator of &lt;a href="https://github.com/preactjs/preact" rel="noopener noreferrer"&gt;Preact&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Why would you use &lt;a href="https://github.com/developit/redaxios" rel="noopener noreferrer"&gt;Redaxios&lt;/a&gt; instead of &lt;a href="https://github.com/axios/axios" rel="noopener noreferrer"&gt;Axios&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;👉 Just one reason - Import Cost&lt;br&gt;
I try my best to decrease the build size wherever I can. So, if you are someone like me and you are just doing basic RESTful calls then Redaxios is a great choice.&lt;/p&gt;

&lt;h3&gt;
  
  
  📦 Import cost according to &lt;a href="https://bundlephobia.com/" rel="noopener noreferrer"&gt;Bundlephobia&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;1- Axios (&lt;a href="https://bundlephobia.com/result?p=axios" rel="noopener noreferrer"&gt;Link&lt;/a&gt;)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5qxiteai12rgknopm9jw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5qxiteai12rgknopm9jw.png" alt="Axios Import Cost" width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2- Redaxios (&lt;a href="https://bundlephobia.com/result?p=redaxios" rel="noopener noreferrer"&gt;Link&lt;/a&gt;)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fiyhu654t4g9e4lblnt1j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fiyhu654t4g9e4lblnt1j.png" alt="Redaxios Import Cost" width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🤔 How to use it?
&lt;/h3&gt;

&lt;p&gt;The best thing about Redaxios is that it doesn't provide its custom API. Just use it like you use Axios.&lt;/p&gt;

&lt;h4&gt;
  
  
  🛠  Installation
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;npm i redaxios --save&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🛠  Usage
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;import axios from 'redaxios';&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;(use as you would normally)   &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tip: Start with Redaxios (if you are not sure) and down the line if you find that you need advanced features and Redaxios is not your cup of tea then just change the imports. That easy 😉&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's it for today. Feel free to provide any type of feedback. I do appreciate that. Meanwhile, you can find me on Twitter &lt;a href="https://twitter.com/InsaneNaman" rel="noopener noreferrer"&gt;@InsaneNaman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Signing off. See you soon.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>node</category>
      <category>npm</category>
    </item>
    <item>
      <title>15+ Easy-Peasy Services to deploy your Static WebApp for Free 🤑</title>
      <dc:creator>Naman Gupta</dc:creator>
      <pubDate>Fri, 02 Oct 2020 11:55:49 +0000</pubDate>
      <link>https://forem.com/insanenaman/15-easy-peasy-services-to-deploy-your-static-webapp-for-free-4m2b</link>
      <guid>https://forem.com/insanenaman/15-easy-peasy-services-to-deploy-your-static-webapp-for-free-4m2b</guid>
      <description>&lt;h3&gt;
  
  
  Free for Static Site (at least) 🤑
&lt;/h3&gt;

&lt;p&gt;1- &lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://www.netlify.com/pricing/#features" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting, Serverless, Forms, Analytics etc.&lt;br&gt;
💬 Description - Netlify allows developers to create unlimited websites. Its free tier includes 100GB/Month Bandwith, HTTPS-enabled Custom Domains, Cloud Function (125k per site /month).&lt;/p&gt;

&lt;p&gt;2- &lt;a href="https://vercel.com/" rel="noopener noreferrer"&gt;Vercel (Formerly Ziet Now)&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://vercel.com/docs/platform/limits" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting, Serverless etc.&lt;br&gt;
💬 Description - Vercel is the company behind Awesome Framework &lt;a href="https://nextjs.org/" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt; and that's why provides a smooth process to deploy Next.js app. One can also deploy any statically generated website (Gatsby, HUGO etc) too. Also, the Individual plan is pretty good for creating an MVP or running a side project.&lt;/p&gt;

&lt;p&gt;3- &lt;a href="https://render.com/" rel="noopener noreferrer"&gt;Render&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://render.com/pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting, Serverless, Database, Cron Jobs, Background Workers.&lt;br&gt;
💬 Description - Render has all services under the hood and all pricing are cost-efficient. Hosting is covered in the free tier.   &lt;/p&gt;

&lt;p&gt;4- &lt;a href="https://surge.sh/" rel="noopener noreferrer"&gt;Surge&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://surge.sh/pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting&lt;br&gt;
💬 Description - Surge calls itself "One command hosting" as it allows you to deploy your app in a simple command. The free tier is good for small projects.&lt;/p&gt;

&lt;p&gt;5- &lt;a href="https://firebase.google.com/" rel="noopener noreferrer"&gt;Firebase&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://firebase.google.com/pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting, Authentication, Database, Storage, ML, Serverless&lt;br&gt;
💬 Description - Backed by Google, it provides a one-in-all solution. You can prototype a complete app in just some hours. Free tier also covers all products.     &lt;/p&gt;

&lt;p&gt;6- &lt;a href="https://www.zoop.sh/" rel="noopener noreferrer"&gt;Zoop&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://www.zoop.sh/limits/" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting, Serverless&lt;br&gt;
💬 Description - Zoop is also one command deploy. One can use their serverless architecture and deploy a website in minutes.&lt;/p&gt;

&lt;p&gt;7- &lt;a href="https://www.heroku.com/" rel="noopener noreferrer"&gt;Heroku&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://www.heroku.com/pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting, Database, Caching, VMs and many more.&lt;br&gt;
💬 Description - Heroku is a complete cloud platform and provides almost every type of service. They do have a free tier so you can not just host a static website but also can deploy your Nodejs/PHP backend app.&lt;/p&gt;

&lt;p&gt;8- &lt;a href="https://www.clodui.com/" rel="noopener noreferrer"&gt;Clodui&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://www.clodui.com/#pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting.&lt;br&gt;
💬 Description - ClodUI is a very simple hosting provider which offers a decent free plan.&lt;/p&gt;

&lt;p&gt;9- &lt;a href="https://www.deta.sh/" rel="noopener noreferrer"&gt;Deta&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://www.deta.sh/pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Micros(Small VM), Drive, Authentication, Database.&lt;br&gt;
💬 Description - A modern solution which lets you deploy your backend apps (Nodejs, Python etc). If you are serving static solution using NodeJS then it can be your go-to option.&lt;/p&gt;

&lt;p&gt;10 - &lt;a href="https://www.aerobatic.com/" rel="noopener noreferrer"&gt;Aerobatic&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://www.aerobatic.com/" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Hosting (30 Days Trial)&lt;br&gt;
💬 Description - Static site deployment solution which offers a free 30 days trial.&lt;/p&gt;

&lt;p&gt;11- &lt;a href="https://pages.github.com/" rel="noopener noreferrer"&gt;Github Pages&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free &lt;br&gt;
📦 Products - Hosting&lt;br&gt;
💬 Description - Github pages allow you to deploy your static website per repository. You can build a landing app for your page or even portfolio in seconds. &lt;/p&gt;

&lt;p&gt;12- &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/pages/" rel="noopener noreferrer"&gt;Gitlab Pages&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free &lt;br&gt;
📦 Products - Hosting&lt;br&gt;
💬 Description - Gitlab pages is the same as Github Pages. You can put your code on Gitlab and deploy your Website/Landing Page/Portfolio. &lt;/p&gt;

&lt;p&gt;13- &lt;a href="https://www.ibm.com/in-en/cloud" rel="noopener noreferrer"&gt;IBM Cloud&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans(&lt;a href="https://www.ibm.com/in-en/cloud/pricing" rel="noopener noreferrer"&gt;Pricing&lt;/a&gt;)&lt;br&gt;
📦 Products - Cloud Solution&lt;br&gt;
💬 Description - IBM Cloud is a fully-fledged cloud provider and it provides a free plan without requiring any Credit/Debit card which makes it different from its competitors(AWS, GCP, Azure). &lt;/p&gt;

&lt;p&gt;14- &lt;a href="https://www.gearhost.com/" rel="noopener noreferrer"&gt;GearHost&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans(&lt;a href="https://www.gearhost.com/pricing" rel="noopener noreferrer"&gt;Pricing&lt;/a&gt;)&lt;br&gt;
📦 Products - Cloud VM&lt;br&gt;
💬 Description - It provides a free cloud VM which you can use to deploy any stack.&lt;/p&gt;

&lt;h3&gt;
  
  
  Complete Cloud Solutions but do have a free tier
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Note: Services listed in this particular section may need you to provide Credit/Debit card for verification process 🥺&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;1- &lt;a href="https://aws.amazon.com/s3/" rel="noopener noreferrer"&gt;Amazon S3&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans(&lt;a href="https://aws.amazon.com/free/storage/s3" rel="noopener noreferrer"&gt;Pricing&lt;/a&gt;)&lt;br&gt;
📦 Products - Cloud Platform&lt;br&gt;
💬 Description - Complete cloud solution provided by Amazon. Amazon S3 is the bucked/Blob Storage to deploy a static website.&lt;/p&gt;

&lt;p&gt;2- &lt;a href="https://cloud.google.com/solutions/web-hosting" rel="noopener noreferrer"&gt;GCP&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans(&lt;a href="https://www.gearhost.com/pricing" rel="noopener noreferrer"&gt;Pricing&lt;/a&gt;)&lt;br&gt;
📦 Products - Cloud Platform&lt;br&gt;
💬 Description - Complete cloud solution provided by Google. It uses Cloud storage (same as s3) to deploy a static website, CDN, load balancer.&lt;/p&gt;

&lt;p&gt;3- &lt;a href="https://azure.microsoft.com/en-us/services/app-service/static/" rel="noopener noreferrer"&gt;Azure Static Pages&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans&lt;br&gt;
📦 Products - Cloud Platform&lt;br&gt;
💬 Description - Complete cloud solution provided by Microsoft. It provides a simple service to deploy the static website.&lt;/p&gt;

&lt;p&gt;4- &lt;a href="https://www.oracle.com/cloud/" rel="noopener noreferrer"&gt;Oracle Cloud&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans&lt;br&gt;
📦 Products - Cloud Platform&lt;br&gt;
💬 Description - Complete cloud solution provided by Oracle. You can deploy your complex solution without worry. &lt;/p&gt;

&lt;h3&gt;
  
  
  Tools to make your app public temporarily
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Note: These tools are great for testing and good for deploying temporarily&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;1- &lt;a href="https://ngrok.com/" rel="noopener noreferrer"&gt;ngrok&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans&lt;br&gt;
📦 Products - Tunneling tool&lt;br&gt;
💬 Description - It allows you to make your machine act like a server and making your WebApp accessible publicly. &lt;/p&gt;

&lt;p&gt;2- &lt;a href="https://localhost.run/" rel="noopener noreferrer"&gt;Localhost Run&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free and Paid Plans&lt;br&gt;
📦 Products - Tunneling tool&lt;br&gt;
💬 Description - Works same as ngrok. Exposes your localhost.&lt;/p&gt;

&lt;h3&gt;
  
  
  Other
&lt;/h3&gt;

&lt;p&gt;1- &lt;a href="https://fauna.com/" rel="noopener noreferrer"&gt;FaunaDB&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://fauna.com/pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Managed NoSQL DB, GraphQL Support, Serverless etc.&lt;br&gt;
💬 Description - FaunaDB is amazing in terms of performance, scalability, ease of use. You can use your GQL schema and roll up a DB with custom queries in seconds. Also, the free plan includes 5 GB Storage, 100K Reads per day, 50k writes per day and much more. &lt;/p&gt;

&lt;p&gt;2- &lt;a href="https://nimbella.com/" rel="noopener noreferrer"&gt;Nimbella&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://nimbella.com/pricing/platform" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Serverless&lt;br&gt;
💬 Description - Serverless platform supporting JavaScript, Python, PHP, GO, Java, Swift, Typescript. It provides built-in SSL, Integrated Object Store, Integrated Key-Value, Loggin, Deploy from Github.&lt;/p&gt;

&lt;p&gt;3- &lt;a href="https://ralley.io/" rel="noopener noreferrer"&gt;Ralley&lt;/a&gt;&lt;br&gt;
💰 Pricing - Free tier and Paid(&lt;a href="https://ralley.io/pricing" rel="noopener noreferrer"&gt;Pricing Details&lt;/a&gt;)&lt;br&gt;
📦 Products - Messaging Queue&lt;br&gt;
💬 Description - Zero configuration message queue. The free tier is also good for small projects - 2K requests, 1MB limit and much more. &lt;/p&gt;

&lt;p&gt;That's it for today. Feel free to provide any type of feedback/report error. I do appreciate that. Meanwhile, you can find me on Twitter &lt;a href="https://twitter.com/InsaneNaman" rel="noopener noreferrer"&gt;@InsaneNaman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Signing off. See you soon.&lt;/p&gt;

&lt;p&gt;Don't forget to comment your favourite services 😜&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>cloud</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Make your WebApp public temporarily using ngrok 🔥</title>
      <dc:creator>Naman Gupta</dc:creator>
      <pubDate>Mon, 28 Sep 2020 13:20:06 +0000</pubDate>
      <link>https://forem.com/insanenaman/make-your-webapp-public-temporarily-using-ngrok-56jd</link>
      <guid>https://forem.com/insanenaman/make-your-webapp-public-temporarily-using-ngrok-56jd</guid>
      <description>&lt;h3&gt;
  
  
  Background 🤓
&lt;/h3&gt;

&lt;p&gt;Why would you ever want to make your WebApp public temporarily? (without going through deployment process)🤔   &lt;/p&gt;

&lt;p&gt;1- Testing - You are a frontend dev and wants to test your app in a different device. &lt;br&gt;
2- Feedback - You want to share the current version of your app/chatbot/server with someone else in your team like other devs/Designers just to get it reviewed. This can save a lot of your time. (No waiting for long deployment process)&lt;/p&gt;

&lt;p&gt;So, what's ngrok?&lt;br&gt;
👉 In simple words, ngrok allows you to make you WebApp public without actually deploying on a cloud service. It provides a user-friendly domain that you can share with your remote users/friends/teammates to try/use your WebApp. It does so by making your machine to behave as a server by tunnelling all the traffic to your local port. It handles all the firewall/NAT bypassing itself. PubNub has explained it in a great way. Read &lt;a href="https://www.pubnub.com/learn/glossary/what-is-ngrok/" rel="noopener noreferrer"&gt;here&lt;/a&gt; for more standard explanation.&lt;/p&gt;
&lt;h3&gt;
  
  
  Let the hacking begin 👨‍💻👩‍💻 :
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Note: Before moving forward make sure you have Node.js installed in your system. I recommend installing Node.js via&lt;/code&gt; &lt;a href="https://github.com/nvm-sh/nvm" rel="noopener noreferrer"&gt;nvm(Node Version Manager)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1- Create an account on &lt;a href="https://ngrok.com/" rel="noopener noreferrer"&gt;ngrok&lt;/a&gt; ✍️&lt;/p&gt;

&lt;p&gt;2- Go to &lt;a href="https://dashboard.ngrok.com/get-started/setup" rel="noopener noreferrer"&gt;dashboard&lt;/a&gt; so that you can get your Authtoken 👀   &lt;/p&gt;

&lt;p&gt;This will help us to see real-time data about remote connections.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0zgwhlt135um27haos2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0zgwhlt135um27haos2h.png" alt="Alt Text" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2- Run your project 💨&lt;br&gt;
For Eg- If we consider this basic &lt;a href="https://restify.com/" rel="noopener noreferrer"&gt;restify&lt;/a&gt; server.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;restify&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;restify&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hello &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nf"&gt;next&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;restify&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createServer&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/hello/:name&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;respond&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/hello/:name&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;respond&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;listen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8080&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;%s listening at %s&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then it will run on port 8080. So, just start your server (it can be a frontend web app too).   &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4s08anlb2yzcc9t3k93f.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4s08anlb2yzcc9t3k93f.gif" alt="Alt Text" width="682" height="138"&gt;&lt;/a&gt;^ Let's keep it running and move to our final step. &lt;/p&gt;

&lt;p&gt;3- Rollup &lt;a href="https://ngrok.com/" rel="noopener noreferrer"&gt;ngrok&lt;/a&gt; and make this port publicly available 📦&lt;/p&gt;

&lt;p&gt;👉 Open a terminal and enter this command&lt;br&gt;&lt;br&gt;
&lt;code&gt;$ npx ngrok http 8080&lt;/code&gt;   &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feiac5nzjd67174ztrmhw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feiac5nzjd67174ztrmhw.gif" alt="Alt Text" width="710" height="312"&gt;&lt;/a&gt;&lt;br&gt;
PS: Your app might run on a different port so just replace 8080 with your respective port. Eg - For an app running on port 4000, the command will be &lt;code&gt;$ npx ngrok http 4000&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;4- Share your URL 🚀&lt;br&gt;
That's it. You are live now at URL -  &lt;code&gt;http://917e082e741d.ngrok.io&lt;/code&gt; (provided by ngrok in the last step). Share and test your app 🎉🥳.   &lt;/p&gt;

&lt;p&gt;Note- You can even run ngrok your own cloud infra, customize subdomain, set region and do many more things using ngrok but that's really out of the scope of this blog. Many enterprises use ngrok for many different operations. You can read about those use cases &lt;a href="https://ngrok.com/product" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it for today. Feel free to provide any type of feedback. I do appreciate that. Meanwhile, you can find me on Twitter &lt;a href="https://twitter.com/InsaneNaman" rel="noopener noreferrer"&gt;@InsaneNaman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Signing off. See you soon.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>tool</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Spice up your Web App with Animation using Lottie 🔥</title>
      <dc:creator>Naman Gupta</dc:creator>
      <pubDate>Mon, 07 Sep 2020 11:02:27 +0000</pubDate>
      <link>https://forem.com/insanenaman/spice-up-your-web-app-with-animation-using-lottie-1nmo</link>
      <guid>https://forem.com/insanenaman/spice-up-your-web-app-with-animation-using-lottie-1nmo</guid>
      <description>&lt;h3&gt;
  
  
  Background:
&lt;/h3&gt;

&lt;p&gt;Hi there, Its Naman. I am sure you would have seen animations like this all over the places.    &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc2gwbhlctjhuuflx4pva.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc2gwbhlctjhuuflx4pva.gif" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;br&gt;
But have you wondered how you can also apply animations like these in your app?&lt;br&gt;&lt;br&gt;
If yes, let me introduce you to one of my favourite libraries i.e, &lt;a href="https://airbnb.io/lottie/" rel="noopener noreferrer"&gt;Lottie&lt;/a&gt;(created by &lt;a href="https://www.airbnb.com/" rel="noopener noreferrer"&gt;Airbnb&lt;/a&gt;). Lottie is not restricted to Web but also available for &lt;a href="https://github.com/airbnb/lottie-android" rel="noopener noreferrer"&gt;Android&lt;/a&gt;, &lt;a href="https://github.com/airbnb/lottie-ios" rel="noopener noreferrer"&gt;iOS&lt;/a&gt;, &lt;a href="https://github.com/react-native-community/lottie-react-native" rel="noopener noreferrer"&gt;React-Native&lt;/a&gt; and many more.🤩&lt;/p&gt;

&lt;p&gt;Right now we will look at Lottie implementation in Preact(or you can use React).&lt;/p&gt;
&lt;h3&gt;
  
  
  Let the hacking begin 👨‍💻👩‍💻 :
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Note: Before moving forward make sure you have Node.js installed in your system. I recommend installing Node.js via&lt;/code&gt; &lt;a href="https://github.com/nvm-sh/nvm" rel="noopener noreferrer"&gt;nvm(Node Version Manager)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1- Create a Preact Project 🛠:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i &lt;span class="nt"&gt;-g&lt;/span&gt; preact-cli               //only &lt;span class="k"&gt;do &lt;/span&gt;this &lt;span class="k"&gt;if &lt;/span&gt;you don&lt;span class="s1"&gt;'t have preact cli
preact create default my-lottie-app
cd my-lottie-app
npm run dev
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can use &lt;a href="https://reactjs.org/docs/create-a-new-react-app.html#create-react-app" rel="noopener noreferrer"&gt;create-react-app&lt;/a&gt; if using React.&lt;/p&gt;

&lt;p&gt;2- Install &lt;code&gt;@lottiefiles/react-lottie-player&lt;/code&gt; npm package 📦&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i lottiefiles/react-lottie-player &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We are using &lt;a href="https://www.npmjs.com/package/@lottiefiles/react-lottie-player" rel="noopener noreferrer"&gt;@lottiefiles/react-lottie-player&lt;/a&gt; instead of &lt;a href="https://github.com/airbnb/lottie-web" rel="noopener noreferrer"&gt;lottie-web by Airbnb&lt;/a&gt; because it provides a clean way(API) to use lottie animations in Preact/React.&lt;br&gt;&lt;br&gt;
Furthermore, there are more wrappers available like &lt;a href="https://www.npmjs.com/package/react-lottie" rel="noopener noreferrer"&gt;react-lottie&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/lottie-react-web" rel="noopener noreferrer"&gt;lottie-react-web&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/lottie-react" rel="noopener noreferrer"&gt;lottie-react&lt;/a&gt; and many others.&lt;/p&gt;

&lt;p&gt;3- Introducing &lt;a href="https://lottiefiles.com/" rel="noopener noreferrer"&gt;lottiefiles.com 🚀&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyyz15vt7emahv3nawn09.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyyz15vt7emahv3nawn09.gif" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
It's a hub for Lottie files. Designers spend a lot of time in building these cool animation for techies all around the world. I do appreciate the hard work they put in designing these creatives.&lt;br&gt;&lt;br&gt;
4- Implementation 🤟 &lt;/p&gt;

&lt;p&gt;👉 Select your favourite Lottie-file on the above-mentioned website. I am choosing &lt;a href="https://lottiefiles.com/31548-robot-says-hello" rel="noopener noreferrer"&gt;this&lt;/a&gt; (by &lt;a href="https://www.instagram.com/art.voloshin_/" rel="noopener noreferrer"&gt;Mikhail Voloshin&lt;/a&gt;).   &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2jsvt06711hcv47wtp3i.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2jsvt06711hcv47wtp3i.gif" alt="Alt Text" width="442" height="406"&gt;&lt;/a&gt;   &lt;/p&gt;

&lt;p&gt;👇 app.js&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Player&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@lottiefiles/react-lottie-player&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;container&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;app&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nx"&gt;Hola&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;devs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Developers&lt;/span&gt; &lt;span class="o"&gt;!&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Player&lt;/span&gt;
          &lt;span class="nx"&gt;autoplay&lt;/span&gt;
          &lt;span class="nx"&gt;loop&lt;/span&gt;
          &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://assets1.lottiefiles.com/packages/lf20_3vbOcw.json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
          &lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;400px&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;400px&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
        &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👇 &lt;a href="https://codesandbox.io/s/lottie-preact-hv41x?file=/components/app.js" rel="noopener noreferrer"&gt;Code on Codesandbox.io&lt;/a&gt; (&lt;a href="https://hv41x.csb.app/" rel="noopener noreferrer"&gt;Full Screen Preview&lt;/a&gt;)&lt;br&gt;
&lt;iframe src="https://codesandbox.io/embed/lottie-preact-hv41x?module=/components/app.js"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;👉 Find this code on &lt;a href="https://github.com/InsaneNaman/blogz/tree/master/02-%20Spice-up-your-webapp-with%20-lottie" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Note: I cleaned up the unnecessary files, routing structure to keep the demo simple. You can always add your creativity and make it better.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So, that's it. It's that simple and it looks amaaazzing. That's why I ❤️ it. &lt;/p&gt;

&lt;p&gt;That's it for today. Feel free to provide any type of feedback. I do appreciate that. Meanwhile, you can find me on Twitter &lt;a href="https://twitter.com/InsaneNaman" rel="noopener noreferrer"&gt;@InsaneNaman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Signing off. See you soon.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>animation</category>
      <category>preact</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Clone just the sub-folder in GIT 🔥</title>
      <dc:creator>Naman Gupta</dc:creator>
      <pubDate>Thu, 03 Sep 2020 09:31:57 +0000</pubDate>
      <link>https://forem.com/insanenaman/clone-just-the-sub-folder-in-git-gpg</link>
      <guid>https://forem.com/insanenaman/clone-just-the-sub-folder-in-git-gpg</guid>
      <description>&lt;h3&gt;
  
  
  Background
&lt;/h3&gt;

&lt;p&gt;Hi there, Its Naman. I am sure that if you work with Git then you must have stumble across one of these situations at least once:   &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need only one subfolder but don't want to clone the entire repo&lt;/li&gt;
&lt;li&gt;You only need to play around the code and you don't care about the whole Git history.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the first problem, there is no straightforward way/command available (Correct me if I am wrong). If the repo is small then you can clone the whole repo. Easy peasy, you won't think twice but if the repo is huge then you might think twice or maybe thrice. 😛&lt;/p&gt;

&lt;p&gt;For the second problem, if you don't care about the code history then cloning history is overhead for you. We should skip if we can (A native way available but isn't friendly).   &lt;/p&gt;

&lt;h3&gt;
  
  
  Solving problem 🛠 :
&lt;/h3&gt;

&lt;p&gt;I found this awesome package &lt;a href="https://www.npmjs.com/package/degit" rel="noopener noreferrer"&gt;DeGit&lt;/a&gt;, created by &lt;a href="https://twitter.com/Rich_Harris" rel="noopener noreferrer"&gt;Rich Harris&lt;/a&gt; (Creator of &lt;a href="https://rollupjs.org/guide/en/" rel="noopener noreferrer"&gt;RollupJS&lt;/a&gt; and &lt;a href="https://svelte.dev/" rel="noopener noreferrer"&gt;Svelte&lt;/a&gt;) quite a while back. This package is way easy to install and use. I use it frequently.   &lt;/p&gt;

&lt;p&gt;&lt;code&gt;Note: Before moving forward make sure you have Node.js installed in your system. I recommend installing Node.js via&lt;/code&gt; &lt;a href="https://github.com/nvm-sh/nvm" rel="noopener noreferrer"&gt;nvm(Node Version Manager)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1- Install npm package 📦&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwv3woeygenq4q2p1awt6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwv3woeygenq4q2p1awt6.png" alt="Installing DeGit npm package" width="800" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use &lt;code&gt;sudo npm i -g degit&lt;/code&gt; if your terminal shows permission error.&lt;/p&gt;

&lt;p&gt;2- Cloning Sub-Folder ⬇️&lt;br&gt;
&lt;code&gt;Syntax: degit &amp;lt;repo-link/subfolder-name&amp;gt; &amp;lt;output-folder&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2ahlduwvtmz2gp40si68.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2ahlduwvtmz2gp40si68.png" alt="Alt Text" width="800" height="210"&gt;&lt;/a&gt;&lt;br&gt;
Here we are cloning &lt;code&gt;components&lt;/code&gt; sub-folder and saving in our system with the same name.   &lt;/p&gt;

&lt;p&gt;3- Cloning whole repo without whole Git history&lt;br&gt;&lt;br&gt;
&lt;code&gt;Syntax: degit &amp;lt;repo-link&amp;gt; &amp;lt;output-folder&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4jvx1cxx05jw3oipms3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4jvx1cxx05jw3oipms3i.png" alt="Alt Text" width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I ❤️ this. It's super fast. 🚀&lt;/p&gt;

&lt;p&gt;That's it for today. Feel free to provide any type of feedback. I highly appreciate that. Meanwhile, you can find me on Twitter &lt;a href="https://twitter.com/InsaneNaman" rel="noopener noreferrer"&gt;@InsaneNaman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Signing off. See you soon.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>javascript</category>
      <category>npm</category>
    </item>
  </channel>
</rss>
