<?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: Princess</title>
    <description>The latest articles on DEV Community by Princess (@code_duchess).</description>
    <link>https://dev.to/code_duchess</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%2F883431%2F930f736d-b672-4243-9077-762e262b072d.jpg</url>
      <title>DEV Community: Princess</title>
      <link>https://dev.to/code_duchess</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/code_duchess"/>
    <language>en</language>
    <item>
      <title>How to Recover Deleted Github Repository</title>
      <dc:creator>Princess</dc:creator>
      <pubDate>Sat, 23 Nov 2024 12:18:21 +0000</pubDate>
      <link>https://dev.to/code_duchess/how-to-recover-deleted-github-repository-19l8</link>
      <guid>https://dev.to/code_duchess/how-to-recover-deleted-github-repository-19l8</guid>
      <description>&lt;p&gt;Have you ever deleted a GitHub repository and wished you hadn't? Deleting a repository might seem like a permanent action, and for a long time, I believed it was. To avoid losing valuable work, I tried my best not to delete repositories, even if they felt cluttered. However, I recently learned that it is possible to recover a deleted repository—and it only takes a few minutes!&lt;/p&gt;

&lt;p&gt;In this article, I'll walk you through the steps to restore your deleted repositories. &lt;/p&gt;




&lt;h2&gt;
  
  
  Steps to Restore a Deleted Repository
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Log in to GitHub
&lt;/h3&gt;

&lt;p&gt;Start by logging into your GitHub account.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Access Your Profile Settings
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on your profile image at the top-right corner of the screen.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ne0r45antu19wjoaaah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ne0r45antu19wjoaaah.png" alt="click on profile" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;From the dropdown menu, select &lt;strong&gt;Settings&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ta5tkw2fhvjk8ikbdlj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ta5tkw2fhvjk8ikbdlj.png" alt="click on settings" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. Navigate to Repositories
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;On the &lt;strong&gt;Settings&lt;/strong&gt; page, you’ll find a sidebar on the left.
&lt;/li&gt;
&lt;li&gt;Under the &lt;strong&gt;Code, planning, and automation&lt;/strong&gt; section, click on &lt;strong&gt;Repositories&lt;/strong&gt;.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flv2ech28g9l4mqkui9ha.png" alt="click on repositories" width="800" height="441"&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. Locate the Deleted Repositories
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On the repositories page, you'll notice two tabs:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repositories&lt;/strong&gt;: Displays all your active and collaborative repositories.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deleted Repositories&lt;/strong&gt;: This is where you can find repositories you've deleted.
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Switch to the &lt;strong&gt;Deleted Repositories&lt;/strong&gt; tab.&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx5sph6vnm4t5cuewv4ld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx5sph6vnm4t5cuewv4ld.png" alt="switch to deleted repositories" width="800" height="260"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  5. Restore Your Repository
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Identify the repository you wish to restore.
&lt;/li&gt;
&lt;li&gt;Click on the repository name and then click the &lt;strong&gt;Restore&lt;/strong&gt; button.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8tbaabui61v4cnnx37a.png" alt="click on restore" width="800" height="285"&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Additional Notes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Recovery Time&lt;/strong&gt;: It might take up to an hour for a recently deleted repository to reappear after restoration. Don’t panic if you don’t see it immediately.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Forked Repositories&lt;/strong&gt;: Forked repositories cannot be restored directly. For assistance, you will need to contact GitHub’s customer support team.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Restoring a deleted GitHub repository is a simple process that can save you from losing important work. I hope you found this guide helpful!  &lt;/p&gt;

&lt;p&gt;For a more detailed walkthrough, check out my &lt;a href="https://youtu.be/TI5_t3Iq-fw" rel="noopener noreferrer"&gt;YouTube video on this topic&lt;/a&gt;. Don’t forget to like and subscribe for more GitHub tips and tricks.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to Add Typing Effects to Your React App with React Typical</title>
      <dc:creator>Princess</dc:creator>
      <pubDate>Tue, 02 Jul 2024 17:40:09 +0000</pubDate>
      <link>https://dev.to/code_duchess/how-to-add-typing-effects-to-your-react-app-with-react-typical-55o</link>
      <guid>https://dev.to/code_duchess/how-to-add-typing-effects-to-your-react-app-with-react-typical-55o</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Have you always wondered how to create a typing effect on your website? I too was wondering. I have learned to implement a dynamic typewriting effect in React using the &lt;code&gt;react-typical&lt;/code&gt; library. This effect can switch up your website design, especially in your hero section which plays a vital role in engaging your visitors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;br&gt;
Before we begin, make sure you have basic knowledge of React and have Node installed in your system.  You'll also need a React project set-up. If you don't have one yet, you can create it using Create React App. I will also be making use of &lt;a href="https://tailwindcss.com/docs/installation" rel="noopener noreferrer"&gt;Tailwind CSS&lt;/a&gt; for styling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Set Up Your React Project
&lt;/h2&gt;

&lt;p&gt;If you don’t already have a React project, you can set one up quickly using Create React App:&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;npx&lt;/strong&gt;&lt;/p&gt;

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

npx create-react-app my-app


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

&lt;/div&gt;

&lt;p&gt;or if you're familiar with yarn.&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;yarn&lt;/strong&gt;&lt;/p&gt;

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

yarn create react-app my-app 


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

&lt;/div&gt;

&lt;p&gt;After your react app has been installed you cd into your project using&lt;/p&gt;

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

