<?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: Gulshan Aggarwal</title>
    <description>The latest articles on DEV Community by Gulshan Aggarwal (@gulshanaggarwal).</description>
    <link>https://dev.to/gulshanaggarwal</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%2F423469%2F86904a11-cf53-43c0-b451-8c1c90413b8e.jpg</url>
      <title>DEV Community: Gulshan Aggarwal</title>
      <link>https://dev.to/gulshanaggarwal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gulshanaggarwal"/>
    <language>en</language>
    <item>
      <title>TEMPLINK Single, Secure link to access multiple files in seconds</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Sun, 13 Oct 2024 19:30:25 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/templink-single-secure-link-to-access-multiple-files-in-seconds-lb0</link>
      <guid>https://dev.to/gulshanaggarwal/templink-single-secure-link-to-access-multiple-files-in-seconds-lb0</guid>
      <description>&lt;h2&gt;
  
  
  What TEMPLINK actually do?
&lt;/h2&gt;

&lt;p&gt;Templink allows you to create a single, secure link to access multiple files in just a few seconds. With options to set expiration dates and password protection, you get full control over your file sharing experience.&lt;/p&gt;

&lt;p&gt;Try here - &lt;a href="https://templink-nu.vercel.app/" rel="noopener noreferrer"&gt;https://templink-nu.vercel.app/&lt;/a&gt;&lt;br&gt;
Github Repo - &lt;a href="https://github.com/Gulshanaggarwal/TempLink" rel="noopener noreferrer"&gt;https://github.com/Gulshanaggarwal/TempLink&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;1.Drop or upload images, documents, audio, and video files and generate a single link to access them.&lt;/p&gt;

&lt;p&gt;2.You can set an expiration time for your link, or choose "Never" for permanent access.&lt;/p&gt;

&lt;p&gt;3.You can add an extra layer of security by enabling optional password protection.&lt;/p&gt;

&lt;p&gt;4.Support of various file types:&lt;br&gt;
    Images: JPG, PNG, GIF, WEBP&lt;br&gt;
    Documents: PDF, Word, Excel, PowerPoint&lt;br&gt;
    Audio: MP3, OGG, WAV&lt;br&gt;
    Videos: MP4&lt;/p&gt;

&lt;h2&gt;
  
  
  Integration with PINATA
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;TEMPLINK integrates with PINATA to upload various types of file quickly &amp;amp; expire those files on specified time if user has selected any expiry option while generating link. File expiry is being handled by PINATA which allows to focus on other important parts of the app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Motivation
&lt;/h2&gt;

&lt;p&gt;I'm looking to switch in upcoming months of my software developer journey after working 2 years with a startup since college. Just thought, need to brush-up my skills &amp;amp; push myself a bit extra on weekends, so did that.&lt;/p&gt;

&lt;p&gt;Thanks for reading, have a nice day!&lt;/p&gt;

</description>
      <category>pinatachallenge</category>
      <category>nextjs</category>
      <category>mongodb</category>
      <category>javascript</category>
    </item>
    <item>
      <title>JOBPKDO- you may be the next one who gets the job through Twitter</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Thu, 08 Dec 2022 19:38:08 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/jobpkdo-you-may-be-the-next-one-who-gets-the-job-through-twitter-31oh</link>
      <guid>https://dev.to/gulshanaggarwal/jobpkdo-you-may-be-the-next-one-who-gets-the-job-through-twitter-31oh</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I've built a platform, titled as &lt;strong&gt;JOBPKDO&lt;/strong&gt; which allows people to search for job tweets that come through Twitter daily.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;(What made you decide to build this particular app? What inspired you?)&lt;br&gt;
Recently I secured a full-time job as a full-stack dev in a Start-up company &amp;amp; the best thing about the job is I got it from Twitter. So I thought if I make a platform like this then it would be easy for everyone to search for jobs like me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now the question arises why people can't search through Twitter ?&lt;/strong&gt;&lt;br&gt;
You know there are lots of unnecessary tweets which may distract a user, but JOBPKDO brings only &lt;strong&gt;JOB-specific tweets&lt;/strong&gt; for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;Choose Your Own Adventure&lt;/p&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://jobpkdo.vercel.app/"&gt;https://jobpkdo.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V3e8wumu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ab5buc9f4bvmp5gw2fy9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V3e8wumu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ab5buc9f4bvmp5gw2fy9.png" alt="features" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jobmarket Page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I3DfKPZP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y3idzjk0rw29axz9mo68.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I3DfKPZP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y3idzjk0rw29axz9mo68.png" alt="jobmarket" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bookmarks Page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jv2UwIfP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1jvt479xx6e6r24peqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jv2UwIfP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1jvt479xx6e6r24peqj.png" alt="Bookmarks" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;

&lt;p&gt;Repo Link - &lt;a href="https://github.com/Gulshanaggarwal/v2.jobpkdo"&gt;https://github.com/Gulshanaggarwal/v2.jobpkdo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;Apache-2&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;(How did you utilize MongoDB Atlas? Did you learn something new along the way? Pick up a new skill?)&lt;br&gt;
I've used MongoDB Atlas to save users' login data &amp;amp; bookmark data. Yes, during the project I first-time used &lt;strong&gt;Typescript&lt;/strong&gt; which is a totally new learning experience for me.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's next?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Notification &amp;amp; Reply features&lt;/strong&gt; are the two features that are currently under development. The notification feature will notify you for the tweets you saved directly to your mailbox.&lt;br&gt;
The Reply feature is a totally advanced feature where users need to register to the platform for once only &amp;amp; then they can reply to a tweet with our JOBPKDO handle while using Twitter, JOBPKDO will auto-save the job for them.&lt;/p&gt;

