<?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: Anunirva</title>
    <description>The latest articles on DEV Community by Anunirva (@manureddy94).</description>
    <link>https://dev.to/manureddy94</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%2F141259%2F2e7e585b-38bb-435e-93e4-2a98d64ffb48.jpg</url>
      <title>DEV Community: Anunirva</title>
      <link>https://dev.to/manureddy94</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manureddy94"/>
    <language>en</language>
    <item>
      <title>PAGINATION in pieces</title>
      <dc:creator>Anunirva</dc:creator>
      <pubDate>Fri, 08 Oct 2021 13:46:24 +0000</pubDate>
      <link>https://dev.to/manureddy94/pagination-in-pieces-2io8</link>
      <guid>https://dev.to/manureddy94/pagination-in-pieces-2io8</guid>
      <description>&lt;h2&gt;
  
  
  Pagination
&lt;/h2&gt;

&lt;p&gt;Instead of dumping and confusing the END USER with all the data we have on the server at once, we can use concept of pagination.&lt;/p&gt;

&lt;p&gt;Here we will present data in chunks, so basically we will feed small piece of pizza slice instead of the 12' pizza at once.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benefits
&lt;/h3&gt;

&lt;p&gt;We can reduce the end point API response time as we are requesting only small piece of data. Consider the server has users list of 43,890 records instead of pumping all the records at once, we will pass the EXACT needed slice of record based on the where the user is.&lt;/p&gt;

&lt;h3&gt;
  
  
  Show the logic
&lt;/h3&gt;

&lt;p&gt;Here are few things we need to keep in mind while designing pagination concept.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Number of records we need to show on each page (5,10,15)&lt;/li&gt;
&lt;li&gt;How many number of pages you want to show the end user (&amp;lt;,1,2,3 &amp;gt; or &amp;lt;1,2,3,4,5)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here i'm taking JavaScript as my coding language, consider the data is residing inside the huggeeeee array. To extract piece of data at specific place from an array can be done by using SLICE&lt;/p&gt;

&lt;p&gt;Array.slice(startIndex, endIndex), this will provide you the data at that frame.&lt;/p&gt;

&lt;p&gt;Now how to calculate startIndex &amp;amp; endIndex &lt;/p&gt;

&lt;p&gt;dataLimit = the number of records we want to show on the page!&lt;/p&gt;

&lt;p&gt;endIndex = startIndex + dataLimit;&lt;/p&gt;

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

&lt;p&gt;Now what about startIndex&lt;/p&gt;

&lt;p&gt;startIndex = (pageNumber * dataLimit) - dataLimit&lt;/p&gt;

&lt;p&gt;consider dataLimit = 10 records per page.&lt;/p&gt;

&lt;p&gt;so for the first page startIndex = (1 * 10) - 10 = 0&lt;/p&gt;

&lt;p&gt;now the endIndex will be = 0 + 10 = 10;&lt;/p&gt;

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

&lt;p&gt;Also to get the paginationGroup, ie how many pages we want to show on the UI&lt;/p&gt;

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

&lt;p&gt;consider pageLimit = 5, we show atleast 5 pages eveytime&lt;/p&gt;

&lt;p&gt;let start = Math.floor((currentPage - 1) / pageLimit) * pageLimit;&lt;/p&gt;

&lt;p&gt;return new Array(pageLimit).fill().map((_, idx) =&amp;gt; start + idx + 1); &lt;/p&gt;

&lt;p&gt;hey future you, i hope that makes sense. &lt;/p&gt;

&lt;p&gt;Links used for reference:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://academind.com/tutorials/reactjs-pagination"&gt;https://academind.com/tutorials/reactjs-pagination&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>pagination</category>
      <category>logic</category>
    </item>
    <item>
      <title>Introducing JATAYU !</title>
      <dc:creator>Anunirva</dc:creator>
      <pubDate>Fri, 24 Sep 2021 06:13:56 +0000</pubDate>
      <link>https://dev.to/manureddy94/introducing-jatayu-3no</link>
      <guid>https://dev.to/manureddy94/introducing-jatayu-3no</guid>
      <description>&lt;h2&gt;
  
  
  JATAYU  🦅
&lt;/h2&gt;

&lt;p&gt;Jatayu is a command line interface (CLI) tool which helps to generate production ready hand-made React templates for the App (web-app) or Library (components) development. 🚀    &lt;/p&gt;

&lt;p&gt;See npm package details here &lt;a href="https://www.npmjs.com/package/jatayu" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See Repo here &lt;a href="https://github.com/manjureddy7/jatayu" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the purpose of JATAYU ? 💁
&lt;/h2&gt;

&lt;p&gt;Did you ever tried setting up your own &lt;code&gt;react&lt;/code&gt; environment without &lt;code&gt;create-react-app&lt;/code&gt; ? Then you know the pain behind it. Adding &lt;code&gt;testing support | webpack | typescript | docker&lt;/code&gt; will just increases that pain. 😪   &lt;/p&gt;

&lt;p&gt;&lt;code&gt;JATAYU&lt;/code&gt; is that pain killer 💊. If you want to have custom template setup for your react web app or component library without the need of CRA or it's alternatives, &lt;code&gt;JATAYU&lt;/code&gt; to the rescue. 🥳   &lt;/p&gt;