cd my-app


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

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 2: Install react-typical
&lt;/h2&gt;

&lt;p&gt;Using &lt;strong&gt;npm&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

npm install react-typical --save



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

&lt;/div&gt;

&lt;p&gt;Using &lt;strong&gt;yarn&lt;/strong&gt;&lt;/p&gt;

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

yarn add react-typical



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

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 3: Install Tailwind CSS
&lt;/h2&gt;

&lt;p&gt;Install tailwindcss via npm or yarn, and create your tailwind.config.js file.&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;npm&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

npm install -D tailwindcss
npx tailwindcss init


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

&lt;/div&gt;

&lt;p&gt;Using &lt;strong&gt;yarn&lt;/strong&gt;&lt;/p&gt;

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

yarn add tailwindcss --dev
npx tailwindcss init


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

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 4: Configure your template paths
&lt;/h2&gt;

&lt;p&gt;Add the paths to all of your template files in your tailwind.config.js file.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{html,js}"],
  theme: {
    extend: {},
  },
  plugins: [],
}


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

&lt;/div&gt;

&lt;p&gt;This step configures Tailwind to scan your specified files (like HTML, JavaScript, or React files) for class names. By doing this, Tailwind can generate the necessary styles based on the classes used in those files, which helps in optimizing the CSS output, reducing file size, and ensuring that only the styles you actually use are included in the final build.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Add the Tailwind directives to your CSS
&lt;/h2&gt;

&lt;p&gt;Add the &lt;a class="mentioned-user" href="https://dev.to/tailwind"&gt;@tailwind&lt;/a&gt; directives for each of Tailwind’s layers to your main CSS file.&lt;/p&gt;

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

@tailwind base;
@tailwind components;
@tailwind utilities;


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

&lt;/div&gt;

&lt;p&gt;This step integrates Tailwind CSS into your project. It connects Tailwind’s base, component, and utility styles to your CSS file, which is then linked to your &lt;code&gt;index.js&lt;/code&gt;. This setup allows you to use Tailwind CSS classes flexibly throughout your code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Develop a React Component for Typing Animation
&lt;/h2&gt;

&lt;p&gt;In your &lt;code&gt;src&lt;/code&gt; folder create a &lt;code&gt;component&lt;/code&gt; folder which would be used in storing your components.&lt;/p&gt;

&lt;p&gt;In your &lt;code&gt;component&lt;/code&gt; folder, create a file and call it &lt;code&gt;TypingEffect.js&lt;/code&gt;. Import &lt;code&gt;React&lt;/code&gt; and &lt;code&gt;Typical&lt;/code&gt; library for creating typing animations.&lt;/p&gt;

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

import React from 'react';
import Typical from 'react-typical';


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

&lt;/div&gt;

&lt;p&gt;Then, add the following code to define the TypingEffect component:&lt;/p&gt;

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

import React from 'react';
import Typical from 'react-typical';

const TypingEffect = () =&amp;gt; {
  return (
    &amp;lt;h1 className="text-3xl lg:text-6xl"&amp;gt;
      &amp;lt;Typical
        steps={[
          'Unlock the Future of Digital Artistry', 2000,
          'Unlock the Future of Digital Collectibles', 2000,
          'Unlock the Future of Digital Assets', 2000,
        ]}
        loop={1}
        wrapper="span"
      /&amp;gt;
    &amp;lt;/h1&amp;gt;
  );
};

export default TypingEffect;


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

&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;Typical&lt;/code&gt; component is used to create a typing animation. The &lt;code&gt;steps&lt;/code&gt; prop defines the text to be typed and the duration (2000 milliseconds) each text stays before changing. The &lt;code&gt;loop&lt;/code&gt; prop is set to 1, meaning the animation will play once. The &lt;code&gt;wrapper&lt;/code&gt; prop wraps the animated text in a &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; element.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Import and Use the TypingEffect Component
&lt;/h2&gt;

&lt;p&gt;Open the &lt;code&gt;App.js&lt;/code&gt; file in the src directory and import the &lt;code&gt;TypingEffect&lt;/code&gt; component. Then, use it within the &lt;code&gt;App&lt;/code&gt; component to display the typing effect header.&lt;/p&gt;

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

import TypingEffect from './component/TypingEffect';