&lt;p&gt;🏁 That's all about the project. Suggestions &amp;amp; reviews are welcome ♥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ac8sZcl4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4y2iyj4wx43l4et8v98.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ac8sZcl4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4y2iyj4wx43l4et8v98.png" alt="bye" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>atlashackathon22</category>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>5 NPM Packages you can use for Drag &amp; Drop in your React app 🙌</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Tue, 19 Jul 2022 12:52:51 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/5-npm-packages-you-can-use-for-drag-drop-in-your-react-app-3g6g</link>
      <guid>https://dev.to/gulshanaggarwal/5-npm-packages-you-can-use-for-drag-drop-in-your-react-app-3g6g</guid>
      <description>&lt;p&gt;Drag &amp;amp; Drop is something that can enhance your user's experience if you are building graphic designing tools like Canva. A few days back, I developed a blog post cover designing tool titled &lt;a href="https://cover-builder.vercel.app/" rel="noopener noreferrer"&gt;Cover-Builder&lt;/a&gt; that allows you to create nice cover images for your blog posts. The tool heavily relies on Drag &amp;amp; Drop feature. This was the first time, I was looking to add Drag &amp;amp; Drop into any of my apps &amp;amp; luckily found some cool packages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvqaqqqyej5o45a1savf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvqaqqqyej5o45a1savf.gif" alt="Hope-you-guys-are-excited"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. &lt;a href="https://react-dnd.github.io/react-dnd/about" rel="noopener noreferrer"&gt;React-Dnd&lt;/a&gt; -&lt;/strong&gt; When it comes to dragging into different parts of your application then this is the most used package by developers.&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; You will also need to install a second package &lt;code&gt;react-dnd-html5-backend&lt;/code&gt; so that react-dnd can use HTML 5 drag-drop API under the hood.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. &lt;a href="https://www.npmjs.com/package/react-beautiful-dnd" rel="noopener noreferrer"&gt;React-Beautiful-Dnd&lt;/a&gt; -&lt;/strong&gt; Most famous package to create beautiful &lt;strong&gt;drag and drop lists&lt;/strong&gt; that anyone can use - even people who cannot see. It provides you features like multi-dragging, auto-scrolling, and support for mouse, keyboard, and touch devices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. &lt;a href="https://www.npmjs.com/package/react-draggable" rel="noopener noreferrer"&gt;React-Draggable&lt;/a&gt; -&lt;/strong&gt; Unlike the react-dnd package, you need to install only a single package here. It provides you a draggable component that you can wrap around the element you are looking to drag &amp;amp; that's all. Here you can also pass props like defaultposition, axis &amp;amp; some others for customization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. &lt;a href="https://www.npmjs.com/package/react-rnd" rel="noopener noreferrer"&gt;React-Rnd&lt;/a&gt; -&lt;/strong&gt; If you are looking to &lt;strong&gt;resize your items with Drag &amp;amp;Drop&lt;/strong&gt; then this is for you. Like React-Draggable it also allows you to pass some props for better customization.&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; It also has a bound prop which allows you to bound Drag &amp;amp; Drops in a particular region.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. &lt;a href="https://react-dropzone.js.org/" rel="noopener noreferrer"&gt;React-Dropzone&lt;/a&gt; -&lt;/strong&gt; Creating Drag &amp;amp; Drop feature for &lt;strong&gt;uploading files&lt;/strong&gt; is not so easy task, many JS events are involved in it. This package makes file Drag &amp;amp; Drop handling easy for you.&lt;/p&gt;

&lt;p&gt;🏁 The aim of the article is to give you a brief look of available Drag &amp;amp; Drop packages which can make Drag &amp;amp; Drop easy for you. If you have used another package let me in know in the comments.&lt;/p&gt;

&lt;p&gt;Thank you for reading.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kxxr09xpujtt1lic9s5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kxxr09xpujtt1lic9s5.png" alt="ok-bye"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>npm</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Add Github Star Icon to your project in just 1 HTML tag</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Wed, 06 Jul 2022 06:05:36 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/add-github-star-icon-to-your-project-in-just-1-html-tag-2nc0</link>
      <guid>https://dev.to/gulshanaggarwal/add-github-star-icon-to-your-project-in-just-1-html-tag-2nc0</guid>
      <description>&lt;p&gt;Do you know you can add Github Icons like Star, Fork &amp;amp; others to your project in just 1 line of code?&lt;br&gt;
If not, then keep reading...&lt;/p&gt;

