<?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: Manav Shete</title>
    <description>The latest articles on DEV Community by Manav Shete (@manavss).</description>
    <link>https://dev.to/manavss</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%2F1144489%2Fa6312e96-0056-4b53-bc70-fc3c0d912e03.jpg</url>
      <title>DEV Community: Manav Shete</title>
      <link>https://dev.to/manavss</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manavss"/>
    <language>en</language>
    <item>
      <title>VSCODE THEMED PORTFOLIO USING REACT.JS AND TAILWINDCSS.</title>
      <dc:creator>Manav Shete</dc:creator>
      <pubDate>Mon, 28 Aug 2023 14:48:30 +0000</pubDate>
      <link>https://dev.to/manavss/vscode-themed-portfolio-3bl7</link>
      <guid>https://dev.to/manavss/vscode-themed-portfolio-3bl7</guid>
      <description>&lt;h2&gt;
  
  
  Idea And Inspiration
&lt;/h2&gt;

&lt;p&gt;I've been watching a lot of portfolio websites lately and came across some that were mind blowing like some were built in 3D using three.js , some with framer motion, etc. Inspired me started to build one using some of the react animation libraries and even built one or two but they were not as good looking as I thought and I was a react beginner at that time. After a while and getting some knowledge of react and building some projects I started collecting ideas to a again make a portfolio. As a coder an Idea jumped into my head why not build a portfolio that looks like vscode. Done some research to find some good design on the internet but there were'nt much but then I came across nitin ranganath's vscode portfolio and liked it so much.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/itsnitinr" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F243850%2F2734d459-2216-478a-bbc9-4e2a636f96d5.png" alt="itsnitinr"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/itsnitinr/i-built-a-vscode-inspired-developer-portfolio-418g" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;I Built a VSCode Inspired Developer Portfolio&lt;/h2&gt;
      &lt;h3&gt;Nitin Ranganath ・ May 8 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#showdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#nextjs&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
So I decided to give it a try and kinda cloned his website but using react and tailwind and made some changes in the about me page and used emailjs for sending emails turned out too be good.

&lt;p&gt;Here is the link to the live website:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://vscode-portfolio-main.vercel.app/" rel="noopener noreferrer"&gt;
      vscode-portfolio-main.vercel.app
    &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/manavss" rel="noopener noreferrer"&gt;
        manavss
      &lt;/a&gt; / &lt;a href="https://github.com/manavss/vscode-portfolio-main" rel="noopener noreferrer"&gt;
        vscode-portfolio-main
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A Visual Studio Code themed developer portfolio website built with React.js and Tailwind.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
  
    
    

    &lt;span class="m-1"&gt;vs-code.mp4&lt;/span&gt;
    
  

  

  


&lt;br&gt;
&lt;p&gt;
  &lt;a href="https://github.com/manavss/vscode-portfolio-main" rel="noopener noreferrer"&gt;
    &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmanavss%2Fvscode-portfolio-main" alt="Logo" width="80" height="80"&gt;
  &lt;/a&gt;
  &lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;VSCODE PORTFOLIO&lt;/h3&gt;