function App() {
  return (
    &amp;lt;div &amp;gt;
      &amp;lt;TypingEffect/&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

export default App;



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

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 8: Run Your Application
&lt;/h2&gt;

&lt;p&gt;Finally, start your React application to see the typing effect in action:&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;npm&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

npm start



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

&lt;/div&gt;

&lt;p&gt;Using &lt;strong&gt;yarn&lt;/strong&gt;&lt;/p&gt;

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

yarn start



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

&lt;/div&gt;

&lt;p&gt;This is how it looks on my browser.&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%2Fnq7g4gd7q57k3c4ch46z.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%2Fnq7g4gd7q57k3c4ch46z.gif" alt="Browser Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 9: Customize the Styles
&lt;/h2&gt;

&lt;p&gt;To elevate my code further, I incorporated custom animations into &lt;code&gt;TypingEffect.js&lt;/code&gt;. I've documented the entire process in a detailed, step-by-step tutorial on my YouTube channel. You can watch it here: &lt;a href="https://youtu.be/B6I4E4CwH3g" rel="noopener noreferrer"&gt;React Typical Tutorial&lt;/a&gt;. Check it out for a comprehensive guide!&lt;/p&gt;

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

import React from 'react'
import Typical from 'react-typical'
import HeroImg from '../assets/img.jpeg'

const TypingEffect = () =&amp;gt; {
    return (
        &amp;lt;div className='bg-gray-900 h-screen flex justify-between items-center p-16'&amp;gt;
            &amp;lt;h1 className='text-6xl text-white w-1/2'&amp;gt;
                &amp;lt;Typical
                    steps={[
                        'Unlock the Future of Digital Artistry', 2000,
                        'Unlock the Future of Digital Collectibles', 2000,
                        'Unlock the Future of Digital Assets', 2000,
                    ]}
                    loop={1}
                    wrapper='span'
                /&amp;gt;
            &amp;lt;/h1&amp;gt;
            &amp;lt;img src={HeroImg} className='w-1/3 rounded-lg' /&amp;gt;


        &amp;lt;/div&amp;gt;
    )
}

export default TypingEffect


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

&lt;/div&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%2Fgdlghe70ai2r7joqdkhs.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%2Fgdlghe70ai2r7joqdkhs.gif" alt="This is how it looks on my browser"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
The React Typing effect can boost visibility and engagement on your website by dynamically displaying key messages. It adds an interactive element that captures user attention, making your content more memorable and appealing. Implementing this feature can enhance user experience, highlight important information, and create a modern, professional look for your site. By following the steps outlined, you can easily integrate a typing effect into your React projects, ensuring your web presence stands out. To access my repository, simply follow this link &lt;a href="https://github.com/Uhiene/React-typing-effect" rel="noopener noreferrer"&gt;github repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://tailwindcss.com/docs/installation" rel="noopener noreferrer"&gt;Tailwind Doc Installation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.npmjs.com/package/react-typical" rel="noopener noreferrer"&gt;React Typical&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>2024 Complete Full-Stack Developers Roadmap</title>
      <dc:creator>Princess</dc:creator>
      <pubDate>Tue, 04 Jun 2024 21:33:16 +0000</pubDate>
      <link>https://dev.to/code_duchess/2024-complete-full-stack-developers-roadmap-1co9</link>
      <guid>https://dev.to/code_duchess/2024-complete-full-stack-developers-roadmap-1co9</guid>
      <description>&lt;p&gt;Getting into tech may be nutcracking especially if you don't know your way about it. Things may be a bit confusing and most Developers would wish they could go back in time and start their tech journey from afresh. I have saved you from your future what-ifs by writing this complete Full-Stack Developer road map, which involves possible stacks you can learn and where you can learn them. In this article, I am going to be covering stacks from the Frontend to the Backend and continuous things you can do to keep yourself busy while looking for that big job.&lt;/p&gt;

&lt;h2&gt;
  
  
  FrontEnd Development
&lt;/h2&gt;

&lt;p&gt;Frontend has to do with an interactive UI (User Interface) which communicates with the user. This is the part of the web which the user can see and interact with. According to Stack Overflow annual developer survey 2020, 37% of Developers learn Frontend Development. People going into tech prefer learning a stack that is new and not overpopulated. Here are some recommended Frontend stacks to get you started in your developer journey.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programming Language for Frontend Web Development&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;HTML (Hyper Text Markup  Language):&lt;/strong&gt; I do recommend HTML for anyone transitioning into Frontend Development. It is the ABC of the Frontend. HTML can be seen as the skeleton of the website which has the basic structure that makes a website. The HTML tells the browser how to display the elements like images, texts, and links. A topical HTML file contains various tags that give the webpage structure. Here is a link to kickstart your journey in understanding HTML &lt;a href="https://www.w3schools.com/html/html_intro.asp"&gt;w3schools&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CSS (Cascading Style Sheet)&lt;/strong&gt;: CSS is the next go-to step after learning HTML. I said earlier that "HTML can be seen as the skeleton of the website" but this time CSS is the flesh of the website. CSS is used in styling the website, making it more interactive and user-friendly. CSS is used in styling the various tags/elements of the HTML. Here is a link to learn CSS in-depth &lt;a href="https://www.w3schools.com/css/css_intro.asp"&gt;w3schools&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JavaScript:&lt;/strong&gt; Most new Developers confuse Java programming language as the short form of JavaScript. JavaScript is a different programming language that was later introduced into programming. JavaScript has grown so vast that people now consider it to be a Backend language. JavaScript is what makes the website functional. It brings the website to life. Let's take a house for example, the house structure is the HTML, the CSS is the paints doors and windows and the interior decorator of the house. JavaScript is what powers the house for it to have running water and electricity. Here is a YouTube video to expand your knowledge of JavaScript &lt;a href="https://www.youtube.com/watch?v=EerdGm-ehJQ&amp;amp;pp=ygUWamF2YXNjcmlwdCBmdWxsIGNvdXJzZQ%3D%3D"&gt;SuperSimpleDev&lt;/a&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CSS Frameworks&lt;/strong&gt;: To make writing codes easier, faster and more efficient I recommend you learn a CSS Framework. There are many types of CSS frameworks but the most used are Bootstrap and Tailwind CSS. Bootstrap helps in grid systems and responsive designs but compared to Tailwind CSS, Bootstrap may be grand and complex to write. Tailwind CSS is widely preferred and is excellent for styling. Both have excellent documentation and community support. &lt;a href="https://v2.tailwindcss.com/docs"&gt;Tailwind CSS Documentation&lt;/a&gt; and &lt;a href="https://getbootstrap.com/docs/4.1/getting-started/introduction/"&gt;Bootstrap Documentation&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;React Js&lt;/strong&gt;: React is a famous JavaScript Libary, used for building dynamic user interfaces. React allows the user to break down the code into various components thereby making the coding space more clean and well-organized. Learn React on YouTube for free on &lt;a href="https://www.youtube.com/watch?v=bMknfKXIFA8&amp;amp;pp=ygUFcmVhY3Q%3D"&gt;FreeCodeCamp&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;NextJS:&lt;/strong&gt; After mastering React, learn NextJS for server-side rendering and generating static websites. The NextJS documentation offers a getting started guide. &lt;a href="https://nextjs.org/docs"&gt;NextJS Docs&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Backend Development
&lt;/h2&gt;

&lt;p&gt;Back-end Development means working on server-side software, which focuses on everything you can't see on a website. Back-end developers ensure the website performs correctly, focusing on databases, back-end logic, application programming interface (APIs), architecture, and servers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Node.js:&lt;/strong&gt; NodeJS is your go-to start in Backend Development. NodeJS is a runtime environment, a runtime environment is an environment in which the program or an application is executed. Node Js allows you to run a program outside the browser like Firefox or Chrome. NodeJS helps Frontend Developers build a program with a programming language they are familiar with. NodeJS can be seen as the backbone of the Backend which runs on a single server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DataBase:&lt;/strong&gt; MongoDB is one of the most common DataBase used to store documents in JSON-like format. MongoDB makes it easy for developers to store structured or unstructured data. Learn &lt;a href="https://www.mongodb.com/resources/products/fundamentals/why-use-mongodb#:~:text=MongoDB%20is%20built%20on%20a,like%20format%20to%20store%20documents."&gt;MongoDB&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PHP:&lt;/strong&gt;  Is a Dynamic interpreted scripting language for building interactive websites on the server, despite haters pronouncing it dead, it remains one of the most popular languages for Backend Development. It powers content management systems like WordPress Wikipedia etc. Php is a widely-used open source general-purpose scripting language that is especially suited for Web Development and can be embedded into HTML. Learn &lt;a href="https://www.php.net/manual/en/intro-whatis.php"&gt;Php&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Python:&lt;/strong&gt; Python is a high-level interpreted program famous for its zen-like codes. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. It is commonly used to build server side applications like web apps with Django framework. It is the language of choice for big data analysis and machine learning. Learn &lt;a href="https://www.python.org/doc/essays/blurb/"&gt;Python&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Full-Stack Development
&lt;/h2&gt;

&lt;p&gt;A full-stack developer is a developer or engineer who can build both the front end and the back end of a website. Integrating front-end and back-end knowledge, focus on creating full-stack applications. Use the technologies learned to build robust, scalable web applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mobile Application Development
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. React Native:&lt;/strong&gt; Transition into Mobile Development with React Native, allowing you to reuse JavaScript knowledge. The official &lt;a href="https://reactnative.dev/"&gt;React Native documentation&lt;/a&gt; is a good starting point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continuous Learning and Specialization&lt;/strong&gt;&lt;br&gt;
The tech landscape evolves rapidly, so continuous learning is crucial. Focus on areas of interest or where job opportunities are growing. Participate in open-source projects, contribute to forums, and attend meetups or conferences to stay current.&lt;/p&gt;

&lt;p&gt;This roadmap provides a structured approach to becoming a versatile full-stack developer capable of handling a wide range of web and Mobile Development challenges. Remember, the key to success in this field is consistent practice and a willingness to adapt to new technologies and methodologies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://survey.stackoverflow.co/2020"&gt;https://survey.stackoverflow.co/2020&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.coursera.org/articles/back-end-developer#:%7E:text=What%20is%20back%2Dend%20development,)%2C%20architecture%2C%20and%20servers"&gt;https://www.coursera.org/articles/back-end-developer#:~:text=What%20is%20back%2Dend%20development,)%2C%20architecture%2C%20and%20servers&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.python.org/doc/essays/blurb/"&gt;https://www.python.org/doc/essays/blurb/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/@Fireship"&gt;https://www.youtube.com/@Fireship&lt;/a&gt;&lt;br&gt;
&lt;a href="https://youtu.be/q-xS25lsN3I?si=KpdKsN1f35fV8Df2"&gt;https://youtu.be/q-xS25lsN3I?si=KpdKsN1f35fV8Df2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Framer Motion: The Ultimate Keyframe Tutorial for Mind-Blowing Animations</title>
      <dc:creator>Princess</dc:creator>
      <pubDate>Tue, 07 Mar 2023 12:33:56 +0000</pubDate>
      <link>https://dev.to/code_duchess/framer-motion-the-ultimate-keyframe-tutorial-for-mind-blowing-animations-1242</link>
      <guid>https://dev.to/code_duchess/framer-motion-the-ultimate-keyframe-tutorial-for-mind-blowing-animations-1242</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;React animations are a powerful way to make your web applications more engaging and dynamic. With animations, you can add personality to your user interfaces, provide visual feedback, and create more immersive experiences for your users. Animations can also help guide users through complex workflows and provide context for actions on the screen.&lt;/p&gt;

&lt;p&gt;One popular library for creating animations in React is Framer Motion. Framer Motion is a simple and easy-to-use library that allows you to create high-quality animations with just a few lines of code. With Framer Motion, you can animate anything in your React components, including the position, size, opacity, and rotation of elements. You can also create more complex animations by using features like drag and drop, gesture recognition, and physics-based animations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To use Framer Motion, there are a few prerequisites you should have in place:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Basic knowledge of HTML, CSS, and JavaScript: Framer Motion is a library for creating animations in React, which is a JavaScript library. You should have a good understanding of HTML and CSS for building web applications, as well as some experience with JavaScript programming.&lt;/li&gt;
&lt;li&gt;Familiarity with React: Framer Motion is a library specifically designed for creating animations in React. Therefore, you should have some experience with React and its basic concepts, such as components, state, and props.&lt;/li&gt;
&lt;li&gt;Code Editor: You will need a code editor to write your React components and Framer Motion animations. There are many popular code editors to choose from, including Visual Studio Code, Sublime Text, and Atom.&lt;/li&gt;
&lt;li&gt;Node.js and NPM: Framer Motion is installed as an NPM package, so you will need to have Node.js and NPM installed on your computer. You can download and install them from the official Node.js website.&lt;/li&gt;
&lt;li&gt;Framer Motion library: Finally, you will need to install the Framer Motion library itself. You can do this by running the command &lt;code&gt;npm install framer-motion&lt;/code&gt; in your project directory.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once you have these prerequisites in place, you are ready to start learning Framer Motion and creating stunning animations for your React applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Animations with Framer Motion
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Keyframes
&lt;/h2&gt;

&lt;p&gt;When creating animations with Framer Motion, you can use keyframes to define the specific values that an animation will take on at different points in time. Here's an overview of the basic keyframes you can use in Framer Motion:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;from&lt;/code&gt; and &lt;code&gt;to&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The &lt;code&gt;from&lt;/code&gt; and &lt;code&gt;to&lt;/code&gt; keyframes define the starting and ending points of an animation. For example, you could create a basic animation that moves an element from left to right using the following keyframes:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const exampleAnimation = {
  from: {
    x: -100,
  },
  to: {
    x: 100,
  },
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this example, the element would start 100 pixels to the left of its original position and move 200 pixels to the right over the course of the animation.&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%2Fpaper-attachments.dropboxusercontent.com%2Fs_0CF2EFFD5821CB970B7D59CE25224A2B54D4D62527EB6C158FA9A78A5835972D_1676921743793_exmple%2B1.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%2Fpaper-attachments.dropboxusercontent.com%2Fs_0CF2EFFD5821CB970B7D59CE25224A2B54D4D62527EB6C158FA9A78A5835972D_1676921743793_exmple%2B1.gif" alt="Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;code&gt;animate&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The &lt;code&gt;animate&lt;/code&gt; keyframe allows you to define a series of keyframes that the animation will transition through over time. For example, you could create an animation that changes the background color of an element from red to blue using the following keyframes:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const exampleAnimation = {
  animate: {
    backgroundColor: ['red', 'blue'],
    transition : {delay: 2}
  },
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this example, the background color would transition smoothly from red to blue over the course of the animation.&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%2Fpaper-attachments.dropboxusercontent.com%2Fs_0CF2EFFD5821CB970B7D59CE25224A2B54D4D62527EB6C158FA9A78A5835972D_1676921804953_exmple%2B3.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%2Fpaper-attachments.dropboxusercontent.com%2Fs_0CF2EFFD5821CB970B7D59CE25224A2B54D4D62527EB6C158FA9A78A5835972D_1676921804953_exmple%2B3.gif" alt="Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;transition&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The &lt;code&gt;transition&lt;/code&gt; keyframe allows you to specify the duration and easing of an animation. For example, you could create an animation that moves an element up and down using the following keyframes:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const exampleAnimation = {
  from: {
    y: 0,
  },
  to: {
    y: 100,
  },
  transition: {
    duration: 1,
    ease: 'easeInOut',
    yoyo: Infinity,
  },
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this example, the element would move 100 pixels up and down over the course of 1 second, using an easing function that starts and ends slowly and speeds up in the middle. The &lt;code&gt;yoyo&lt;/code&gt; property specifies that the animation should repeat indefinitely.&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%2Fpaper-attachments.dropboxusercontent.com%2Fs_0CF2EFFD5821CB970B7D59CE25224A2B54D4D62527EB6C158FA9A78A5835972D_1676921849065_exmple%2B2.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%2Fpaper-attachments.dropboxusercontent.com%2Fs_0CF2EFFD5821CB970B7D59CE25224A2B54D4D62527EB6C158FA9A78A5835972D_1676921849065_exmple%2B2.gif" alt="Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are just a few examples of the keyframes you can use to create animations with Framer Motion. By combining these keyframes and experimenting with different values and options, you can create complex, dynamic animations that bring your website or app to life.&lt;/p&gt;

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

&lt;p&gt;In conclusion, keyframes are an essential tool for creating fluid and dynamic animations in Framer Motion. By defining the properties of an element at specific points in time, you can create animations that respond to user interactions, convey information, and enhance the overall user experience. Whether you're a beginner or an experienced developer, mastering keyframe is a crucial step in creating compelling animations with Framer Motion. So why not give it a try and see how keyframes can elevate your animations to the next level?&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.framer.com/docs/" rel="noopener noreferrer"&gt;Framer Motion official documentation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/c/FramerMotion/videos" rel="noopener noreferrer"&gt;Framer Motion video tutorials on YouTube&lt;/a&gt; &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to Create Toast Notifications in a React Applications</title>
      <dc:creator>Princess</dc:creator>
      <pubDate>Sun, 18 Dec 2022 21:09:30 +0000</pubDate>
      <link>https://dev.to/code_duchess/how-to-create-toast-notifications-in-a-react-applications-3aeo</link>
      <guid>https://dev.to/code_duchess/how-to-create-toast-notifications-in-a-react-applications-3aeo</guid>
      <description>&lt;p&gt;In a web application, toast notifications are an easy and efficient way to give consumers feedback. They can be utilized to notify users of successful or unsuccessful tasks, mistakes, or just to convey a general message. We'll examine utilizing the &lt;a href="https://www.npmjs.com/package/react-toastify" rel="noopener noreferrer"&gt;react-toastify&lt;/a&gt; package to implement toast notifications in a React application. In this article I will show you how to use &lt;a href="https://tailwindcss.com" rel="noopener noreferrer"&gt;Tailwind&lt;/a&gt; to add some stylish design elements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before getting started with this tutorial, you should have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Knowledge of React and Tailwind.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;yarn&lt;/code&gt; or &lt;code&gt;npm&lt;/code&gt; installed as a package manager
## Install the Library&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You must first install the &lt;code&gt;react-toastify&lt;/code&gt; library before you can proceed. Run the following command in your terminal to accomplish this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install react-toastify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn add react-toastify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Import the Library
&lt;/h2&gt;

&lt;p&gt;Before you can import the library, you must first create a &lt;code&gt;src&lt;/code&gt; folder, then a &lt;code&gt;component&lt;/code&gt; folder, and finally a file, which I will name &lt;code&gt;FormPage.js&lt;/code&gt;. Make a file called &lt;code&gt;App.js&lt;/code&gt; in the &lt;code&gt;src&lt;/code&gt; folder.&lt;/p&gt;

&lt;p&gt;Once the library is installed, you'll need to import it into your  &lt;code&gt;FormPage.js&lt;/code&gt; . You can do this by adding the following line of code at the top of your component file:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { toast } from 'react-toastify'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Next, create the &lt;code&gt;handleSumit&lt;/code&gt; function in your &lt;code&gt;FormPage.js&lt;/code&gt;. This function will be responsible for displaying the toast notification. Inside the function, use the toast function to display the notification. &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleSubmit = (event) =&amp;gt; {
  event.preventDefault();
  toast.success("You have registered");
}; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;preventDefault&lt;/code&gt; function is typically used to prevent the default behavior of a form submission event. &lt;br&gt;
When a form is submitted, the default behavior is to send a request to the server, which can result in the current page being reloaded. &lt;br&gt;
When the form is submitted, the &lt;code&gt;handleSubmit&lt;/code&gt; function is called and the &lt;code&gt;event&lt;/code&gt; object is passed as an argument. &lt;br&gt;
The &lt;code&gt;event&lt;/code&gt; object is given a call to the &lt;code&gt;preventDefault&lt;/code&gt; method, which stops the form from being sent to the server. &lt;br&gt;
The &lt;code&gt;toast.success&lt;/code&gt; is a function that is used to display a success message, or "toast," to the user in a web application. &lt;/p&gt;

&lt;h2&gt;
  
  
  Create your form
&lt;/h2&gt;

&lt;p&gt;Now, you need to bind the &lt;code&gt;handleSumit&lt;/code&gt; function to an event in your component. This could be a button click, a form submission, or any other type of event. For example, to display the toast notification when a form is submitted, you could do the following on the &lt;code&gt;FormPage.js&lt;/code&gt;:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const FormPage = () =&amp;gt; {
  return (
    &amp;lt;div className="flex justify-center items-center h-screen"&amp;gt;
      &amp;lt;div className="block p-6 rounded-lg shadow-lg bg-white max-w-sm"&amp;gt;
        &amp;lt;form onSubmit={handleSubmit}&amp;gt;
          &amp;lt;div className="form-group mb-6"&amp;gt;
            &amp;lt;input
              type="text"
              className="form-control block w-full px-3 py-1.5 text-gray-700
              bg-white bg-clip-padding border border-solid border-gray-300
              rounded transition ease-in-out m-0 focus:text-gray-700 
              focus:bg-white focus:border-blue-600 focus:outline-none"
              id="exampleInput90"
              placeholder="Name"
            /&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;div className="form-group mb-6"&amp;gt;
            &amp;lt;input
              type="email"
              className="form-control block w-full px-3 py-1.5 
              text-gray-700 bg-white bg-clip-padding border border-gray-300 
              rounded transition ease-in-out
              m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 
              focus:outline-none"
              id="exampleInput91"
              placeholder="Email address"
            /&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;div className="form-group form-check text-center mb-6"&amp;gt;
            &amp;lt;input
              type="checkbox"
              className="form-check-input appearance-none h-4 w-4 border 
              border-gray-300 rounded-sm bg-white checked:bg-blue-600          
              checked:border-blue-600 focus:outline-none transition duration-200
              mt-1 align-top bg-no-repeat bg-center bg-contain mr-2 cursor-pointer"
              id="exampleCheck96"
              checked
            /&amp;gt;
            &amp;lt;label
              className="form-check-label inline-block text-gray-800"
              for="exampleCheck96"
            &amp;gt;
              I have read and agreed to the terms.
            &amp;lt;/label&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;button
            type="submit"
            className="w-full px-6 py-2.5 bg-blue-600 text-white 
            font-medium text-xs leading-tight uppercase rounded 
            shadow-md hover:bg-blue-700 hover:shadow-lg focus:bg-blue-700
            focus:shadow-lg focus:outline-none focus:ring-0 active:bg-blue-800 
            active:shadow-lg transition duration-150 ease-in-out"
          &amp;gt;
            Subscribe
          &amp;lt;/button&amp;gt;
        &amp;lt;/form&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Here is how your form would look on the browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hblb3gndcbe8pzth88q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hblb3gndcbe8pzth88q.jpg" alt="form page" width="531" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Customizing the Toast Notification
&lt;/h2&gt;

&lt;p&gt;You can customize the appearance and behavior of your toast notifications by passing options as arguments to the &lt;code&gt;ToastContainer&lt;/code&gt;. The &lt;code&gt;ToastContainer&lt;/code&gt; can be used on the &lt;code&gt;App.js&lt;/code&gt;. Import the &lt;code&gt;ToastContainer&lt;/code&gt; from the &lt;code&gt;react-toastify&lt;/code&gt; libary.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { ToastContainer } from "react-toastify"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Some of the options you can use include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;**position**&lt;/code&gt;: Specifies the position on the screen where the notification should be displayed (e.g. top-right, bottom-left).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**autoClose**&lt;/code&gt;: Specifies the duration (in milliseconds) for which the notification should be displayed before it is automatically closed, in (&lt;code&gt;autoClose&lt;/code&gt; 1000 = 1sec).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**hideProgressBar**&lt;/code&gt;: Hides the progress bar that appears at the bottom of the notification.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**newestOnTop**&lt;/code&gt;: This &lt;code&gt;boolean&lt;/code&gt; property determines the order in which toasts are displayed.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**closeOnClick**&lt;/code&gt;: Closes the notification when the user clicks on it.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**rtl**&lt;/code&gt;: Which stands for "right-to-left, is a &lt;code&gt;boolean&lt;/code&gt; property that determines the direction in which toasts are displayed within the toast container.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**draggable**&lt;/code&gt;: Makes the notification draggable by the user.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**pauseOnHover**&lt;/code&gt;: Pauses the auto-close timer when the user hovers over the notification.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's is how example of how  you can use some of these options in the &lt;code&gt;ToastContainer&lt;/code&gt;:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      &amp;lt;ToastContainer 
        position="top-center"
        autoClose={5000}
        hideProgressBar={false}
        newestOnTop={false}
        closeOnClick
        rtl={false}
        pauseOnFocusLoss
        draggable
        pauseOnHover
      /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will display a success notification that will be displayed for 5 seconds, dragged around by the user, closed when clicked, and has a visible progress bar.&lt;/p&gt;

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

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

&lt;p&gt;Finally, React Toast Notification is a useful tool for displaying temporary messages to the user in a visually appealing and customizable manner. Following the steps outlined in this article, you should now have a solid understanding of how to use React Toast Notification in your own projects. Whether you want to notify the user of a success or error message, or simply alert them to new information, React Toast Notification can help you do so in a professional and user-friendly manner. To access my repository, simply follow this link &lt;a href="https://github.com/Uhiene/Form.git" rel="noopener noreferrer"&gt;https://github.com/Uhiene/Form.git&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tailwind-elements.com/docs/standard/forms/form-templates/" rel="noopener noreferrer"&gt;Tailwind Forms component&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://fkhadra.github.io/react-toastify/introduction" rel="noopener noreferrer"&gt;React Toastify GitHub page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.npmjs.com/package/react-toastify" rel="noopener noreferrer"&gt;React Toastify documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
      <category>fastapi</category>
      <category>django</category>
      <category>flask</category>
    </item>
    <item>
      <title>How to use React Router Dom with Tailwind</title>
      <dc:creator>Princess</dc:creator>
      <pubDate>Wed, 14 Dec 2022 13:22:06 +0000</pubDate>
      <link>https://dev.to/code_duchess/how-to-use-react-router-dom-with-tailwind-1f3m</link>
      <guid>https://dev.to/code_duchess/how-to-use-react-router-dom-with-tailwind-1f3m</guid>
      <description>&lt;p&gt;React Router DOM is a popular library for creating routing in a React application, It allows developers to dynamically navigate through web pages.&lt;br&gt;
Tailwind CSS is a utility-based CSS framework that makes it easy to create custom designs without writing any CSS.&lt;br&gt;
In this tutorial I will show you how to install and use React Router DOM in  your code  with Tailwind CSS to create a simple navigation system for a React app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1:
&lt;/h2&gt;

&lt;p&gt;Create a react app and start the server using these commands below.&lt;/p&gt;

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

&lt;/div&gt;

&lt;p&gt;If you are making use of yarn you say.&lt;/p&gt;

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

&lt;/div&gt;

&lt;p&gt;After it is installed you move over to the next step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2:
&lt;/h2&gt;

&lt;p&gt;Install React Router DOM package.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install react-router-dom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;For yarn users.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn install react-router-dom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After it is installed you can confirm in your package.json file.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Step 3
&lt;/h2&gt;

&lt;p&gt;Create a folder name it src, the folder would be used to store react files. create a file inside the src folder, i would call mine Index.js.&lt;/p&gt;

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

&lt;p&gt;In the Index.js file, write the following commands. Importing the components you want to use from each library. For example, to use the BrowserRouter component from React Router.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter } from 'react-router-dom'
import App from './App'

ReactDOM.render(
  &amp;lt;BrowserRouter&amp;gt;
    &amp;lt;App /&amp;gt;
  &amp;lt;/BrowserRouter&amp;gt;,
  document.getElementById('root')
)
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Before the code can run properly without errors we need to import each element from their respective locations.&lt;/p&gt;

&lt;p&gt;A router component can only have one child element, if two elements are used will throw an error message.&lt;br&gt;
The &lt;code&gt;&amp;lt;BrowserRouter&amp;gt;&lt;/code&gt; is housing the &lt;code&gt;&amp;lt;App/&amp;gt;&lt;/code&gt; file, the App.js file is where we will run our codes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4
&lt;/h2&gt;

&lt;p&gt;Create another file in the Src folder and name it App.js.&lt;/p&gt;

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

&lt;p&gt;In the App.js file import &lt;code&gt;Route,&lt;/code&gt; &lt;code&gt;Routes&lt;/code&gt; from 'react-router-dom'.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Route, Routes } from 'react-router-dom'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After importing the elements from their respective location we run the following codes.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Route, Routes } from 'react-router-dom'

function App() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;Routes&amp;gt;
        &amp;lt;Route/&amp;gt;
        &amp;lt;Route/&amp;gt;
      &amp;lt;/Routes&amp;gt;
    &amp;lt;/div&amp;gt;
  )
}

