<?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: S M Habibul Mursaleen Chowdhury</title>
    <description>The latest articles on DEV Community by S M Habibul Mursaleen Chowdhury (@habibulmursaleen).</description>
    <link>https://dev.to/habibulmursaleen</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%2F1252658%2F62a00be0-7f5e-4ed9-a6a1-a52539c122c9.jpeg</url>
      <title>DEV Community: S M Habibul Mursaleen Chowdhury</title>
      <link>https://dev.to/habibulmursaleen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/habibulmursaleen"/>
    <language>en</language>
    <item>
      <title>Building Modern React Applications with Vite, TypeScript, and Redux</title>
      <dc:creator>S M Habibul Mursaleen Chowdhury</dc:creator>
      <pubDate>Tue, 09 Jan 2024 15:33:15 +0000</pubDate>
      <link>https://dev.to/habibulmursaleen/building-modern-react-applications-with-vite-typescript-and-redux-2o8c</link>
      <guid>https://dev.to/habibulmursaleen/building-modern-react-applications-with-vite-typescript-and-redux-2o8c</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Welcome to the future of React development! Today, we're thrilled to introduce our latest creation: &lt;code&gt;@chowdhury/vite-react-redux-ts-starter&lt;/code&gt;. This starter template is designed to streamline your React projects, combining the power of Vite, TypeScript, and Redux for a seamless development experience.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Fast and Efficient Build
&lt;/h3&gt;

&lt;p&gt;Powered by Vite, a cutting-edge build tool, our template ensures lightning-fast development with quick reload times and efficient bundling.&lt;/p&gt;

&lt;h3&gt;
  
  
  Type-Safe React
&lt;/h3&gt;

&lt;p&gt;Enjoy the benefits of TypeScript, a statically typed superset of JavaScript, to enhance code quality and catch errors early in the development process.&lt;/p&gt;

&lt;h3&gt;
  
  
  State Management with Redux Toolkit
&lt;/h3&gt;

&lt;p&gt;Harness the power of Redux Toolkit for efficient state management, providing a structured and organized way to handle application data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Modern UI Components
&lt;/h3&gt;

&lt;p&gt;Integrate Shadcn/ui, a library of modern UI components built on RadixUI and TailwindCSS. This ensures a sleek and responsive user interface for your applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code Consistency and Quality
&lt;/h3&gt;

&lt;p&gt;We've integrated ESLint and Prettier with airbnb linting to maintain code consistency. Ensure your codebase is clean and well-formatted for optimal collaboration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Comprehensive Testing
&lt;/h3&gt;

&lt;p&gt;Utilize Jest and Testing Library for writing and running tests, along with Playwright for end-to-end testing, ensuring the reliability of your application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pre-Commit Code Quality Checks
&lt;/h3&gt;

&lt;p&gt;Husky and lint-staged automate pre-commit code quality checks, preventing issues before they make their way into your version control system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Follow these simple steps to kickstart your project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Install Node.js:&lt;/strong&gt; Ensure you have Node.js and npm installed on your system. Download and install them from &lt;a href="https://nodejs.org/"&gt;nodejs.org&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a New Project:&lt;/strong&gt; Use the following commands to create and set up a new project:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @chowdhury/vite-react-redux-ts-starter my-app
&lt;span class="nb"&gt;cd &lt;/span&gt;my-app
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Run the Development Server:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Your app will be available at &lt;a href="http://localhost:5173"&gt;http://localhost:5173&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Available Scripts
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;npm run dev&lt;/code&gt;: Start the development server.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run build&lt;/code&gt;: Build the application for production.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run start:dev&lt;/code&gt;: Start the application in development mode.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run lint&lt;/code&gt;: Lint the code using ESLint.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run test&lt;/code&gt;: Run tests using Jest.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run format&lt;/code&gt;: Format the code using Prettier.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run preview&lt;/code&gt;: Preview the production build locally.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm run precommit&lt;/code&gt;: Run linting and formatting checks before committing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Configuration
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;tsconfig.json&lt;/code&gt;: TypeScript configuration.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;.eslintrc.js&lt;/code&gt; and &lt;code&gt;.prettierrc.js&lt;/code&gt;: ESLint and Prettier configurations.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tailwind.config.js&lt;/code&gt;: Tailwind CSS configuration.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;browserslist&lt;/code&gt;: Browserslist configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Folder Structure
&lt;/h2&gt;

&lt;p&gt;Explore a well-organized folder structure for efficient development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;src&lt;/code&gt;: Main source code directory.

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;app&lt;/code&gt;: Core application files.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assets&lt;/code&gt;: Assets like images.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;components&lt;/code&gt;, &lt;code&gt;features&lt;/code&gt;, &lt;code&gt;hooks&lt;/code&gt;, &lt;code&gt;page&lt;/code&gt;, &lt;code&gt;routes&lt;/code&gt;, &lt;code&gt;styles&lt;/code&gt;, &lt;code&gt;test&lt;/code&gt;, &lt;code&gt;types&lt;/code&gt;, &lt;code&gt;utils&lt;/code&gt;: Organized folders for various aspects of your project.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Expanding ESLint Configuration
&lt;/h2&gt;

&lt;p&gt;For production applications, enhance ESLint configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;parserOptions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;ecmaVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;latest&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;sourceType&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;module&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;project&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./tsconfig.json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./tsconfig.node.json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="nx"&gt;tsconfigRootDir&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;__dirname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;This starter template is open-source and available under the MIT License. Contributions from the community are welcome!&lt;/p&gt;

&lt;h2&gt;
  
  
  Credits
&lt;/h2&gt;

&lt;p&gt;Created and maintained by S M Habibul Mursaleen Chowdhury.&lt;/p&gt;

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

&lt;p&gt;With &lt;code&gt;@chowdhury/vite-react-redux-ts-starter&lt;/code&gt;, you have the foundation for building modern React applications. Embrace the future of web development and accelerate your project with this powerful template. If you encounter any issues or have suggestions, feel free to contribute on &lt;a href="https://github.com/habibulmursaleen/vite-react-ts-starter"&gt;GitHub&lt;/a&gt;. Happy coding!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