&lt;p&gt;We provide you the skeleton template structure and sky is the limit for it's tuning.&lt;/p&gt;

&lt;p&gt;At its very core &lt;code&gt;JATAYU&lt;/code&gt; offers below described templates with both Typescript &amp;amp; Javascript support as template supporting languages and Docker setup (for web apps).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  1.React Component Library
  2.React Web App
  3.React Web App with Redux
  4.React Web App with Redux Toolkit
  5.React Web App with Context
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you choose any one of the above projects, we provide you the ready-made template structure.&lt;/p&gt;

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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Template Type/Support&lt;/th&gt;
&lt;th&gt;Webpack&lt;/th&gt;
&lt;th&gt;Testing (@testing-library)&lt;/th&gt;
&lt;th&gt;Storybook&lt;/th&gt;
&lt;th&gt;Typescript&lt;/th&gt;
&lt;th&gt;State Management&lt;/th&gt;
&lt;th&gt;Lint&lt;/th&gt;
&lt;th&gt;Build&lt;/th&gt;
&lt;th&gt;Docker&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;React Component Library&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React Web App&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React Web App with Redux&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React Web App with Redux Toolkit&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React Web App with Context API&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Installation 🔨
&lt;/h2&gt;

&lt;p&gt;Use the package manager &lt;a href="https://www.npmjs.com/" rel="noopener noreferrer"&gt;npm&lt;/a&gt; to install jatayu globally.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; jatayu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage ⚠️ ✅
&lt;/h2&gt;

&lt;p&gt;After installation, create an empty directory anywhere you want and type &lt;code&gt;jatayu&lt;/code&gt; in the terminal of the newly created folder. Voila! you will be prompted to answer two basic questions go ahead and answer them !&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  1. Please enter directory name where your react template will reside

  2. Please select template type  (Use arrow keys)

    React Component Library  
    React Web App  
    React Web App with Redux 
    React Web App with Redux Toolkit
    React Web App with Context  

  3. Please select template support 

     Javascript(JS)
     Typescript(TS) 

  4. Do you want to add docker to the Template ? (if you select app template)

      Yes
      No
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enter the directory name where you want to &lt;code&gt;setup&lt;/code&gt; react app and select the &lt;code&gt;type of project&lt;/code&gt; you want.&lt;/p&gt;

&lt;h3&gt;
  
  
  Steps after installing the project  📌
&lt;/h3&gt;

&lt;h4&gt;
  
  
  If you select Web App or Library template without Docker support:
&lt;/h4&gt;

&lt;p&gt;Now &lt;code&gt;cd&lt;/code&gt; to the newly created folder by &lt;code&gt;jatayu&lt;/code&gt; and do npm install. It's good to update your newly created &lt;code&gt;node_modules&lt;/code&gt; by &lt;code&gt;npm outdated&lt;/code&gt; you will get list of outdated &lt;code&gt;node_modules&lt;/code&gt;, update them by &lt;code&gt;npm update&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Start the template by &lt;code&gt;npm run start&lt;/code&gt; (if you have chosen webapp template) or &lt;code&gt;npm run storybook&lt;/code&gt; (if it is library template)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="sb"&gt;`&lt;/span&gt;your-newly-created-folder&lt;span class="sb"&gt;`&lt;/span&gt;

npm &lt;span class="nb"&gt;install

&lt;/span&gt;run -&amp;gt; npm run start &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;if &lt;/span&gt;you have chosen webapp template&lt;span class="o"&gt;)&lt;/span&gt;

       or

       npm run storybook &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;if &lt;/span&gt;it is library template&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  If you chose to add Docker to the App template
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="sb"&gt;`&lt;/span&gt;your-newly-created-folder&lt;span class="sb"&gt;`&lt;/span&gt;

dev-run -&amp;gt; docker compose up &lt;span class="nt"&gt;--build&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;starts dev server, please navigate to http:localhost:5200 to see your App up and rolling!&lt;span class="o"&gt;)&lt;/span&gt;

build -&amp;gt; docker compose &lt;span class="nt"&gt;-f&lt;/span&gt; docker-compose.prod.yml up &lt;span class="nt"&gt;--build&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;to build and run on dist folder, please navigate to http:localhost:1337 to see your App up and rolling!&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What's next in the store?
&lt;/h2&gt;

&lt;p&gt;We have plans to make &lt;code&gt;JATAYU&lt;/code&gt; library/framework independent. So that &lt;code&gt;JATAYU&lt;/code&gt; can offer custom templates to Angular, Vue, Svelte etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  Upcoming templates:
&lt;/h3&gt;



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

  Full stack MERN combo (MongoDB+Express+React+Node)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Screenshots  💣
&lt;/h2&gt;