export default App
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The Routes tag house the Route tag. the Route tag is a self closing tag, this is where we specify the path and links to route through.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5
&lt;/h2&gt;

&lt;p&gt;Create a file in the components folder name it Home.js, create another file name it About.js.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2kveuehw8543jq8tm69.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2kveuehw8543jq8tm69.jpg" alt="fig 4" width="357" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6
&lt;/h2&gt;

&lt;p&gt;Now lets work on the individual pages, in the home page we add a header and a text.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from "react"
const Home = () =&amp;gt; {
  return (
    &amp;lt;div className="flex items-center p-10"&amp;gt;
      &amp;lt;h1 className="text-2xl"&amp;gt;Take me to About Page&amp;lt;/h1&amp;gt;
      &amp;lt;button className="bg-blue-500 px-4 text-white ml-4 rounded-full"&amp;gt;
        About
      &amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};
export default Home;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Copy from line 4 to 9 and paste it on the About page. change the text and the button.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from "react"
const About = () =&amp;gt; {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;div className="flex items-center p-10"&amp;gt;
        &amp;lt;h1 className="text-2xl"&amp;gt;Take me to Home Page&amp;lt;/h1&amp;gt;
        &amp;lt;button className="bg-blue-500 px-4 text-white ml-4 rounded-full"&amp;gt;
          Home
        &amp;lt;/button&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};
export default About;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 7
&lt;/h2&gt;

&lt;p&gt;After making the Home and About page, we link the in the App file. Import the Home and About pages and route them in the routes tag, the element key specifies the file to be route, the path key prop specifies the URL path for the route.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Route, Routes } from 'react-router-dom'
import Home from './components/Home'
import About from './components/About'