&lt;/div&gt;
  &lt;p&gt;
    A Visual Studio Code themed developer portfolio website built with React.js and tailwind.
    &lt;br&gt;
    &lt;br&gt;
    &lt;a href="https://github.com/manavss/vscode-portfolio-main" rel="noopener noreferrer"&gt;&lt;strong&gt;Explore the docs »&lt;/strong&gt;&lt;/a&gt;
    &lt;br&gt;
    &lt;br&gt;
    &lt;a href="https://github.com/manavss/vscode-portfolio-main" rel="noopener noreferrer"&gt;View Demo&lt;/a&gt;
    .
    &lt;a href="https://github.com/manavss/vscode-portfolio-main/issues" rel="noopener noreferrer"&gt;Report Bug&lt;/a&gt;
    .
    &lt;a href="https://github.com/manavss/vscode-portfolio-main/issues" rel="noopener noreferrer"&gt;Request Feature&lt;/a&gt;
  &lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9d8abcb380bd6f7e37a9797cbac29131465a72bf9222c26c5d42e9bd4ad67383/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e2f746f74616c"&gt;&lt;img src="https://camo.githubusercontent.com/9d8abcb380bd6f7e37a9797cbac29131465a72bf9222c26c5d42e9bd4ad67383/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e2f746f74616c" alt="Downloads"&gt;&lt;/a&gt; &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/deb0d068a6468e9594cf417ab3cb5907a7a101e14873cd3b44275b18221f2027/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e3f636f6c6f723d6461726b2d677265656e"&gt;&lt;img src="https://camo.githubusercontent.com/deb0d068a6468e9594cf417ab3cb5907a7a101e14873cd3b44275b18221f2027/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e3f636f6c6f723d6461726b2d677265656e" alt="Contributors"&gt;&lt;/a&gt; &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/550714a3a9fd738c0f11eb60ae5ace0a5c54f99e12ebba06045f283f18b45b1c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e3f7374796c653d736f6369616c"&gt;&lt;img src="https://camo.githubusercontent.com/550714a3a9fd738c0f11eb60ae5ace0a5c54f99e12ebba06045f283f18b45b1c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e3f7374796c653d736f6369616c" alt="Forks"&gt;&lt;/a&gt; &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/f618850b718f048d4c1d479db02300461545ec48015a9521859ee8dc0079a98a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e3f7374796c653d736f6369616c"&gt;&lt;img src="https://camo.githubusercontent.com/f618850b718f048d4c1d479db02300461545ec48015a9521859ee8dc0079a98a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e3f7374796c653d736f6369616c" alt="Stargazers"&gt;&lt;/a&gt; &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/8ad27050a69006028ce8e44159af36366ea5aa3bb191d9fcfd46f1088db40d17/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e"&gt;&lt;img src="https://camo.githubusercontent.com/8ad27050a69006028ce8e44159af36366ea5aa3bb191d9fcfd46f1088db40d17/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e" alt="Issues"&gt;&lt;/a&gt; &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/3353525ea324c952b4907b0209c65c5efbaad4b33386ff91955fcbfbb3d72ec9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e"&gt;&lt;img src="https://camo.githubusercontent.com/3353525ea324c952b4907b0209c65c5efbaad4b33386ff91955fcbfbb3d72ec9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d616e617673732f7673636f64652d706f7274666f6c696f2d6d61696e" alt="License"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Table Of Contents&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/manavss/vscode-portfolio-main#about-the-project" rel="noopener noreferrer"&gt;About the Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/manavss/vscode-portfolio-main#built-with" rel="noopener noreferrer"&gt;Built With&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/manavss/vscode-portfolio-main#roadmap" rel="noopener noreferrer"&gt;Roadmap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/manavss/vscode-portfolio-main#contributing" rel="noopener noreferrer"&gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/manavss/vscode-portfolio-main#authors" rel="noopener noreferrer"&gt;Authors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/manavss/vscode-portfolio-main#acknowledgements" rel="noopener noreferrer"&gt;Acknowledgements&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;About The Project&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;A Visual Studio Code themed developer portfolio website built with React.js and Tailwind.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Built With&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;React.js
TailwindCss
React-hook-form
email.js
react-async-helmet&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Authors&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manav Shete&lt;/strong&gt; - &lt;em&gt;BE-IT&lt;/em&gt; - &lt;a href="https://github.com/manavss/" rel="noopener noreferrer"&gt;Manav Shete&lt;/a&gt; - &lt;em&gt;Developer&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/manavss/vscode-portfolio-main" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;I would like to thank &lt;a class="mentioned-user" href="https://dev.to/itsnitinr"&gt;@itsnitinr&lt;/a&gt; for letting me use his icons and design as I am bit lazy to go and set them up all.😜Learned a lot from this project and glad I picked this one .&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>tailwindcss</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Using GitHub API with Personal Access Tokens to Fetch User Data and GitHub Calendar Integration.</title>
      <dc:creator>Manav Shete</dc:creator>
      <pubDate>Fri, 25 Aug 2023 08:20:04 +0000</pubDate>
      <link>https://dev.to/manavss/using-github-api-with-personal-access-tokens-to-retrieve-user-data-and-github-calendar-integration-32n7</link>
      <guid>https://dev.to/manavss/using-github-api-with-personal-access-tokens-to-retrieve-user-data-and-github-calendar-integration-32n7</guid>
      <description>&lt;p&gt;GitHub provides a powerful API that allows developers to access and interact with various data from GitHub repositories, users, and more. In this tutorial, we will explore how to use the GitHub API with personal access tokens to fetch user data, and we will also integrate the GitHub Calendar library to visualize user contributions over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Introduction to GitHub API and Personal Access Tokens&lt;/li&gt;