&lt;p&gt;Screenshots of the flow&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%2Fuser-images.githubusercontent.com%2F22653056%2F133246794-51cca84e-4798-48ca-990b-93d474892ad1.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%2Fuser-images.githubusercontent.com%2F22653056%2F133246794-51cca84e-4798-48ca-990b-93d474892ad1.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter directory name&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%2Fuser-images.githubusercontent.com%2F22653056%2F133246843-aca54d67-a711-4efe-9750-1cff05aa60ea.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%2Fuser-images.githubusercontent.com%2F22653056%2F133246843-aca54d67-a711-4efe-9750-1cff05aa60ea.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select template type&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%2Fuser-images.githubusercontent.com%2F22653056%2F133246938-0ddbc77f-0abd-4876-9d37-22a333498c96.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%2Fuser-images.githubusercontent.com%2F22653056%2F133246938-0ddbc77f-0abd-4876-9d37-22a333498c96.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select template supporting language type&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%2Fuser-images.githubusercontent.com%2F22653056%2F133998744-c6b5dbef-d5b9-44b5-88fb-19c82b4d7a16.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%2Fuser-images.githubusercontent.com%2F22653056%2F133998744-c6b5dbef-d5b9-44b5-88fb-19c82b4d7a16.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Need docker support?&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%2Fuser-images.githubusercontent.com%2F22653056%2F133998644-d3ed8942-1759-4a74-aae7-12550e0007da.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%2Fuser-images.githubusercontent.com%2F22653056%2F133998644-d3ed8942-1759-4a74-aae7-12550e0007da.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Successful template creation without docker&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%2Fuser-images.githubusercontent.com%2F22653056%2F133447935-46b3e6ac-41b1-4f18-85f3-3f61031e9de4.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%2Fuser-images.githubusercontent.com%2F22653056%2F133447935-46b3e6ac-41b1-4f18-85f3-3f61031e9de4.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Successful template creation with docker&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%2Fuser-images.githubusercontent.com%2F22653056%2F133998921-b9b6f506-2826-42bd-9632-06a4867071b6.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%2Fuser-images.githubusercontent.com%2F22653056%2F133998921-b9b6f506-2826-42bd-9632-06a4867071b6.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Enough with the theory, let's see Jatayu in action   💣
&lt;/h2&gt;

&lt;p&gt;I want to setup React Web App with Redux, let's find out how Jatayu helps us!&lt;/p&gt;

&lt;p&gt;I will chose my directory as &lt;code&gt;hello&lt;/code&gt; select React Web App with Redux template with Typescript support.&lt;/p&gt;

&lt;p&gt;Project Templates:&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%2Fuser-images.githubusercontent.com%2F22653056%2F134620513-fc845436-c5e9-4a76-83d0-ea14db66fd5c.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%2Fuser-images.githubusercontent.com%2F22653056%2F134620513-fc845436-c5e9-4a76-83d0-ea14db66fd5c.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Expannded view:&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%2Fuser-images.githubusercontent.com%2F22653056%2F134620580-6ed75378-38c0-418c-8b7f-f1535bf3b1fe.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%2Fuser-images.githubusercontent.com%2F22653056%2F134620580-6ed75378-38c0-418c-8b7f-f1535bf3b1fe.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Install all the dependencies by &lt;code&gt;npm install&lt;/code&gt; command in the terminal and then&lt;/p&gt;

&lt;h3&gt;
  
  
  without docker support
&lt;/h3&gt;

&lt;p&gt;Run the template by &lt;code&gt;npm run start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;(broswer open with localhost:5203)&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%2Fuser-images.githubusercontent.com%2F22653056%2F134621487-9ea97c8d-496e-4d31-9187-49ee3282d66c.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%2Fuser-images.githubusercontent.com%2F22653056%2F134621487-9ea97c8d-496e-4d31-9187-49ee3282d66c.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F22653056%2F134621559-86b6ea6c-7cd1-45ef-a4fd-53ea06bb1097.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%2Fuser-images.githubusercontent.com%2F22653056%2F134621559-86b6ea6c-7cd1-45ef-a4fd-53ea06bb1097.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  with docker support
&lt;/h3&gt;

&lt;p&gt;Run the template by &lt;code&gt;docker compose up -d --build&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;(Open broswer with localhost:5200)&lt;/p&gt;

&lt;p&gt;Always make sure the ports defined in the docker-compose.yml file and npm start script file are always same.&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%2Fuser-images.githubusercontent.com%2F22653056%2F134621487-9ea97c8d-496e-4d31-9187-49ee3282d66c.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%2Fuser-images.githubusercontent.com%2F22653056%2F134621487-9ea97c8d-496e-4d31-9187-49ee3282d66c.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F22653056%2F134621559-86b6ea6c-7cd1-45ef-a4fd-53ea06bb1097.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%2Fuser-images.githubusercontent.com%2F22653056%2F134621559-86b6ea6c-7cd1-45ef-a4fd-53ea06bb1097.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  License 🦔
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://choosealicense.com/licenses/mit/" rel="noopener noreferrer"&gt;MIT&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback  📣
&lt;/h2&gt;

&lt;p&gt;If you have any feedback, please reach out to us at &lt;a href="mailto:manoj.gangavarapuu@gmail.com"&gt;manoj.gangavarapuu@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>docker</category>
      <category>typescript</category>
      <category>redux</category>
    </item>
  </channel>
</rss>
