<?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: Tanvesh sarve</title>
    <description>The latest articles on DEV Community by Tanvesh sarve (@tanvesh01).</description>
    <link>https://dev.to/tanvesh01</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%2F300665%2Fa8985194-9555-4bf9-b352-6c26a97c6262.JPG</url>
      <title>DEV Community: Tanvesh sarve</title>
      <link>https://dev.to/tanvesh01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanvesh01"/>
    <language>en</language>
    <item>
      <title>Automating deployment with React and Firebase and GitHub actions!</title>
      <dc:creator>Tanvesh sarve</dc:creator>
      <pubDate>Mon, 07 Sep 2020 12:02:03 +0000</pubDate>
      <link>https://dev.to/tanvesh01/automating-deployment-with-react-and-firebase-and-github-actions-1bel</link>
      <guid>https://dev.to/tanvesh01/automating-deployment-with-react-and-firebase-and-github-actions-1bel</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;My Workflow&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Automating the deployment of your side-projects is one of the best things you could for your future self. Also known as &lt;strong&gt;Continuous deployment&lt;/strong&gt; or CD. In this blog, we will be using Firebase for free hosting and Github actions for continuous deployments.&lt;/p&gt;

&lt;p&gt;If you are here then you probably know about firebase, its a development platform by Google that offers services such as hosting, realtime database, cloud storage, etc.&lt;/p&gt;

&lt;p&gt;If you have never deployed a react app before with firebase, there are tons of tutorials out there but here is &lt;a href="https://www.youtube.com/watch?v=ji6urVl6oP4"&gt;One&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wrote a GitHub action to build and deploy my side project to firebase when pushed to its repo.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When writing your own action, make sure you have your &lt;code&gt;FIREBASE_TOKEN&lt;/code&gt; ready. You can also generate your own by doing this on your terminal inside your repo :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;firebase login:ci
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;and add this token to the secrets of your GitHub repo as &lt;code&gt;FIREBASE_TOKEN&lt;/code&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;strong&gt;Submission Category:&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;DIY Deployments&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;strong&gt;Yaml File or Link to Code&lt;/strong&gt;
&lt;/h1&gt;


&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Firebase Deploy
on:
  push:
    branches:
      - master

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Install Dependencies
        run: npm install
      - name: Build
        run: npm run build
      - name: Archive Production Artifact
        uses: actions/upload-artifact@master
        with:
          name: build
          path: build
  deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Download Artifact
        uses: actions/download-artifact@master
        with:
          name: build
          path: build
      - name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Here is the link to the main.yml file : &lt;a href="https://github.com/tanvesh01/CoronaTrackerApp/blob/master/.github/workflows/main.yml"&gt;main.yml&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Here is the repo&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/tanvesh01"&gt;
        tanvesh01
      &lt;/a&gt; / &lt;a href="https://github.com/tanvesh01/CoronaTrackerApp"&gt;
        CoronaTrackerApp
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A Corona Tracker App, track the number of COVID positives, recovered and deaths in India and the world
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;This project was bootstrapped with &lt;a href="https://github.com/facebook/create-react-app"&gt;Create React App&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Available Scripts&lt;/h2&gt;
&lt;p&gt;In the project directory, you can run:&lt;/p&gt;
&lt;h3&gt;
&lt;code&gt;npm start&lt;/code&gt;
&lt;/h3&gt;
&lt;p&gt;Runs the app in the development mode.&lt;br&gt;
Open &lt;a href="http://localhost:3000" rel="nofollow"&gt;http://localhost:3000&lt;/a&gt; to view it in the browser.&lt;/p&gt;
&lt;p&gt;The page will reload if you make edits.&lt;br&gt;
You will also see any lint errors in the console.&lt;/p&gt;
&lt;h3&gt;
&lt;code&gt;npm test&lt;/code&gt;
&lt;/h3&gt;
&lt;p&gt;Launches the test runner in the interactive watch mode.&lt;br&gt;
See the section about &lt;a href="https://facebook.github.io/create-react-app/docs/running-tests" rel="nofollow"&gt;running tests&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h3&gt;
&lt;code&gt;npm run build&lt;/code&gt;
&lt;/h3&gt;
&lt;p&gt;Builds the app for production to the &lt;code&gt;build&lt;/code&gt; folder.&lt;br&gt;
It correctly bundles React in production mode and optimizes the build for the best performance.&lt;/p&gt;
&lt;p&gt;The build is minified and the filenames include the hashes.&lt;br&gt;
Your app is ready to be deployed!&lt;/p&gt;
&lt;p&gt;See the section about &lt;a href="https://facebook.github.io/create-react-app/docs/deployment" rel="nofollow"&gt;deployment&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h3&gt;
&lt;code&gt;npm run eject&lt;/code&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Note: this is a one-way operation. Once you &lt;code&gt;eject&lt;/code&gt;, you can’t go back!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you aren’t satisfied with the build tool…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/tanvesh01/CoronaTrackerApp"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;h1&gt;
  
  
  &lt;strong&gt;Additional Resources / Info&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A similar tutorial for Angular folks :&lt;br&gt;