&lt;li&gt;Generating a Personal Access Token&lt;/li&gt;
&lt;li&gt;Fetching User Data using GitHub API&lt;/li&gt;
&lt;li&gt;Integrating GitHub Calendar Library&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Introduction to GitHub API and Personal Access Tokens
&lt;/h2&gt;

&lt;p&gt;The GitHub API offers endpoints that allow developers to programmatically interact with GitHub resources such as repositories, issues, and users. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ADVANTAGES OF USING PERSONAL TOKENS&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Personal access tokens provide a secure and standardized way to authenticate and authorize users or applications when interacting with the GitHub API.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.GitHub API requests are subject to rate limits. By using a personal access token, applications can make authenticated requests, which usually have higher rate limits compared to unauthenticated requests.&lt;/p&gt;

&lt;p&gt;and much more...&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Generating a Personal Access Token
&lt;/h2&gt;

&lt;p&gt;To generate a personal access token, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Log in to your GitHub account.&lt;/li&gt;
&lt;li&gt;Go to your GitHub Settings.&lt;/li&gt;
&lt;li&gt;Select Developer settings from the left sidebar, and then click on Personal access tokens.&lt;/li&gt;
&lt;li&gt;Click on the Generate new token button.
Give your token a meaningful name and select the scopes 
(permissions) you need.&lt;/li&gt;
&lt;li&gt;Click the Generate token button at the bottom.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Make sure to copy your generated token immediately, as you won't be able to see it again.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Fetching User Data using GitHub API
&lt;/h2&gt;

&lt;p&gt;Now that we have our personal access token, let's use it to fetch user data from the GitHub API.&lt;/p&gt;

&lt;p&gt;We'll use the axios library to make HTTP requests. If you haven't installed it, you can do so using:&lt;br&gt;
&lt;code&gt;npm install axios&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here's how to fetch user data using the GitHub API and your personal access token:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// src/App.js
import React, { useEffect, useState } from 'react';
import axios from 'axios';

const App = () =&amp;gt; {
  const [userData, setUserData] = useState({});

  useEffect(() =&amp;gt; {
    const token = 'YOUR_PERSONAL_ACCESS_TOKEN';

    axios.get('https://api.github.com/user/yourgithubUserName', {
      headers: {
        Authorization: `token ${token}`,
      },
    })
    .then(response =&amp;gt; {
      setUserData(response.data);
    })
    .catch(error =&amp;gt; {
      console.error('Error fetching user data:', error);
    });
  }, []);

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;GitHub User Data&amp;lt;/h1&amp;gt;
      &amp;lt;div&amp;gt;{JSON.stringify(userData, null, 2)}&amp;lt;/pre&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};

export default App;

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

&lt;/div&gt;


&lt;p&gt;Replace 'YOUR_PERSONAL_ACCESS_TOKEN' with the actual personal access token you generated.&lt;/p&gt;

&lt;p&gt;You can create your own Card to display the user data like username,profile pic,bio,public repos,etc&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It would look like this&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%2Foa78m5vpnc9dpmkfmlos.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%2Foa78m5vpnc9dpmkfmlos.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;You can also use the repo api to get all the information about repostiories:&lt;/em&gt;&lt;br&gt;
*&lt;br&gt;
Just replace the api link with &lt;em&gt;&lt;a href="https://api.github.com/user/yourgithubUserName/repos" rel="noopener noreferrer"&gt;https://api.github.com/user/yourgithubUserName/repos&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  4. Integrating GitHub Calendar Library
&lt;/h2&gt;

&lt;p&gt;The GitHub Calendar library allows you to visualize a user's contributions (commits, pull requests, issues, etc.) over time in a calendar heatmap.&lt;/p&gt;

&lt;p&gt;To integrate the GitHub Calendar library, we'll use the react-github-calendar package. Install it using:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install react-github-calendar&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here's how to integrate the GitHub Calendar library into your React app:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// src/App.js
import React, { useEffect, useState } from 'react';
import axios from 'axios';
import GitHubCalendar from 'react-github-calendar';