&lt;p&gt;You might have seen the Github star icon on many websites or projects that shows the total number of people who marked the repo as a star &amp;amp; clicking it redirects you to the repo where you can also mark it as a star.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fod66dohao9ibur3sygsc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fod66dohao9ibur3sygsc.gif" alt="come inside"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's jump into the code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;iframe 
src="https://ghbtns.com/github-btn.html?user=twbs&amp;amp;repo=bootstrap&amp;amp;type=star&amp;amp;count=true&amp;amp;size=large" frameborder="0"
scrolling="0"
width="170"
height="30"
title="GitHub"&amp;gt;
&amp;lt;/iframe&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Live Examples&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/gulshanaggarwal/embed/dymYgNX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;You may be thinking...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can I customize it for my own repo?&lt;/strong&gt; 🤔&lt;br&gt;
&lt;strong&gt;Src&lt;/strong&gt; attribute let you customize it, by changing query parameter key values you can make it useable for your own repo. Let's take a look at these &lt;strong&gt;5 important&lt;/strong&gt; keys of the URL-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;user -&lt;/strong&gt; replace it with your Github Username&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;repo -&lt;/strong&gt; your repo name&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type -&lt;/strong&gt;icon type(keep the value same)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;count -&lt;/strong&gt; shows the number of star count(optional)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;size -&lt;/strong&gt; for large icons(optional)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You are almost done! &lt;br&gt;
&lt;strong&gt;But what if I want to resize the icon ?&lt;/strong&gt;🤔&lt;br&gt;
Ok, then there are also some other attributes such as &lt;strong&gt;width&lt;/strong&gt; and &lt;strong&gt;height&lt;/strong&gt; that are gonna help you in resizing. Don't add pixels units with width &amp;amp; height attribute, just add the value &amp;amp; then it will automatically do it for you.&lt;/p&gt;

&lt;p&gt;🏁 Here we discussed one of the commonly used star icon, there is more than that, read more about other icons &lt;a href="https://ghbtns.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
If you know a better way then let me know in the comments.&lt;/p&gt;

&lt;p&gt;Thank you for reading&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wlcy9el2rohf3ut5vjs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wlcy9el2rohf3ut5vjs.png" alt="goodbye"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Let's generate cover for your blog posts using Cover Builder</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Mon, 04 Jul 2022 07:37:17 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/lets-generate-cover-for-your-blogs-using-cover-builder-4ec0</link>
      <guid>https://dev.to/gulshanaggarwal/lets-generate-cover-for-your-blogs-using-cover-builder-4ec0</guid>
      <description>&lt;p&gt;A few days back I went through an open-source project &lt;a href="https://blogcover.vercel.app/" rel="noopener noreferrer"&gt;blog-cover&lt;/a&gt; which is designed to build cover images for your blogs. I was just thinking about its design, and build process, then I thought I should also try to build a similar kind of cool app to polish my skills &amp;amp; that's the way Cover Builder born.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;App Link:-&lt;/strong&gt; &lt;a href="https://cover-builder.vercel.app/" rel="noopener noreferrer"&gt;https://cover-builder.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Github Link:-&lt;/strong&gt; &lt;a href="https://github.com/Gulshanaggarwal/coverbuilder" rel="noopener noreferrer"&gt;https://github.com/Gulshanaggarwal/coverbuilder&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlimited images from Unsplash&lt;/li&gt;
&lt;li&gt;Custom Image Upload &amp;amp; auto Save in browser storage&lt;/li&gt;
&lt;li&gt;Pre-Written Texts&lt;/li&gt;
&lt;li&gt;Emojis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🏁 That's all about the project. Suggestions &amp;amp; reviews are welcome ♥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flimbym4otxtlxnvvf4f5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flimbym4otxtlxnvvf4f5.png" alt="good-bye"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Say Goodbye to console.log from Production environment</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Fri, 24 Jun 2022 04:57:42 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/say-goodbye-to-consolelog-from-production-environment-5382</link>
      <guid>https://dev.to/gulshanaggarwal/say-goodbye-to-consolelog-from-production-environment-5382</guid>
      <description>&lt;p&gt;I have been working on a project with Next.js since last month and used the console.log statement in lots of components &amp;amp; files even though I don't remember. Usually, we use it to check API responses and some other areas of the application.&lt;/p&gt;

&lt;p&gt;Making console statements public is not a good idea at all, it may bring your app at a security risk. &lt;strong&gt;Checking every file, and deleting the statement is very time-consuming&lt;/strong&gt; &amp;amp; boring too. As a developer, we all hate boring tasks so, in the article here we discuss how you can say goodbye to console.log in your Next.js app from the Production environment in just &lt;strong&gt;less than 1 minute&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou0hdqpts9muxvzc05qf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou0hdqpts9muxvzc05qf.gif" alt="sounds good"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sounds good! let's goooo...&lt;/strong&gt;😎&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Follow the steps mentioned below -&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Install the &lt;code&gt;babel-plugin-transform-remove-console&lt;/code&gt; package as a development dependency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Create a &lt;strong&gt;.babelrc&lt;/strong&gt; file at the root of your project, copy the below content &amp;amp; that's all.&lt;/p&gt;

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

{
    "presets": [
        "next/babel"
    ],
    "env": {
        "production": {
            "plugins": [
                "transform-remove-console"
            ]
        }
    }
}


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

&lt;/div&gt;

