<?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: KUNDAN SOLANKI</title>
    <description>The latest articles on DEV Community by KUNDAN SOLANKI (@kundan1334).</description>
    <link>https://dev.to/kundan1334</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%2F1702064%2F612491f1-d1f6-4a63-b443-6ab939d6d450.png</url>
      <title>DEV Community: KUNDAN SOLANKI</title>
      <link>https://dev.to/kundan1334</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kundan1334"/>
    <language>en</language>
    <item>
      <title>Coca-Cola Animated Page</title>
      <dc:creator>KUNDAN SOLANKI</dc:creator>
      <pubDate>Mon, 17 Feb 2025 14:25:26 +0000</pubDate>
      <link>https://dev.to/kundan1334/coca-cola-animated-page-2okn</link>
      <guid>https://dev.to/kundan1334/coca-cola-animated-page-2okn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2025-02-12"&gt;Frontend Challenge - February Edition, CSS Art: February&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;For this challenge, I wanted to explore the beauty of pure CSS art and push my creativity. Inspired by the elegance of minimalism and the versatility of CSS, I created this artwork to showcase how simple shapes and colors can bring an idea to life.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can view my CSS Art live here: &lt;a href="https://665f638cf1ccec2f53672412--elaborate-fenglisu-ec5400.netlify.app/" rel="noopener noreferrer"&gt;https://665f638cf1ccec2f53672412--elaborate-fenglisu-ec5400.netlify.app/&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Here’s a preview of the artwork:&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%2Fniw7y75ob6jakplpo5js.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%2Fniw7y75ob6jakplpo5js.png" alt="Image description" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code: &lt;a href="https://github.com/KUNDAN1334/Practice_Projects/tree/main/Landing_Page" rel="noopener noreferrer"&gt;https://github.com/KUNDAN1334/Practice_Projects/tree/main/Landing_Page&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;Working on this CSS Art challenge was both fun and insightful. I experimented with different CSS properties like clip-path, box-shadow, gradients, and animations to achieve the desired visual effect. Some key takeaways from this project:&lt;/p&gt;

&lt;p&gt;Learned how to create complex shapes using clip-path and border-radius.&lt;br&gt;
Explored the use of CSS gradients to add depth and dimension.&lt;br&gt;
Enhanced my understanding of CSS animations to make the artwork dynamic.&lt;br&gt;
I am particularly proud of how everything came together smoothly, and I hope to explore more intricate designs in future challenges&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;In upcoming projects, I plan to:&lt;/p&gt;

&lt;p&gt;Try more interactive CSS Art using hover effects and animations.&lt;br&gt;
Explore SVGs combined with CSS for even more detailed artworks.&lt;br&gt;
Participate in future frontend challenges to refine my CSS skills further.&lt;br&gt;
If you liked my work, feel free to leave feedback and connect with me! 🚀&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>pinata-whiteBoard</title>
      <dc:creator>KUNDAN SOLANKI</dc:creator>
      <pubDate>Sat, 12 Oct 2024 18:41:31 +0000</pubDate>
      <link>https://dev.to/kundan1334/pinata-whiteboard-1h77</link>
      <guid>https://dev.to/kundan1334/pinata-whiteboard-1h77</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/pinata"&gt;The Pinata Challenge &lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built a collaborative whiteboard application called "Pinata Whiteboard" using React and Pinata IPFS services. This application allows users to draw, upload images, save their whiteboards to IPFS, and even mint their creations as NFTs&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2Fo8dpgt0bjw299atm9z3i.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%2Fuploads%2Farticles%2Fo8dpgt0bjw299atm9z3i.png" alt="Image description" width="800" height="365"&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fva82mh714ovihk264vcp.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%2Fuploads%2Farticles%2Fva82mh714ovihk264vcp.png" alt="Image description" width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KUNDAN1334/pinata-whiteboard" rel="noopener noreferrer"&gt;https://github.com/KUNDAN1334/pinata-whiteboard&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  More Details
&lt;/h2&gt;

&lt;p&gt;Here are clear examples of how I used Pinata in my project:&lt;/p&gt;

&lt;p&gt;1.Image Upload: When a user uploads an image to the whiteboard, it's stored on IPFS using Pinata's pinning service.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleImageUpload = async (file) =&amp;gt; {
  const cid = await uploadFile(file);
  const url = getFileUrl(cid);
  canvasRef.current.addImage(url, 0, 0, width, height);
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.Saving Whiteboards: Users can save their whiteboards to IPFS, storing the entire whiteboard state.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleSave = async () =&amp;gt; {
  const whiteboardData = canvasRef.current.getWhiteboardData();
  const cid = await saveWhiteboard(whiteboardData);
  alert(`Whiteboard saved! CID: ${cid}`);
};

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

&lt;/div&gt;



&lt;p&gt;3.Loading Whiteboards: Users can load previously saved whiteboards from IPFS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleLoad = async (cid) =&amp;gt; {
  const whiteboardData = await loadWhiteboard(cid);
  canvasRef.current.loadWhiteboardData(whiteboardData);
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4.Listing Saved Whiteboards: The application fetches and displays a list of saved whiteboards using Pinata's Pin List API.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const listWhiteboards = async () =&amp;gt; {
  const response = await axios.get(
    'https://api.pinata.cloud/data/pinList?status=pinned',
    {
      headers: {
        pinata_api_key: PINATA_API_KEY,
        pinata_secret_api_key: PINATA_SECRET_API_KEY,
      },
    }
  );
  return response.data.rows.filter(pin =&amp;gt; pin.metadata.name === 'Whiteboard');
};

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

&lt;/div&gt;



&lt;p&gt;5.NFT Minting: Users can mint their whiteboards as NFTs, storing both the image and metadata on IPFS using Pinata.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleMint = async (e) =&amp;gt; {
  e.preventDefault();
  const imageBlob = await getWhiteboardImage();
  const imageCID = await uploadFile(new File([imageBlob], 'whiteboard.png'));
  const metadata = {
    name,
    description,
    image: `ipfs://${imageCID}`,
  };
  const metadataCID = await mintNFTMetadata(metadata);
  alert(`NFT minted successfully! Metadata CID: ${metadataCID}`);
};

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

&lt;/div&gt;



</description>
      <category>devchallenge</category>
      <category>pinatachallenge</category>
      <category>webdev</category>
      <category>api</category>
    </item>
  </channel>
</rss>