const App = () =&amp;gt; {
  const [userData, setUserData] = useState({});

  useEffect(() =&amp;gt; {
    const token = 'YOUR_PERSONAL_ACCESS_TOKEN';

    axios.get('https://api.github.com/user', {
      headers: {
        Authorization: `token ${token}`,
      },
    })
    .then(response =&amp;gt; {
      setUserData(response.data);
    })
    .catch(error =&amp;gt; {
      console.error('Error fetching user data:', error);
    });
  }, []);

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;GitHub User Data&amp;lt;/h1&amp;gt;
      &amp;lt;pre&amp;gt;{JSON.stringify(userData, null, 2)}&amp;lt;/pre&amp;gt;

      {userData.login &amp;amp;&amp;amp; (
        &amp;lt;div&amp;gt;
          &amp;lt;h2&amp;gt;GitHub Contributions Calendar&amp;lt;/h2&amp;gt;
          &amp;lt;GitHubCalendar
            username={userData.login}
            blockSize={15}
            blockMargin={2}
          /&amp;gt;
        &amp;lt;/div&amp;gt;
      )}
    &amp;lt;/div&amp;gt;
  );
};

export default App;

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

&lt;/div&gt;


&lt;p&gt;Replace 'YOUR_PERSONAL_ACCESS_TOKEN' with your actual personal access token.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is how it looks:&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%2F3vecz8lgf55tmbcy3bs8.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%2F3vecz8lgf55tmbcy3bs8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Refer the official github repo for more more information :&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/grubersjoe" rel="noopener noreferrer"&gt;
        grubersjoe
      &lt;/a&gt; / &lt;a href="https://github.com/grubersjoe/react-github-calendar" rel="noopener noreferrer"&gt;
        react-github-calendar
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A React component to display a GitHub contributions calendar
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;React GitHub Calendar&lt;/h1&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://github.com/grubersjoe/react-github-calendar/actions/workflows/test.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/grubersjoe/react-github-calendar/actions/workflows/test.yml/badge.svg" alt="CI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A React component to display a GitHub contributions graph based on
&lt;a href="https://github.com/grubersjoe/react-activity-calendar" rel="noopener noreferrer"&gt;&lt;code&gt;react-activity-calendar&lt;/code&gt;&lt;/a&gt; and
&lt;a href="https://github.com/grubersjoe/github-contributions-api" rel="noopener noreferrer"&gt;&lt;code&gt;github-contributions-api&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/grubersjoe/react-github-calendarpreview.png?v3"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fgrubersjoe%2Freact-github-calendarpreview.png%3Fv3" alt="Screenshot"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://grubersjoe.github.io/react-github-calendar/" rel="nofollow noopener noreferrer"&gt;Demo and documentation&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pnpm install react-github-calendar&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Development&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Start watch mode for the library first:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pnpm install
pnpm dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Then start watch mode of example page:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c1"&gt;cd&lt;/span&gt; example
pnpm install
pnpm dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="nofollow noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Publish a new release&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm publish --dry-run

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; When you're happy&lt;/span&gt;
npm publish --access=public&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Update demo page&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pnpm run deploy&lt;/pre&gt;

&lt;/div&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/grubersjoe/react-github-calendar" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;strong&gt;The owner of the repo has also created a website for calendar and visualization and customizations you can do.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://grubersjoe.github.io/react-github-calendar/" rel="noopener noreferrer"&gt;
      grubersjoe.github.io
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  5. Conclusion
&lt;/h2&gt;

&lt;p&gt;In this tutorial, we learned how to use the GitHub API with personal access tokens to fetch user data and integrate it with the GitHub Calendar library. We generated a personal access token, used it to authenticate API requests, fetched user data, and visualized GitHub contributions over time using the calendar heatmap.&lt;/p&gt;

</description>
      <category>react</category>
      <category>api</category>
      <category>github</category>
      <category>reactgithubcalendar</category>
    </item>
    <item>
      <title>An Easy Guide to Building a Basic Form with React Hook Form.</title>
      <dc:creator>Manav Shete</dc:creator>
      <pubDate>Fri, 25 Aug 2023 07:07:34 +0000</pubDate>
      <link>https://dev.to/manavss/how-to-set-up-basic-react-hook-form-10i2</link>
      <guid>https://dev.to/manavss/how-to-set-up-basic-react-hook-form-10i2</guid>
      <description>&lt;p&gt;React Hook Form is a powerful library for managing form state and validation in React applications using hooks. In this tutorial, we will explore how to set up a basic form using React Hook Form. We'll cover installation, creating a form, form validation, and submitting form data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table of Contents&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Introduction to React Hook Form&lt;/li&gt;
&lt;li&gt;Installation&lt;/li&gt;
&lt;li&gt;Creating the Form Component&lt;/li&gt;
&lt;li&gt;Form Input Fields and Validation&lt;/li&gt;
&lt;li&gt;Handling Form Submission&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Introduction to React Hook Form
&lt;/h2&gt;