&lt;p&gt;🏁 This is just a short trick that I used to enhance my productivity, even you should use it next time.&lt;br&gt;
I will keep sharing more tips &amp;amp; tricks related to web dev,stay tuned!.&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbaj9asrqqi1yelrdqdy6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbaj9asrqqi1yelrdqdy6.png" alt="goodbye"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>9 Beautiful Cool Text Effects using Google font Effects👌</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Sun, 12 Jun 2022 10:18:49 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/9-beautiful-cool-text-effects-using-google-font-effects-mn6</link>
      <guid>https://dev.to/gulshanaggarwal/9-beautiful-cool-text-effects-using-google-font-effects-mn6</guid>
      <description>&lt;p&gt;Looking to style your headers or text in a more decorative way? Then you are in right place. We all use google fonts in our daily projects but did you ever notice google font is more than just that. Google fonts provide a font effect feature that is less popular &amp;amp; can help you in generating stylish text for your projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4h5kjkcracl0b2c9xlp.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4h5kjkcracl0b2c9xlp.gif" alt="are you excited gang"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Are you, excited gang?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to use this feature?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Simply add &lt;strong&gt;effect=&lt;/strong&gt; to your Google Fonts API request and add the corresponding class name to the HTML element(s) that you want to affect. In our example above, we used the &lt;strong&gt;shadow-multiple&lt;/strong&gt; font effect, so the request would look like this:&lt;/li&gt;
&lt;/ul&gt;

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

https://fonts.googleapis.com/css?family=Rancho&amp;amp;effect=shadow-multiple


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

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
To use the effect, add the corresponding class name to your HTML element(s). The corresponding class name is always the effect name prefixed with font-effect-, so the class name for shadow-multiple would be &lt;strong&gt;font-effect-shadow-multiple&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

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

&amp;lt;div class="font-effect-shadow-multiple"&amp;gt;This is a font effect!&amp;lt;div&amp;gt;


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

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
You can request multiple effects by separating the effect names with a pipe character (&lt;strong&gt;|&lt;/strong&gt;).&lt;/li&gt;
&lt;/ul&gt;

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

https://fonts.googleapis.com/css?family=Rancho&amp;amp;effect=shadow-multiple|3d-float


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

&lt;/div&gt;

&lt;p&gt;👇Here is a list of some of the effects that API offers -&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/gulshanaggarwal/embed/Yzedzzd?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:-&lt;/strong&gt; Google font API offers 25+ effects but Some of the font effects (e.g. 3d) do not scale particularly well, and tend to look best when used with larger font sizes. Read more about the feature in the docs &lt;a href="https://developers.google.com/fonts/docs/getting_started#enabling_font_effects_beta" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjkkj6ebr3bblk204nqi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjkkj6ebr3bblk204nqi.png" alt="good bye"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Day.js a cool library for working with Dates in JavaScript🙈</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Wed, 08 Jun 2022 08:57:43 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/dayjs-a-cool-library-for-working-with-dates-in-javascript-h23</link>
      <guid>https://dev.to/gulshanaggarwal/dayjs-a-cool-library-for-working-with-dates-in-javascript-h23</guid>
      <description>&lt;p&gt;In the &lt;a href="https://dev.to/gulshanaggarwal/js-date-time-libraries-you-should-use-instead-of-traditional-methods-1lc4"&gt;previous&lt;/a&gt; article, we discussed JavaScript date libraries which make working with date &amp;amp; time easy. Working with dates isn't so hard although it wasted a lot of my time so, during the last hackathon &lt;a href="https://dev.to/gulshanaggarwal/cloudy-a-storage-service-to-store-your-files-folders-26aa"&gt;project&lt;/a&gt; I found this cool library.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;How to install ?&lt;/strong&gt;&lt;br&gt;
 Use the &lt;strong&gt;&lt;code&gt;npm install dayjs&lt;/code&gt;&lt;/strong&gt; command&lt;/p&gt;

&lt;p&gt;⚠️ Day.js also ships with &lt;strong&gt;Typescript&lt;/strong&gt; declaration in the npm package, if you feel trouble while importing Day.js then check out the guide &lt;a href="https://day.js.org/docs/en/installation/typescript" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh7oz1hp60jytan65at3u.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh7oz1hp60jytan65at3u.gif" alt="excited"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can't wait, excited! lets gooooo...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Dayjs is different from the native Date.prototype?&lt;/strong&gt;&lt;br&gt;
Instead of modifying the native JavaScript Date object it creates a wrapper around it &amp;amp; returns an immutable object. If we apply any operations on this object it will return a new instance of it. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confused&lt;/strong&gt; 😕&lt;br&gt;
You might get confused about what the immutable date object Dayjs gives us &amp;amp; how it is different from a regular JavaScript date object which is mutable. So let's kick off the confusion &amp;amp; understand it with a clear example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let d = new Date();
console.log(d);  // 2022-06-06T08:13:28.387Z
let d1 = d.setMonth(2);
console.log(d); // 2022-03-06T08:13:28.387Z

// value of object changed.

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

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let d = dayjs();
console.log(d); // {
  '$L': 'en',
  '$d': 2022-06-06T08:13:28.391Z,
  '$x': {},
  '$y': 2022,
  '$M': 5,
  '$D': 6,
  '$W': 1,
  '$H': 13,
  '$m': 43,
  '$s': 28,
  '$ms': 391
}
let d1 = dayjs.set('month',2);
console.log(d); // {
  '$L': 'en',
  '$d': 2022-06-06T08:13:28.391Z,
  '$x': {},
  '$y': 2022,
  '$M': 5,
  '$D': 6,
  '$W': 1,
  '$H': 13,
  '$m': 43,
  '$s': 28,
  '$ms': 391
}

