<?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: EasyCode Sardar</title>
    <description>The latest articles on DEV Community by EasyCode Sardar (@hardeepcoder).</description>
    <link>https://dev.to/hardeepcoder</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%2F709545%2F86be6f29-c757-4ca9-a2a2-969294b6ce71.jpeg</url>
      <title>DEV Community: EasyCode Sardar</title>
      <link>https://dev.to/hardeepcoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hardeepcoder"/>
    <language>en</language>
    <item>
      <title>I built a Chrome extension to blur sensitive info in screenshots before sharing</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Wed, 11 Mar 2026 08:17:14 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/i-built-a-chrome-extension-to-blur-sensitive-info-in-screenshots-before-sharing-3cd9</link>
      <guid>https://dev.to/hardeepcoder/i-built-a-chrome-extension-to-blur-sensitive-info-in-screenshots-before-sharing-3cd9</guid>
      <description>&lt;p&gt;Many times I needed to share screenshots with clients or teammates, but the screenshot contained sensitive information like:&lt;br&gt;
    • phone numbers&lt;br&gt;
    • emails&lt;br&gt;
    • order IDs&lt;br&gt;
    • private data&lt;/p&gt;

&lt;p&gt;Editing screenshots every time in an image editor was slow.&lt;/p&gt;

&lt;p&gt;So I built a small Chrome extension that lets you select areas of a webpage and blur them instantly before downloading the screenshot.&lt;/p&gt;

&lt;p&gt;What it does&lt;/p&gt;

&lt;p&gt;The extension allows you to:&lt;/p&gt;

&lt;p&gt;• Select one or multiple areas of a webpage&lt;br&gt;
• Blur the selected regions&lt;br&gt;
• Download the final screenshot as PNG or JPG&lt;br&gt;
• Keep the original layout exactly the same&lt;/p&gt;

&lt;p&gt;Everything runs locally in the browser.&lt;/p&gt;

&lt;p&gt;Why I built it&lt;/p&gt;

&lt;p&gt;Most screenshot tools &lt;br&gt;
either:&lt;br&gt;
    • require uploading images&lt;br&gt;
    • don’t support multiple blur areas&lt;br&gt;
    • break page layout during capture&lt;/p&gt;

&lt;p&gt;So I wanted something simple that works directly inside the browser.&lt;/p&gt;

&lt;p&gt;Demo: &lt;a href="https://youtu.be/Pxqx2p3hHa0" rel="noopener noreferrer"&gt;https://youtu.be/Pxqx2p3hHa0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How it works&lt;br&gt;
    1.  Click the extension&lt;br&gt;
    2.  Select areas to blur&lt;br&gt;
    3.  Download the screenshot&lt;/p&gt;

&lt;p&gt;The screenshot is captured using the browser’s native rendering, so the layout remains identical to what you see.&lt;/p&gt;

&lt;p&gt;Privacy&lt;br&gt;
    • No uploads&lt;br&gt;
    • No tracking&lt;br&gt;
    • No analytics&lt;br&gt;
    • All processing happens locally&lt;/p&gt;

&lt;p&gt;Chrome Extension&lt;/p&gt;

&lt;p&gt;You can try it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chrome.google.com/webstore/detail/chhefcddnoablbeonjjcmhaakhacjnnk" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/chhefcddnoablbeonjjcmhaakhacjnnk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback welcome&lt;/p&gt;

&lt;p&gt;This is a small side project and I’d really appreciate feedback from developers here.&lt;/p&gt;

&lt;p&gt;If you have ideas for improvements or features, feel free to share them.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>chromeextension</category>
    </item>
    <item>
      <title>Reactjs email validation || Reactjs tutorial for beginners</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Sat, 30 Apr 2022 02:56:51 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/reactjs-email-validation-reactjs-tutorial-for-beginners-153p</link>
      <guid>https://dev.to/hardeepcoder/reactjs-email-validation-reactjs-tutorial-for-beginners-153p</guid>
      <description>&lt;p&gt;{&amp;amp; YouTube T-5S_HqpJa0 %}&lt;/p&gt;

&lt;p&gt;Reactjs email validation&lt;/p&gt;

&lt;p&gt;Source Code: &lt;a href="https://github.com/Hardeepcoder"&gt;https://github.com/Hardeepcoder&lt;/a&gt;&lt;/p&gt;

