<?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: s1varam</title>
    <description>The latest articles on DEV Community by s1varam (@s1varam).</description>
    <link>https://dev.to/s1varam</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%2F653349%2Ff914d9d4-3b44-480e-be89-53adbdde547e.png</url>
      <title>DEV Community: s1varam</title>
      <link>https://dev.to/s1varam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/s1varam"/>
    <language>en</language>
    <item>
      <title>Wordyl - Yet another Wordle clone!</title>
      <dc:creator>s1varam</dc:creator>
      <pubDate>Tue, 01 Mar 2022 07:58:15 +0000</pubDate>
      <link>https://dev.to/s1varam/wordyl-yet-another-wordle-clone-1b6g</link>
      <guid>https://dev.to/s1varam/wordyl-yet-another-wordle-clone-1b6g</guid>
      <description>&lt;p&gt;After my first React project - &lt;a href="https://github.com/s1varam/pokedex"&gt;Pokedex&lt;/a&gt;, it took a while before starting the next one. This time I made sure to learn and use &lt;strong&gt;functional components&lt;/strong&gt;, since I used classes in the former one. Initially, I was so hesitant in switching to hooks, but once I got the hang of it, I found it to be easier than classes. &lt;/p&gt;

&lt;p&gt;Now - what to build? Since I wanted to get familiar with hooks, I didn't want to build something complex. Hence I chose to build &lt;strong&gt;&lt;a href="https://wordyll.netlify.app/"&gt;WORDYL&lt;/a&gt;&lt;/strong&gt; - a simple clone of the sensational game everyone's playing right now (Wordle). Since I used &lt;em&gt;Material UI&lt;/em&gt; in my previous app, I wanted to try something new and hence opted for &lt;em&gt;Tailwind CSS&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What I built:&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Components&lt;/em&gt; : Gameboard (parent component that includes all the child components), Header, Keyboard, Letter-Tile, Modals.&lt;/li&gt;
&lt;li&gt;Used &lt;em&gt;useState&lt;/em&gt;, &lt;em&gt;useEffect&lt;/em&gt; and &lt;em&gt;useContext&lt;/em&gt; hooks.&lt;/li&gt;
&lt;li&gt;Used word list from the og Wordle.&lt;/li&gt;
&lt;li&gt;Application theme based on device theme using &lt;em&gt;useContext&lt;/em&gt; and &lt;em&gt;ThemeProvider&lt;/em&gt;. Can also be changed manually.&lt;/li&gt;
&lt;li&gt;Doesn't have all functionalities of the og game like sharing guesses/ one day timer.&lt;/li&gt;
&lt;li&gt;Can be played unlimited number of times by hitting reset button.&lt;/li&gt;
&lt;li&gt;Stats displayed in the form of a graph - used &lt;em&gt;ChartJS&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Fancy confetti popup after guessing the correct word (&lt;em&gt;react-confetti&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;Used &lt;em&gt;compare-words&lt;/em&gt; npm package for comparing words.&lt;/li&gt;
&lt;li&gt;Data is stored in &lt;em&gt;localStorage&lt;/em&gt; - so if site data is cleared, the progress would be lost.&lt;/li&gt;
&lt;li&gt;Used very minimal CSS in the places I found Tailwind to be a bit difficult.&lt;/li&gt;
&lt;li&gt;Used &lt;em&gt;cogo-toast&lt;/em&gt; npm package for displaying toast messages.&lt;/li&gt;
&lt;li&gt;Responsive design.&lt;/li&gt;
&lt;li&gt;Tried using &lt;em&gt;Framer Motion&lt;/em&gt; and &lt;em&gt;Animate.css&lt;/em&gt; packages for animations, but unfortunately was unable to get them working as expected :/&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Some snapshots of the application:&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9zdVkft9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8cc2pnqbu66x5jsk58z.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9zdVkft9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8cc2pnqbu66x5jsk58z.PNG" alt="Stats view" width="483" height="642"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;To-dos:&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Extend 5 letter words to more.&lt;/li&gt;
&lt;li&gt;Use keyboard for typing words.&lt;/li&gt;
&lt;li&gt;Add animations (like shake, pulse and reveal)&lt;/li&gt;
&lt;li&gt;Share progress&lt;/li&gt;
&lt;li&gt;Persistent user-data storage&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can find the source code &lt;a href="https://github.com/s1varam/wordyl"&gt;here&lt;/a&gt; and you can play it &lt;a href="https://wordyll.netlify.app/"&gt;here&lt;/a&gt;. Do star the repo if you like it! Suggestions are most welcome!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>tailwindcss</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My first React app - A simple Pokédex</title>
      <dc:creator>s1varam</dc:creator>
      <pubDate>Sun, 27 Jun 2021 14:20:51 +0000</pubDate>
      <link>https://dev.to/s1varam/my-first-react-app-a-simple-pokedex-2fc7</link>
      <guid>https://dev.to/s1varam/my-first-react-app-a-simple-pokedex-2fc7</guid>
      <description>&lt;p&gt;Totally new to React (and webdev), coming from Android background. Went through some HTML/CSS resources in freecodecamp/csstricks, then a couple of YT videos and React docs and built this simple Pokédex. Used React, PokéApi and Material-UI to build this.&lt;/p&gt;

&lt;p&gt;Overall, had a great experience working with States, Components, API integration(way easier than Android lol), Material-UI(found it very difficult to customize).&lt;/p&gt;

&lt;p&gt;Some of the features implemented in the application:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;View basic details of each Pokémon&lt;/li&gt;
&lt;li&gt;Filter Pokémon based on Region and Type&lt;/li&gt;
&lt;li&gt;Sort Pokémon by ID/Name&lt;/li&gt;
&lt;li&gt;Search Pokémon by its Name/ID&lt;/li&gt;
&lt;li&gt;Dark mode toggle&lt;/li&gt;
&lt;li&gt;Scroll to top&lt;/li&gt;
&lt;li&gt;Lazy loading of images&lt;/li&gt;
&lt;li&gt;Responsive design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Link to the Pokedex : &lt;a href="https://pokedex-react-mui.netlify.app/"&gt;here&lt;/a&gt;&lt;br&gt;
Github repo : &lt;a href="https://github.com/s1varam/pokedex"&gt;here&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I know there is a lot of boilerplate code and my CSS requires optimization, but I hope it will improve with time. I need to know the areas that needs improvement and feedback is highly appreciated!&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