function App() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;Routes&amp;gt;
        &amp;lt;Route path='/' element={&amp;lt;Home/&amp;gt;} /&amp;gt;
        &amp;lt;Route path='/about' element={&amp;lt;About/&amp;gt;}/&amp;gt;
      &amp;lt;/Routes&amp;gt;
    &amp;lt;/div&amp;gt;
  )
}
export default App
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 8
&lt;/h2&gt;

&lt;p&gt;Head back to the home file and link the button to the About page.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        &amp;lt;Link to="/about"&amp;gt;
          &amp;lt;button className="bg-blue-500 px-4 text-white ml-4 rounded-full"&amp;gt;
            Home
          &amp;lt;/button&amp;gt;
        &amp;lt;/Link&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Go to the About page and do this same.&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        &amp;lt;Link to={"/"}&amp;gt;&lt;br&gt;
          &amp;lt;button className="bg-blue-500 px-4 text-white ml-4 rounded-full"&amp;gt;&lt;br&gt;
            Home&lt;br&gt;
          &amp;lt;/button&amp;gt;&lt;br&gt;
        &amp;lt;/Link&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Step 9&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;Lets check the code on the browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq3o5a2jtyeljl7og4d8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq3o5a2jtyeljl7og4d8.jpg" alt="fig 5" width="708" height="201"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the button to go to the About page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fduxq50v2ekc22i9ahwia.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fduxq50v2ekc22i9ahwia.jpg" alt="fig 6" width="768" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the button again and go back to the Home page. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
React Router is a powerful and flexible library for creating routes in a React.js application. By using React Router, you can easily define the paths that should be rendered in your app, and take advantage of its many useful features.&lt;br&gt;
If you're interested in learning more about React Router, be sure to check out the official documentation, as well as tutorials and other resources online. And if you're ready to start using React Router in your own projects, take a look at the getting started guide to get up and running quickly.&lt;br&gt;
Thanks for reading, and happy routing with React Router!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Author&lt;/strong&gt;&lt;br&gt;
Princess Uhiene is a programmer who is passionate about learning the art of content writing. She is determined to become an expert in the field and is always looking for new ways to improve her skills. In her free time, she enjoys reading books on writing and practicing her craft by writing short stories and blog posts. Princess is known for her creative ideas and clear, concise writing style. She is an avid learner and is always eager to try new things in order to grow as a writer.&lt;/p&gt;

</description>
      <category>career</category>
      <category>softwaredevelopment</category>
      <category>java</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