</description>
      <category>validation</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Reactjs tutorial for absolute beginners</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Tue, 21 Dec 2021 01:52:01 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/reactjs-tutorial-for-absolute-beginners-4g8g</link>
      <guid>https://dev.to/hardeepcoder/reactjs-tutorial-for-absolute-beginners-4g8g</guid>
      <description>&lt;p&gt;&lt;strong&gt;Email Validation&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Reactjs tutorial for absolute beginners&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/T-5S_HqpJa0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Video Tutorial - Next.JS Form validation</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Tue, 14 Dec 2021 05:45:16 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/video-tutorial-nextjs-form-validation-5c77</link>
      <guid>https://dev.to/hardeepcoder/video-tutorial-nextjs-form-validation-5c77</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/2NhyvdK297c"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>NextJS - Form validations</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Mon, 13 Dec 2021 04:34:28 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/nextjs-form-validations-59kb</link>
      <guid>https://dev.to/hardeepcoder/nextjs-form-validations-59kb</guid>
      <description>&lt;p&gt;We are using react-hook-form: &lt;a href="https://www.npmjs.com/package/react-hook-form"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open Your NextJS profile inside IDE - VsCode &lt;/p&gt;

&lt;p&gt;Create validate.js file inside pages folder, open it and use shortcut rfce for create basic reactjs function.&lt;/p&gt;

&lt;p&gt;(You can change ext of validate.js file to validate.jsx if you want to use html shortcuts like div.row for row class to div.)&lt;/p&gt;

&lt;p&gt;create couples of html divs with classes such card, card-body and form-group to display your UI of form&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;full name UI with error display&lt;br&gt;
&lt;code&gt;&amp;lt;div className="form-group p-4"&amp;gt;&lt;br&gt;
       &amp;lt;label htmlFor="fullname"&amp;gt;Full name&amp;lt;/label&amp;gt;&lt;br&gt;
       &amp;lt;input className='form-control' {...register('fullname', {required:true})} /&amp;gt;&lt;br&gt;
{errors.fullname &amp;amp;&amp;amp; errors.fullname.type == "required" &amp;amp;&amp;amp; &amp;lt;p className='text-danger'&amp;gt;Please enter the full name&amp;lt;/p&amp;gt;}&lt;br&gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;City name UI with error display &lt;br&gt;
&lt;code&gt;&amp;lt;div className="form-group p-4"&amp;gt;&lt;br&gt;
   &amp;lt;label htmlFor="city"&amp;gt;City Name&amp;lt;/label&amp;gt;&lt;br&gt;
   &amp;lt;input className='form-control' {...register('city', {required:true, minLength:3})} /&amp;gt;&lt;br&gt;
{errors.city &amp;amp;&amp;amp; errors.city.type === 'required' &amp;amp;&amp;amp; &lt;br&gt;
&amp;lt;p className='text-danger'&amp;gt;Please enter city name&amp;lt;/p&amp;gt;}&lt;br&gt;
{errors.city &amp;amp;&amp;amp; errors.city.type === 'minLength' &amp;amp;&amp;amp; &lt;br&gt;
&amp;lt;p className='text-warning'&amp;gt;Please enter minimum 3 letters&amp;lt;/p&amp;gt;}&lt;br&gt;
 &amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Button UI&lt;br&gt;
&lt;code&gt;&amp;lt;div className="form-group p-4"&amp;gt;&lt;br&gt;
  &amp;lt;input type="submit" className='btn btn-success' /&amp;gt;&lt;br&gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Import UseForm from react hook form&lt;br&gt;
&lt;code&gt;import { useForm } from 'react-hook-form'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;const for register, handleSubmit and form state for errors&lt;br&gt;
&lt;code&gt;const {register, handleSubmit, formState:{errors}} = useForm();&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now add main function to alert the result &lt;br&gt;
&lt;code&gt;const myfun = (d) =&amp;gt;{&lt;br&gt;
       alert(d.fullname + ' from ' + d.city);&lt;br&gt;
 }&lt;/code&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>mongoose connection in NextJS</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Tue, 07 Dec 2021 06:34:18 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/mongoose-connection-in-nextjs-3lcj</link>
      <guid>https://dev.to/hardeepcoder/mongoose-connection-in-nextjs-3lcj</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;#nextjs  #tutorial  for #beginners &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;check and give me feedback&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/DN19NsAXAlQ"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=DN19NsAXAlQ"&gt;https://www.youtube.com/watch?v=DN19NsAXAlQ&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>mongodb</category>
      <category>tutorial</category>
      <category>javascript</category>
    </item>
    <item>
      <title>NextJS For beginners</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Tue, 30 Nov 2021 06:43:32 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/nextjs-for-beginners-569a</link>
      <guid>https://dev.to/hardeepcoder/nextjs-for-beginners-569a</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;#nextjs  #tutorial  for #beginners &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;check and give me feedback&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/eHB6hMiv0lw"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=eHB6hMiv0lw"&gt;https://www.youtube.com/watch?v=eHB6hMiv0lw&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Setup Passport functionality in Laravel</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Tue, 16 Nov 2021 03:50:43 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/setup-passport-functionality-in-laravel-1eb0</link>
      <guid>https://dev.to/hardeepcoder/setup-passport-functionality-in-laravel-1eb0</guid>
      <description>&lt;p&gt;First of all install laravel new project by composer&lt;br&gt;