// value of object remains same.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What does the above example do?&lt;/strong&gt;&lt;br&gt;
In both coding examples, we create first a date object and then set the month value to 2. If you see the output of the console you will find the object we created in the first code gets modified but the object we created using Day.js keep remains the same after the operation so, it shows the immutability of the Day.js.&lt;/p&gt;

&lt;p&gt;Now we have understood how Day.js is different from the native JS date object so let's move ahead &amp;amp; understand Day.js with the help of a few examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to get the current date object using Dayjs ?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import dayjs from 'dayjs';
const d = dayjs();
console.log(d);
// {
  '$L': 'en',
  '$d': 2022-06-06T08:13:28.391Z,
  '$x': {},
  '$y': 2022,
  '$M': 5,
  '$D': 6,
  '$W': 1,
  '$H': 13,
  '$m': 43,
  '$s': 28,
  '$ms': 391
}

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The object contains lots of helpful properties such as year, month, date, hours, minutes, seconds &amp;amp; more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to convert a UNIX Timestamp into a nice Dayjs object?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const timeStampValue = 1318781876406  // in milliseconds
const d = dayjs(timeStampValue);

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;TimeStamp value is also possible in seconds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to create a Day.js object with a pre-existing date?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const d = new Date(2018, 8, 18)
const day = dayjs(d)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to validate a value whether the Dayjs's date is valid?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const isValid = dayjs('2022-06-06').isValid; 
console.log(isValid);  // true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to get a particular value like Milliseconds, Hour, Month, Minute....?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get the Milliseconds from the current time
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dayjs().millisecond()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Get the Hour from the current time
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dayjs().hour()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Get more details for fields such as Date of the month &amp;amp; Day of the week read &lt;a href="https://day.js.org/docs/en/get-set/date" rel="noopener noreferrer"&gt;here&lt;/a&gt;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to perform  addition &amp;amp; substraction with dayjs object ?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adding 1 day in the current time
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dayjs().add(1,'day');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Subtracting 1 year from the current time
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dayjs().subtract(1,'year')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to display the current time in &lt;code&gt;Day,DD/MM/YY&lt;/code&gt; format?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const d = dayjs();
console.log(d.format('dddd, DD/MM/YY')); // Tuesday, 07/06/22
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Where &lt;strong&gt;dddd&lt;/strong&gt; returns the name of the day of the week, &lt;strong&gt;DD&lt;/strong&gt; date, &lt;strong&gt;MM&lt;/strong&gt; months &amp;amp; &lt;strong&gt;YY&lt;/strong&gt; year. You can apply &lt;code&gt;/&lt;/code&gt;, &lt;code&gt;,&lt;/code&gt;  or more symbols like these as a parameter. There are more formats available check out &lt;a href="https://day.js.org/docs/en/display/format" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⚠️ Up to now, we have discussed available methods &amp;amp; formats without any kind of plugin usage. Dayjs also supports a lot of useful plugins such as utc(for converting time in UTC), IsLeapYear(for checking Leap year or not) &amp;amp; much more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to install a plugin?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Day.js doesn't provide by default plugin support, although it provides plugin support in the same package but inside a plugin submodule. For example, If we need a UTC plugin that provides us time in UTC then we should extend something like below-
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const dayjs = require("dayjs");  // import dayjs
const utc = require('dayjs/plugin/utc');  // import utc plugin 
dayjs.extend(utc) // connect the plugin with dayjs

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to get the week of the year with the help of the weekOfYear plugin?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const dayjs = require("dayjs");
const weekOfYear = require("dayjs/plugin/weekOfYear); // import week of year plugin
dayjs.extend(weekOfYear);

console.log(dayjs().week()); // returns week of the year
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For more plugins checkout &lt;a href="https://day.js.org/docs/en/plugin/plugin" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🏁 Here, I shared my learnings with Day.js, we discussed basic methods, formats &amp;amp; a little bit about plugins, although day.js provides more formats, and a timezone-based time feature that requires plugin support. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>JS Date-Time libraries you should use instead of traditional methods 😋</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Tue, 31 May 2022 06:07:20 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/js-date-time-libraries-you-should-use-instead-of-traditional-methods-1lc4</link>
      <guid>https://dev.to/gulshanaggarwal/js-date-time-libraries-you-should-use-instead-of-traditional-methods-1lc4</guid>
      <description>&lt;p&gt;Working with Dates is a common task while building an application. First, we store the Date object, retrieve &amp;amp; then convert it into readable form, when it comes to a special format traditionally, we need to use a lot of functions and methods that make the process problematic and complex.&lt;/p&gt;

&lt;p&gt;Even when I have used to work with dates, converting them into desirable formats becomes problematic. I used to do a lot of research over the StackOverflow; how to change into this, that format blah blah ...&lt;br&gt;
So, through the article, we will see a few JS libraries which will make the building process easy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fivcbqnr6amw7wvy11zxj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fivcbqnr6amw7wvy11zxj.gif" alt="start"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.  &lt;a href="https://day.js.org/" rel="noopener noreferrer"&gt;Day.js&lt;/a&gt; -&lt;/strong&gt; Day.js is a minimalist JavaScript library for working the dates and times.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bundle size 2KB which is very less.&lt;/li&gt;
&lt;li&gt;Alternative to moment.js.&lt;/li&gt;
&lt;li&gt;Works both with Node.js and Browser.&lt;/li&gt;
&lt;li&gt;Install using &lt;strong&gt;&lt;code&gt;npm install dayjs&lt;/code&gt;&lt;/strong&gt; command&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2️. &lt;a href="https://date-fns.org/" rel="noopener noreferrer"&gt;date-fns&lt;/a&gt; -&lt;/strong&gt; This is a modern JS library that is simple &amp;amp; a toolset for manipulating dates.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple &amp;amp; 200+ functions.&lt;/li&gt;
&lt;li&gt;Works both with Node.js and Browser.&lt;/li&gt;
&lt;li&gt;Install using &lt;strong&gt;&lt;code&gt;npm install date-fns&lt;/code&gt;&lt;/strong&gt; command.&lt;/li&gt;
&lt;li&gt;date-fns provides some optional features through submodules in the same package.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. &lt;a href="https://js-joda.github.io/js-joda/" rel="noopener noreferrer"&gt;js-joda&lt;/a&gt; -&lt;/strong&gt; js-joda is a lightweight &amp;amp; fast library which has no third party dependencies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;43Kb Size and compressed&lt;/li&gt;
&lt;li&gt;Works both with Node.js and Browser.&lt;/li&gt;
&lt;li&gt;Install using &lt;strong&gt;&lt;code&gt;npm install @js-joda/core&lt;/code&gt;&lt;/strong&gt; command.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4️. &lt;a href="https://moment.github.io/luxon/" rel="noopener noreferrer"&gt;Luxon&lt;/a&gt; -&lt;/strong&gt; If we need operations like add, subtract &amp;amp; parse with dates then, Luxon provides an easy way to deal with it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Good for Math operations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Works both with Node.js and Browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install using &lt;strong&gt;&lt;code&gt;npm install luxon&lt;/code&gt;&lt;/strong&gt; command.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Q. Why we haven't discussed yet Moment.js 🤔
&lt;/h4&gt;

&lt;p&gt;You might be thinking why we haven't discussed yet a famous library Moment.js. Moment.js itself says not to use it for your new projects because of its size and immutability of objects &amp;amp; as a result, it increases web application size.&lt;br&gt;
-If you are using Moment in your old project then you should continue with it.&lt;/p&gt;

&lt;p&gt;🏁 We have discussed Date-Time libraries that make working with JavaScript dates easy. I have personally used Day.js, so in the next article, we will take a deeper look at Day.js.&lt;/p&gt;

&lt;p&gt;-If you have used some other library, please mention it in the comments, It will be great to see you.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>npm</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>NPM packages to generate Unique IDs for your next project 😎</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Mon, 23 May 2022 05:40:20 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/npm-packages-to-generate-unique-ids-for-your-next-project-1p3b</link>
      <guid>https://dev.to/gulshanaggarwal/npm-packages-to-generate-unique-ids-for-your-next-project-1p3b</guid>
      <description>&lt;p&gt;While tweeting something or sharing something over Linkedin requires a unique id to identify a particular post. On the daily basis, we need to store or retrieve data uniquely &amp;amp; generating random numbers is not a cool idea. So through the post, we will take a look at the most commonly used NPM packages which are used for generating unique Ids.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7j03ief7o85kox3rsmal.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7j03ief7o85kox3rsmal.gif" alt="Game On"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1️⃣ &lt;a href="https://www.npmjs.com/package/uuid" rel="noopener noreferrer"&gt;UUID&lt;/a&gt; -&lt;/strong&gt; UUID is the &lt;strong&gt;most popular&lt;/strong&gt; npm package used for generating unique Ids. The npm package supports node version 10, 12, 14, and 16 &amp;amp; also provides support for React Native &amp;amp; browsers. It also supports version 1, 3, 4, and 5.&lt;br&gt;
The Package can be installed by the &lt;strong&gt;&lt;code&gt;npm install uuid&lt;/code&gt;&lt;/strong&gt; command. It provides support for both &lt;strong&gt;ES6 and CommonJS&lt;/strong&gt; syntax.&lt;/p&gt;

&lt;h4&gt;
  
  
  Using the ES6 module syntax -
&lt;/h4&gt;

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

import { v4 as uuidv4 } from 'uuid';

const userId=uuidv4();
console.log(userId); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'


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

&lt;/div&gt;
&lt;h4&gt;
  
  
  Using the CommonJS syntax -
&lt;/h4&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

const { v4: uuidv4 } = require('uuid');

const userId=uuidv4();
console.log(userId); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'


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

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
The Module also provides a bunch of methods &amp;amp; methods for versions, check out all of them here 👉 &lt;a href="https://github.com/uuidjs/uuid#uuidv4options-buffer-offset" rel="noopener noreferrer"&gt;Github&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2️⃣ &lt;a href="https://github.com/ai/nanoid" rel="noopener noreferrer"&gt;Nano ID&lt;/a&gt; -&lt;/strong&gt; Nano ID is &lt;strong&gt;very popular&lt;/strong&gt;, tiny, &lt;strong&gt;URL-friendly&lt;/strong&gt; &amp;amp; 2 times faster than uuid.&lt;/p&gt;

&lt;p&gt;The package can be installed by &lt;strong&gt;&lt;code&gt;npm install --save nanoid&lt;/code&gt;&lt;/strong&gt; command. Like uuid, it also provides support for both &lt;strong&gt;ES6 and CommonJS&lt;/strong&gt; syntax.&lt;/p&gt;

&lt;h4&gt;
  
  
  Let's see an example through ES6 syntax -
&lt;/h4&gt;

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

import { nanoid } from 'nanoid'

const userId=nanoid();
console.log(userId); // =&amp;gt; "V1StGXR8_Z5jdHi6B-myT"


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

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Suppose, if we need to reduce the id size to 10, then we can pass size as an argument like this -&lt;/li&gt;
&lt;/ul&gt;

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

nanoid(10) //=&amp;gt; "IRFa-VaY2b"


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

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;3️⃣ &lt;a href="https://www.npmjs.com/package/cuid" rel="noopener noreferrer"&gt;Cuid&lt;/a&gt; -&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Install using the command &lt;strong&gt;&lt;code&gt;npm i cuid&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provides support for both ES6 and CommonJS syntax.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Example(using ES module syntax) -&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

import cuid from 'cuid';

console.log( cuid() );

// cjld2cjxh0000qzrmn831i7rn


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

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;4️⃣ &lt;a href="https://github.com/sindresorhus/crypto-random-string" rel="noopener noreferrer"&gt;crypto-random-string&lt;/a&gt; -&lt;/strong&gt; It generates cryptographically strong random string. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Works in Node.js and browsers.&lt;/li&gt;
&lt;li&gt;Install using the command &lt;strong&gt;&lt;code&gt;npm install crypto-random-string&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Example -&lt;/li&gt;
&lt;/ul&gt;

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

import cryptoRandomString from 'crypto-random-string';

cryptoRandomString({length: 10});
//=&amp;gt; '2cf05d94db'


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

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;It also supports a second argument &lt;strong&gt;type&lt;/strong&gt;(optional) along with length. The Default value for the type is &lt;strong&gt;hex&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5️⃣ &lt;a href="https://github.com/adamhalasz/uniqid" rel="noopener noreferrer"&gt;uniqid&lt;/a&gt; -&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install using the command &lt;strong&gt;&lt;code&gt;npm install uniqid&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Unique Hexatridecimal ID generator.&lt;/li&gt;
&lt;li&gt;Creates unique IDs based on the current time, process, and machine name.&lt;/li&gt;
&lt;li&gt;Works in Node.js and browsers.&lt;/li&gt;
&lt;/ul&gt;

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

import uniqid from 'uniqid';

console.log(uniqid()); // -&amp;gt; 4n5pxq24kpiob12og9


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

&lt;/div&gt;

&lt;p&gt;🏁 We have discussed the npm packages which are used for generating unique IDs. If you use a different package feel free to mention it in the comments.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>npm</category>
      <category>webdev</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>10 Free API resources for beginners 🤩</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Thu, 19 May 2022 10:00:26 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/10-free-api-resources-for-beginners-11ia</link>
      <guid>https://dev.to/gulshanaggarwal/10-free-api-resources-for-beginners-11ia</guid>
      <description>&lt;p&gt;Application Programming Interface(APIs) makes it easy for two applications to talk to each other. Each time we book a movie ticket, flight ticket, or may be using Facebook, or Instagram we are using API.&lt;br&gt;
As a beginner while we are learning to build something may be it a simple image gallery app or weather forecast app, we need data. So, In this article, we will see some free API resources that will help you to learn &amp;amp; build your app quickly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The purpose of the article is to provide free API resources that are totally free and don't required any kind of registration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Best thing about these resources are, they are CORS (cross-origin resource sharing) free.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkywa5drczsnw53ofyq6.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkywa5drczsnw53ofyq6.gif" alt="start_now"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. &lt;a href="https://documenter.getpostman.com/view/3479169/Szf7zncp?version=latest" rel="noopener noreferrer"&gt;Postman News API&lt;/a&gt; -&lt;/strong&gt; The API provides you different types of news such as Health, Sports, Business, etc...&lt;br&gt;
For example to fetch the health related top headlines you can request the endpoint mentioned below - &lt;br&gt;
&lt;a href="https://saurav.tech/NewsAPI/top-headlines/category/health/in.json" rel="noopener noreferrer"&gt;https://saurav.tech/NewsAPI/top-headlines/category/health/in.json&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. &lt;a href="https://jsonplaceholder.typicode.com/" rel="noopener noreferrer"&gt;JSONPlaceholder&lt;/a&gt; -&lt;/strong&gt; The most commonly used free fake API for testing &amp;amp; prototyping.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. &lt;a href="https://picsum.photos/" rel="noopener noreferrer"&gt;Lorem Picsum&lt;/a&gt; -&lt;/strong&gt; Get random Unsplash images.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. &lt;a href="https://kontests.net/api" rel="noopener noreferrer"&gt;KONTEST&lt;/a&gt; -&lt;/strong&gt; The API brings info about all running &amp;amp; future coding contests from different platforms like CodeForces, Hackerrank, Codechef, Leetcode etc..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. &lt;a href="https://randomuser.me/documentation#results" rel="noopener noreferrer"&gt;Random User&lt;/a&gt; -&lt;/strong&gt; If you need random users for your project then you should use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. &lt;a href="http://www.postalpincode.in/Api-Details" rel="noopener noreferrer"&gt;Postal Pin Code&lt;/a&gt; -&lt;/strong&gt;  Postal PIN Code API allows developers to get details of Post Office by searching Postal PIN Code or Post Office Branch Name of India.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. &lt;a href="https://date.nager.at/Api" rel="noopener noreferrer"&gt;Nager.Date&lt;/a&gt; -&lt;/strong&gt; Get list of public holidays for more than 90 countries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. &lt;a href="https://documenter.getpostman.com/view/5734027/RzZ6Hzr3?version=latest" rel="noopener noreferrer"&gt;Coin Stats&lt;/a&gt; -&lt;/strong&gt; A Crypto tracker API that provides you coin details with prices &amp;amp; latest crypto news from verified 40+ news sources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. &lt;a href="https://exchangerate.host/#/" rel="noopener noreferrer"&gt;Exchangerate.host&lt;/a&gt; -&lt;/strong&gt; Exchange rates API is a simple and lightweight free service for current and historical foreign exchange rates &amp;amp; crypto exchange rates. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. &lt;a href="https://www.boredapi.com/documentation" rel="noopener noreferrer"&gt;Bored&lt;/a&gt; -&lt;/strong&gt; The Bored API helps you find things to do when you're bored! There are fields like the number of participants, activity type, and more that help you narrow down your results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion -&lt;/strong&gt; Through the article, we have seen free API resources which a beginner can use easily. There are still a lot of free APIs available but many of them require registration, check it out here - &lt;a href="https://github.com/public-apis/public-apis" rel="noopener noreferrer"&gt;Public APIs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-If you like the article then don't forget like, comments &amp;amp; let's do some fun over the &lt;a href="https://twitter.com/gulshanagg333" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; 😎&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Cloudy- a storage service to store your files &amp; folders</title>
      <dc:creator>Gulshan Aggarwal</dc:creator>
      <pubDate>Thu, 12 May 2022 13:09:18 +0000</pubDate>
      <link>https://dev.to/gulshanaggarwal/cloudy-a-storage-service-to-store-your-files-folders-26aa</link>
      <guid>https://dev.to/gulshanaggarwal/cloudy-a-storage-service-to-store-your-files-folders-26aa</guid>
      <description>&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cloudy&lt;/strong&gt; is a storage service that allows users to store their files &amp;amp; folders faster and securely. At Cloudy users can create folders and store their files smoothly. Cloudy is superfast at uploading your files, a user can upload multiple files at a time &amp;amp; It will take a very less amount of time compared to other services because of the &lt;a href="https://appwrite.io/" rel="noopener noreferrer"&gt;Appwrite&lt;/a&gt; storage service.&lt;/p&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Web2 Wizards&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Link to Code
&lt;/h3&gt;

&lt;p&gt;Repo Link- &lt;a href="https://github.com/Gulshanaggarwal/Cloudy" rel="noopener noreferrer"&gt;https://github.com/Gulshanaggarwal/Cloudy&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Superfast file uploading(multiple files included)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support file extensions- .jpg, .png, .gif, .txt, .pdf&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easy File Preview&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File Download&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File Link Copy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File &amp;amp; folder Delete(right click on a file or folder to delete)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tech-Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;NextJS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Appwrite&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Firebase&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Material-UI&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  We are already using Appwrite, then &lt;a href="https://firebase.google.com/" rel="noopener noreferrer"&gt;Firebase&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhsbn8puz3r3qaxc854y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhsbn8puz3r3qaxc854y.gif" alt="thinking"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are using Appwrite's Login, SignIn &amp;amp; Storage services but for Database we preferred Firebase. The reason for choosing Firebase is the lack amount of support from Appwrite's database service, we have nested fields like the array of objects or deeply nested objects in our documents but Appwrite doesn't support these complex data structures. I opened a comment in the discussion thread regarding the problem, check it out here - &lt;a href="https://dev.to/gulshanaggarwal/comment/1o3oh"&gt;comment&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional resources and info
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Screenshots&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dashboard page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2otssqd33xbqr14u25el.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2otssqd33xbqr14u25el.png" alt="dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on folder Icon(right side) for a new folder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faasoyf16khv2o9wq4d3e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faasoyf16khv2o9wq4d3e.png" alt="Folder_create"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Files + Folders&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fillxv2io4bkw2b6hiaq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fillxv2io4bkw2b6hiaq7.png" alt="files_folders"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on a file for preview&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25jeyexq9g92dqv4b8tr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25jeyexq9g92dqv4b8tr.png" alt="file_preview"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File Details&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyruximop38n2wc7i7q88.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyruximop38n2wc7i7q88.png" alt="file_details"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delete file &amp;amp; folder(click right button on a file or folder)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ja64zlm91jn5tuvoa77.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ja64zlm91jn5tuvoa77.png" alt="delete_file_or_folder"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Contributors
&lt;/h3&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/gulshanaggarwal"&gt;@gulshanaggarwal&lt;/a&gt; and &lt;a class="mentioned-user" href="https://dev.to/aniruddhasoni"&gt;@aniruddhasoni&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-If you like the post, then don't forget like, comments &amp;amp; let's have some fun over the &lt;a href="https://twitter.com/gulshanagg333" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>appwritehack</category>
      <category>javascript</category>
      <category>react</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