&lt;p&gt;React Hook Form is a library that simplifies form handling in React applications by utilizing hooks. It provides a straightforward way to manage form state, handle form validation, and streamline form submission.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Installation
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;npm install react-hook-form&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  3.Creating the Form Component
&lt;/h2&gt;

&lt;p&gt;Let's create a new component for our form. For this example, we'll create a SimpleForm.js file in your project's src folder.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// src/SimpleForm.js
import React from 'react';
import { useForm } from 'react-hook-form';

const SimpleForm = () =&amp;gt; {
  const { register, handleSubmit, formState: { errors } } = useForm();

  const onSubmit = (data) =&amp;gt; {
    console.log(data);
  };

  return (
    &amp;lt;form onSubmit={handleSubmit(onSubmit)}&amp;gt;
      {/* Form fields will be added here */}
    &amp;lt;/form&amp;gt;
  );
};

export default SimpleForm;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Form Input Fields and Validation
&lt;/h2&gt;

&lt;p&gt;Let's add some input fields to our form along with basic validation. We'll create fields for the user's name and email address. We'll use the register function to associate input fields with React Hook Form.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// src/SimpleForm.js
import React from 'react';
import { useForm } from 'react-hook-form';

const SimpleForm = () =&amp;gt; {
  const { register, handleSubmit, formState: { errors } } = useForm();

  const onSubmit = (data) =&amp;gt; {
    console.log(data);
  };

  return (
    &amp;lt;form onSubmit={handleSubmit(onSubmit)}&amp;gt;
      &amp;lt;div&amp;gt;
        &amp;lt;label&amp;gt;Name&amp;lt;/label&amp;gt;
        &amp;lt;input
          type="text"
          {...register('name', { required: true })}
        /&amp;gt;
        {errors.name &amp;amp;&amp;amp; &amp;lt;p&amp;gt;This field is required&amp;lt;/p&amp;gt;}
      &amp;lt;/div&amp;gt;
      &amp;lt;div&amp;gt;
        &amp;lt;label&amp;gt;Email&amp;lt;/label&amp;gt;
        &amp;lt;input
          type="email"
          {...register('email', { required: true, pattern: /^\S+@\S+$/i })}
        /&amp;gt;
        {errors.email &amp;amp;&amp;amp; &amp;lt;p&amp;gt;Enter a valid email address&amp;lt;/p&amp;gt;}
      &amp;lt;/div&amp;gt;
      &amp;lt;button type="submit"&amp;gt;Submit&amp;lt;/button&amp;gt;
    &amp;lt;/form&amp;gt;
  );
};

export default SimpleForm;

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

&lt;/div&gt;



&lt;p&gt;In this section, we added two input fields for the user's name and email. We used the register function to connect the input fields to React Hook Form. We also added basic validation rules such as required and pattern for the email field.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Handling Form Submission
&lt;/h2&gt;

&lt;p&gt;Now that we have our form set up with input fields and validation, let's handle the form submission.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// src/SimpleForm.js
import React from 'react';
import { useForm } from 'react-hook-form';

const SimpleForm = () =&amp;gt; {
  const { register, handleSubmit, formState: { errors } } = useForm();

  const onSubmit = (data) =&amp;gt; {
    console.log(data);
  };

  return (
    &amp;lt;form onSubmit={handleSubmit(onSubmit)}&amp;gt;
      {/* Form fields */}
      &amp;lt;button type="submit"&amp;gt;Submit&amp;lt;/button&amp;gt;
    &amp;lt;/form&amp;gt;
  );
};

export default SimpleForm;

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

&lt;/div&gt;



&lt;p&gt;In the onSubmit function, you can perform any actions you need, such as sending the form data to a server or updating the state of your application.&lt;/p&gt;

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

&lt;p&gt;In this tutorial, we've covered the basics of setting up a form using React Hook Form. We installed the library, created a form component, added input fields with validation, and handled form submission. React Hook Form simplifies the process of managing forms in React applications and provides powerful tools for form validation and state management.&lt;/p&gt;

&lt;p&gt;You can further customize your forms by adding more fields, complex validation rules, and integrating with other libraries. This tutorial serves as a foundation for building more advanced forms using React Hook Form.&lt;/p&gt;

</description>
      <category>react</category>
      <category>reacthookform</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