composer create-project laravel/laravel laraERP&lt;/p&gt;

&lt;p&gt;Important: please add namespace inside RouteServiceProvider&lt;br&gt;
 protected $namespace = 'App\Http\Controllers';&lt;/p&gt;

&lt;p&gt;Now, install passport functionality inside our laravel project&lt;br&gt;
composer require laravel/passport      &lt;/p&gt;

&lt;p&gt;Read more: &lt;a href="https://easycodesardar.blogspot.com/2021/11/Setup%20Passport%20functionality%20in%20Laravel.html"&gt;https://easycodesardar.blogspot.com/2021/11/Setup%20Passport%20functionality%20in%20Laravel.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>passport</category>
      <category>php</category>
      <category>mysql</category>
    </item>
    <item>
      <title>Error: Unable to resolve module - Toolbar Android</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Mon, 15 Nov 2021 06:31:54 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/error-unable-to-resolve-module-toolbar-android-d93</link>
      <guid>https://dev.to/hardeepcoder/error-unable-to-resolve-module-toolbar-android-d93</guid>
      <description>&lt;p&gt;You can install the &lt;br&gt;
@react-native-community/toolbar-android &lt;br&gt;
by using below command:&lt;/p&gt;

&lt;p&gt;yarn add @react-native-community/toolbar-android&lt;/p&gt;

&lt;p&gt;Or&lt;/p&gt;

&lt;p&gt;npm install --save @react-native-community/toolbar-android&lt;/p&gt;

&lt;p&gt;Read more: &lt;a href="https://easycodesardar.blogspot.com/2020/07/error-unable-to-resolve-module-react.html"&gt;https://easycodesardar.blogspot.com/2020/07/error-unable-to-resolve-module-react.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>php</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>video tutorial: how to add google login for reactjs</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Tue, 09 Nov 2021 01:17:50 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/video-tutorial-how-to-add-google-login-for-reactjs-59ch</link>
      <guid>https://dev.to/hardeepcoder/video-tutorial-how-to-add-google-login-for-reactjs-59ch</guid>
      <description>&lt;p&gt;&lt;a href="https://youtu.be/99wG5k8Bn1M"&gt;https://youtu.be/99wG5k8Bn1M&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Login with google - ReactJs</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Sun, 07 Nov 2021 06:42:57 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/login-with-google-reactjs-234c</link>
      <guid>https://dev.to/hardeepcoder/login-with-google-reactjs-234c</guid>
      <description>&lt;p&gt;Open App.js and import GoogleLogin from package&lt;br&gt;
import GoogleLogin from 'react-google-login';&lt;/p&gt;

&lt;p&gt;Now just add Google Login button with Client ID&lt;br&gt;

    clientId="Your_own_client_ID.googleusercontent.com"&lt;br&gt;
    buttonText="Login with Google"&lt;br&gt;
    onSuccess={pass}&lt;br&gt;
    onFailure={fail}&lt;br&gt;
    cookiePolicy={'single_host_origin'}&lt;br&gt;
  /&amp;gt;                                                        &lt;/p&gt;

&lt;p&gt;Just add two handles for onSuccess &lt;br&gt;
const fail = (result) =&amp;gt;{&lt;br&gt;
      alert(result.error);&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;and for onFailure&lt;br&gt;
const pass = (googleData)=&amp;gt;{&lt;br&gt;
    console.log(googleData);&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;Read more: &lt;a href="https://easycodesardar.blogspot.com/2021/11/login-with-google-reactjs.html"&gt;https://easycodesardar.blogspot.com/2021/11/login-with-google-reactjs.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>googlecloud</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>MySQL - no need anymore</title>
      <dc:creator>EasyCode Sardar</dc:creator>
      <pubDate>Mon, 25 Oct 2021 04:08:10 +0000</pubDate>
      <link>https://dev.to/hardeepcoder/mysql-no-need-anymore-57fe</link>
      <guid>https://dev.to/hardeepcoder/mysql-no-need-anymore-57fe</guid>
      <description>&lt;p&gt;From now inside VSCode you can use mysql.&lt;/p&gt;

&lt;p&gt;Ext: &lt;a href="https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-mysql-client2"&gt;https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-mysql-client2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quick tutorial: &lt;a href="https://www.youtube.com/watch?v=AvkryYyoZHA"&gt;https://www.youtube.com/watch?v=AvkryYyoZHA&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mysql</category>
      <category>vscode</category>
      <category>database</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