&lt;a href="https://fireship.io/snippets/github-actions-deploy-angular-to-firebase-hosting/"&gt;Link&lt;/a&gt;&lt;/p&gt;

</description>
      <category>actionshackathon</category>
    </item>
    <item>
      <title>React + Redux Setup with Redux-toolkit ⚛</title>
      <dc:creator>Tanvesh sarve</dc:creator>
      <pubDate>Sat, 22 Aug 2020 14:57:18 +0000</pubDate>
      <link>https://dev.to/tanvesh01/react-redux-setup-with-redux-toolkit-4ojm</link>
      <guid>https://dev.to/tanvesh01/react-redux-setup-with-redux-toolkit-4ojm</guid>
      <description>&lt;h2&gt;
  
  
  What every other post about Redux on the internet says: 😶
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;"Don't use Redux, it has too much boilerplate". &lt;/p&gt;

&lt;p&gt;"Oh, man! I have to do so many npm installs"  &lt;/p&gt;

&lt;p&gt;"You have to write so much code, just to configure it!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Never heard of Redux or super new to it? &lt;em&gt;I gotch you&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;This is one of the best explanations of Redux. &lt;a href="https://www.freecodecamp.org/news/an-intro-to-redux-and-how-state-is-updated-in-a-redux-application-839c8334d1b1/#:~:text=The%20only%20way%20to%20update%20a%20state%20inside%20a%20store,what%20Redux%20is%20all%20about." rel="noopener noreferrer"&gt;Here ya go!&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Why use Redux Toolkit? 🤷‍♂️
&lt;/h2&gt;

&lt;p&gt;Redux toolkit includes all the functions or "tools", you want for a Redux application. At the end of the day,  less code and faster setups of Redux in every scenario.&lt;/p&gt;

&lt;p&gt;Here's what the  &lt;a href="https://redux-toolkit.js.org/" rel="noopener noreferrer"&gt;Official docs&lt;/a&gt; said :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;These tools should be beneficial to all Redux users&lt;/strong&gt;. Whether you're a brand new Redux user setting up your first project, or an experienced user who wants to simplify an existing application, Redux Toolkit can help you make your Redux code better.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Setup create-react-app with Redux 🔨
&lt;/h2&gt;

&lt;p&gt;Create-react-app gives you a basic React app so don't have to setup React yourself. Install it globally, if haven't already.&lt;/p&gt;

&lt;p&gt;Do this on your terminal :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx install -g create-react-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then to create your React app and cd into the root directory of 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;create-react-app react-redux
cd react-redux
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we will install redux&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install --save react-redux @reduxjs/toolkit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We will be following this &lt;strong&gt;folder structure&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%2Fi%2Fs9twi2r7pceids2oidro.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%2Fi%2Fs9twi2r7pceids2oidro.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Now we have to configure our &lt;strong&gt;Store&lt;/strong&gt;, now this is where you'll the magic redux toolkit! Now create a folder called &lt;code&gt;store&lt;/code&gt; and under that a file called  &lt;code&gt;reducerConfig.js&lt;/code&gt; containing&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { configureStore } from "@reduxjs/toolkit";
import { combineReducers } from "redux";
const reducer = combineReducers({
    // we will return here, you have to include all your Reducers here!
});
const store = configureStore({
    reducer,
});
export default store;

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

&lt;/div&gt;



&lt;p&gt;Here  &lt;a href="https://redux-toolkit.js.org/api/configureStore" rel="noopener noreferrer"&gt;&lt;code&gt;configureStore({})&lt;/code&gt;&lt;/a&gt; wraps &lt;code&gt;createStore()&lt;/code&gt; to simplify the configuration for us. You can add whatever Redux middleware you want to supply and it already includes &lt;code&gt;redux-thunk&lt;/code&gt; and has already enabled &lt;a href="https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en" rel="noopener noreferrer"&gt;Redux DevTools Extension&lt;/a&gt; (&lt;strong&gt;install this!&lt;/strong&gt;).&lt;br&gt;
People who have used Redux before could already see how much work is handled by Redux Toolkit.&lt;/p&gt;

&lt;p&gt;Now we need to connect our store to our app or just wrap it with &lt;br&gt;
Redux. Import &lt;code&gt;reduxConfig.js&lt;/code&gt; and &lt;code&gt;Provider&lt;/code&gt; from react-redux into &lt;code&gt;src/index.js&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;....
....
import store from "./store/reducerConfig";
import { Provider } from "react-redux";

ReactDOM.render(
    &amp;lt;React.StrictMode&amp;gt;
        &amp;lt;Provider store={store}&amp;gt;
            &amp;lt;App /&amp;gt;
        &amp;lt;/Provider&amp;gt;
    &amp;lt;/React.StrictMode&amp;gt;,
    document.getElementById("root")
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now start your application with &lt;code&gt;npm start&lt;/code&gt; and open up Redux DevTools, you should see &lt;code&gt;@@INIT&lt;/code&gt;. Congrats you have setup Redux with React!! 🥳️&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use Redux in your project? 🤔
&lt;/h2&gt;

&lt;p&gt;Just to understand the workflow we will build a &lt;em&gt;simple&lt;/em&gt; counter app.&lt;br&gt;
Make a folder under our store called "actions" and then make a file called &lt;code&gt;counterActions.js&lt;/code&gt;,&lt;br&gt;
&lt;code&gt;store/actions/counterActions.js&lt;/code&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// This is a Action Type, you can move this to  another file and export it 
// from there -- its called "best practice" :)
export const ADD = "ADD";  
// This is the "Action" it self which indicates which reducer which will be called
export const inc = () =&amp;gt; {
    return {
        type: ADD,
    };
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we are going to create &lt;em&gt;Reducers&lt;/em&gt;. This is where we will initialize our state and make changes to it.&lt;br&gt;
&lt;strong&gt;If the concept of actions and reducers are not making sense right now, it will in a second.&lt;/strong&gt; Now we create a folder called "reducers" and then create a file inside it called "counter.js".&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src/store/reducers/counter.js&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { ADD } from "../Actions/counterActions";

const initState = { // this is your initial state.
    counter: 0, // variable inside your state, too keep track of the count.
};
// assigning initial state and receiving actions as arguments.
const reducer = (state = initState, actions) =&amp;gt; { 
    switch (actions.type) {
        case ADD:
            return {
                ...state, // here you copy the state and make changes to it.
                counter: state.counter + 1,
            };
        default:
            return state;  // Have to return state as a default
    }
};
export default reducer;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here a specific part of the state is updated according to the action dispatched by our frontend.&lt;br&gt;
Here is what Freecodecamp had to say: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The only way to update a state inside a store is to dispatch an action and define a reducer function to perform tasks based on the given actions. Once dispatched, the action goes inside the reducer functions which performs the tasks and return the updated state to the store. This is what Redux is all about.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now in our &lt;code&gt;reduxConfig.js&lt;/code&gt; file add our reducer that we just created&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.
.
import counter from "./reducers/counter";
const reducer = combineReducers({
    counter, // put all your reducers here!  
});
.
.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Handling Redux in our React code ⚛
&lt;/h2&gt;

&lt;p&gt;In your &lt;code&gt;src/App.js&lt;/code&gt; file paste the following React code :&lt;br&gt;
&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 { useDispatch, useSelector } from "react-redux";
import { add } from "./store/Actions/counterActions";
function App() {
    const dispatch = useDispatch();
    const { counter } = useSelector((state) =&amp;gt; state.counter);
    return (
        &amp;lt;div style={{ textAlign: "center" }}&amp;gt;
            &amp;lt;div&amp;gt;
                &amp;lt;p style={{ margin: "1rem" }}&amp;gt;{counter}&amp;lt;/p&amp;gt;
                &amp;lt;button onClick={() =&amp;gt; dispatch(add())}&amp;gt; Add +1 &amp;lt;/button&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;Here &lt;code&gt;useDispatch()&lt;/code&gt; is provided by &lt;code&gt;"react-redux"&lt;/code&gt; and used to dispatch our actions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; const dispatch = useDispatch();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remember the name of our reducer we imported in &lt;code&gt;reducerConfig.js&lt;/code&gt;, that's the name we have to use when using the &lt;code&gt;useSelector()&lt;/code&gt; hook. It receives our state in arguments and then we can extract every other variable in our state with the help of destructuring :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const { counter } = useSelector((state) =&amp;gt; state.counter);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now in your Terminal, to start 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;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now your app should look like this : &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%2Fi%2Fe5stunwoiyqp291hue3x.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%2Fi%2Fe5stunwoiyqp291hue3x.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Congrats you made it! 🥳️
&lt;/h1&gt;

&lt;p&gt;You have setup react and Redux! &lt;strong&gt;There are obviously many complex use cases of Redux which I will cover in the upcoming blogs&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Inspiring lyrics from Hip-hop (You'll find these in every one of my blogs)
&lt;/h4&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%2Fi%2Fox80d25m643y4uomns3n.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%2Fi%2Fox80d25m643y4uomns3n.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;-Logic, Under Pressure&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>redux</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Sup!👋</title>
      <dc:creator>Tanvesh sarve</dc:creator>
      <pubDate>Wed, 19 Aug 2020 14:33:11 +0000</pubDate>
      <link>https://dev.to/tanvesh01/sup-37k1</link>
      <guid>https://dev.to/tanvesh01/sup-37k1</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;I am Tanvesh Sarve, a "Full-stack 10x" Developer&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;(not really! ayy don't tell nobody tho)&lt;/p&gt;

&lt;p&gt;ok, we friends now? &lt;em&gt;cool.&lt;/em&gt;&lt;br&gt;
This right here is my first blog &lt;em&gt;ever&lt;/em&gt;. &lt;br&gt;
AND&lt;br&gt;
I have heard that writing blogs or making videos on a topic actually gets you access to&lt;br&gt;
an eight-dimensional world where you are learning at 8x &lt;em&gt;speeeeed&lt;/em&gt;, just to ensure you don't get it wrong because at the end day, &lt;strong&gt;You&lt;/strong&gt; are teaching people!&lt;/p&gt;

&lt;p&gt;SOO here I am trying to make great coding tutorials on everything really with the help of this great platform 👋. I really appreciate and thank every one of this tech community and my lovely people on  &lt;a href="https://twitter.com/Sarve___tanvesh"&gt;twitter&lt;/a&gt; . &lt;/p&gt;

&lt;p&gt;Please expect a load of tutorials on React and Redux. Because I just &lt;strong&gt;LOOVE&lt;/strong&gt; them.&lt;/p&gt;

&lt;p&gt;Fun fact: I just gave a coding test from Google India for an internship there. Not my best performance on a coding test for sure. BUT you know how google is? the same ol' google! testing talented people on the thing which they are never going to use in the &lt;strong&gt;JOB ITSELF!&lt;/strong&gt; * I mean, I am not mad or anything. *&lt;br&gt;
*&lt;em&gt;So people at DEV reading this somehow and you guys have any position for interns you know who to contact. *wink&lt;/em&gt;.&lt;br&gt;
**&lt;br&gt;
Here is a project i did recently:&lt;/p&gt;

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

&lt;p&gt;I am a MASSIVE fan of hip-hop, so in every blog, I write I'll have some motivational quote from the industry&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XVm0u-Y0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gcm7le1oxo196oo2bawp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XVm0u-Y0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gcm7le1oxo196oo2bawp.png" alt="Amen"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Logic, Amen, 2020.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>inthirtyseconds</category>
      <category>react</category>
      <category>redux</category>
    </item>
  </channel>
</rss>
