<?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>Forem: Lakshmanan Arumugam</title>
    <description>The latest articles on Forem by Lakshmanan Arumugam (@lakshmananarumugam).</description>
    <link>https://forem.com/lakshmananarumugam</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%2F386303%2F06344b49-150c-4776-a277-cd2dd4075168.jpg</url>
      <title>Forem: Lakshmanan Arumugam</title>
      <link>https://forem.com/lakshmananarumugam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lakshmananarumugam"/>
    <language>en</language>
    <item>
      <title>5 Reasons why I Started My YouTube Channel and Blog</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Tue, 24 Sep 2024 03:30:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/5-reasons-why-i-started-my-youtube-channel-and-blog-80p</link>
      <guid>https://forem.com/lakshmananarumugam/5-reasons-why-i-started-my-youtube-channel-and-blog-80p</guid>
      <description>&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%2Fuxjsk72kg5r25z9i81gl.jpg" 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%2Fuxjsk72kg5r25z9i81gl.jpg" alt="5 Reasons why I Started My YouTube Channel and Blog" width="730" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  About Me
&lt;/h2&gt;

&lt;p&gt;I have over 9 years of experience in frontend development, specializing in &lt;em&gt;HTML&lt;/em&gt;, &lt;em&gt;CSS&lt;/em&gt;, &lt;em&gt;SASS&lt;/em&gt;, &lt;em&gt;JavaScript&lt;/em&gt;, &lt;em&gt;React.js&lt;/em&gt;, and &lt;em&gt;Node.js&lt;/em&gt;. Throughout my career, I’ve worked with various startups and multinational companies, each offering unique skills and challenges.&lt;/p&gt;

&lt;p&gt;I believe that learning is most effective when shared. While self-study teaches valuable lessons, collaborating with others in a work environment provides different insights. That’s why I’m committed to sharing all the knowledge and skills I’ve gained with everyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Decided to Start a Technical Blog and YouTube Channel?
&lt;/h2&gt;

&lt;p&gt;Writing a technical blog offers numerous benefits beyond just helping others. Here are five compelling reasons to consider starting one:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deepen Your Knowledge:&lt;/strong&gt; Teaching others solidifies your understanding of the subject.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Provide Value:&lt;/strong&gt; Sharing solutions enhances your reputation at work and shows initiative.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhance Critical Thinking:&lt;/strong&gt; Researching and organizing information sharpens your problem-solving skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Showcase Communication Skills:&lt;/strong&gt; Blogging demonstrates your ability to convey complex ideas clearly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Personal Growth:&lt;/strong&gt; Starting this journey pushed me out of my comfort zone, teaching me to embrace vulnerability and take risks, which has greatly enhanced my resilience and adaptability.&lt;/p&gt;

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

&lt;p&gt;Creating my &lt;a href="https://www.youtube.com/@simpledevcode" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt; and &lt;a href="https://simpledevcode.com/posts/" rel="noopener noreferrer"&gt;blog&lt;/a&gt; has been transformative. Sharing my passions, learning through teaching, and building a community has been incredibly rewarding. If you’re considering starting your own platform, take the leap—you never know what opportunities await!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to build a unique full stack app for your portfolio</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Wed, 18 Sep 2024 14:30:21 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/how-to-build-a-unique-full-stack-app-for-your-portfolio-1god</link>
      <guid>https://forem.com/lakshmananarumugam/how-to-build-a-unique-full-stack-app-for-your-portfolio-1god</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Cu_ShVH1LJ8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Hello everyone👋,
&lt;/h2&gt;

&lt;p&gt;In this tutorial, we’re diving into the world of full-stack web development with a comprehensive guide that covers everything you need to build an impressive project portfolio. Whether you're a beginner looking for your first full-stack project, a student working on final year assignments, or a professional aiming to enhance your resume, this video has got you covered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;p&gt;React, Tailwind CSS, Shadcn UI and Supabase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's what we’ll explore:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Creating a Full-Stack Portfolio Website:&lt;/strong&gt; Learn how to design and develop a dynamic portfolio site using HTML, CSS, and JavaScript. Showcase your best projects and skills effectively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full-Stack Project Ideas:&lt;/strong&gt; We’ll provide you with innovative project ideas to help you build a robust portfolio, including a variety of concepts from microservices to dynamic websites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ReactJS Projects:&lt;/strong&gt; Get hands-on experience with ReactJS by building a project that integrates both front-end and back-end technologies, perfect for your portfolio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full-Stack Tutorial:&lt;/strong&gt; Follow along as we break down the steps for creating a full-stack website from scratch. This tutorial covers both the front-end and back-end development, offering a practical approach to full-stack web development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source Code &amp;amp; Project Examples:&lt;/strong&gt; We’ll share source code for various full-stack projects, so you can learn by doing. This includes beginner-friendly projects as well as more advanced examples to challenge yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Course &amp;amp; Placement Preparation:&lt;/strong&gt; For those looking to boost their skills through a full-stack web development course or prepare for placement interviews, this video offers tips and project suggestions that can make your resume stand out.&lt;/p&gt;

&lt;p&gt;By the end of this tutorial, you’ll have a solid understanding of how to create, manage, and showcase full-stack projects, equipping you with the skills needed for both personal growth and professional success. Don’t forget to like, subscribe, and hit the notification bell to stay updated with our latest content!&lt;/p&gt;

&lt;p&gt;Let's get started on your full-stack development journey!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Timelines:&lt;/strong&gt;&lt;br&gt;
0:13 Project demo&lt;br&gt;
9:49 Explain Project Functional requirement&lt;br&gt;
12:33 Project base setup&lt;br&gt;
18:58 Supabase configuration&lt;br&gt;
27:09 Admin portal route setup&lt;br&gt;
43:19 Admin portal main layout design&lt;br&gt;
49:46 Admin portal page UI design base setup&lt;br&gt;
1:01:43 Admin page event page&lt;br&gt;
1:30:52 Event page CRUD&lt;br&gt;
2:00:51 Sharable URL and delete operation&lt;br&gt;
2:49:34 Audience live questions page setup&lt;br&gt;
3:32:00 Audience live question CRUD&lt;br&gt;
3:59:34 Audience live question reaction&lt;br&gt;
4:07:11 Audience event and questions authendication&lt;br&gt;
4:52:23 Audience live question tab category&lt;br&gt;
4:58:22 Audience APP version 1 project completed&lt;/p&gt;

&lt;p&gt;Thanks for you support !&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>tailwindcss</category>
      <category>react</category>
    </item>
    <item>
      <title>SSR 🆚 SSG: A Game-Changer for Your Web App ☄️</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Wed, 28 Aug 2024 03:30:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/ssr-ssg-a-game-changer-for-your-web-app-32e9</link>
      <guid>https://forem.com/lakshmananarumugam/ssr-ssg-a-game-changer-for-your-web-app-32e9</guid>
      <description>&lt;h2&gt;
  
  
  Why?
&lt;/h2&gt;

&lt;p&gt;Building a web app using Static Site Generation (SSG) over Server-Side Rendering (SSR) can be a great choice for performance and scalability, especially if your content doesn't change frequently. Let's go into deep.&lt;/p&gt;

&lt;h2&gt;
  
  
  When SSG Good for App/Website?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Content-Driven Websites:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Blogs:&lt;/strong&gt; Articles and posts that are created once and rarely change are perfect for SSG. The content can be generated at build time and served as static files.&lt;br&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; Technical documentation sites benefit from SSG because they involve static content that doesn’t need frequent updates, ensuring fast load times.&lt;br&gt;
&lt;strong&gt;Portfolio Sites:&lt;/strong&gt; Personal portfolios, artist showcases, and resumes that don’t need dynamic content are ideal for SSG.&lt;br&gt;
&lt;strong&gt;Marketing Websites:&lt;/strong&gt; Landing pages and company websites where the content remains relatively constant are well-suited for SSG.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;E-Commerce with Limited Product Variations:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Static Product Pages:&lt;/strong&gt; If your e-commerce store has products that don’t frequently change in description or availability, SSG can serve these pages quickly.&lt;br&gt;
&lt;strong&gt;Category Pages:&lt;/strong&gt; Product categories that don't require real-time updates can be pre-built and served as static pages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Landing Pages:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;SEO-Focused Pages:&lt;/strong&gt; Landing pages created for marketing campaigns can be generated with SSG, providing fast load times and good SEO performance.&lt;br&gt;
&lt;strong&gt;Event Pages:&lt;/strong&gt; Static pages for events or promotions that don’t require user interaction can benefit from SSG.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Documentation and Guides:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Technical Documentation:&lt;/strong&gt; SSG is great for creating fast, easily navigable documentation sites, especially when paired with search and filtering functionalities.&lt;br&gt;
&lt;strong&gt;Tutorials and How-Tos:&lt;/strong&gt; Educational content that doesn’t need frequent updates can be served efficiently using SSG.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Static Portfolio or Showcase Sites:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Creative Portfolios:&lt;/strong&gt; Artists, photographers, designers, and other creatives can showcase their work with static sites that load quickly and look great.&lt;br&gt;
&lt;strong&gt;Case Studies:&lt;/strong&gt; Companies can present their case studies in a static format for fast and reliable access.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;News and Magazine Sites:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Static Articles:&lt;/strong&gt; News sites where the content is written once and then served as static pages can benefit from SSG for faster delivery.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open Source Project Sites:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Project Overviews:&lt;/strong&gt; Websites for open source projects that include documentation, community pages, and release notes are great candidates for SSG.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Personal Websites:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Blogs and Journals:&lt;/strong&gt; Personal blogs or journals that don't require dynamic content or user interaction can leverage SSG for fast and efficient delivery.&lt;br&gt;
&lt;strong&gt;Static Resumes:&lt;/strong&gt; Online resumes or CVs that are static in nature are ideal for SSG.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multi-Language Sites:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Localized Content:&lt;/strong&gt; Websites offering content in multiple languages can use SSG to pre-generate pages for each language, ensuring consistent performance across all versions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;High-Traffic Websites with Unchanging Content:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Corporate Websites:&lt;/strong&gt; Company homepages and informational pages that don’t change frequently can scale effectively with SSG.&lt;br&gt;
&lt;strong&gt;Archives:&lt;/strong&gt; Static archives of content, such as old news articles, research papers, or historical documents, can be served using SSG.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: If you website/App not applicable in the above criteria think  other options&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How it works?
&lt;/h2&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%2F6g4fpltmd5h8agy7jo4a.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%2F6g4fpltmd5h8agy7jo4a.png" alt="SSG how it's works" width="578" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Do you want to know How to build and deploy it. refer the below example
&lt;/h2&gt;

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

&lt;p&gt;If you find this helpful please like and add comment.&lt;/p&gt;

&lt;p&gt;Thanks for reading 🙏&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Top 40 Frontend Developer Interview Questions &amp; Answers 2024 🪄 ❤️‍🔥</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Thu, 08 Aug 2024 03:30:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/top-40-frontend-developer-interview-questions-answers-2024-2hkn</link>
      <guid>https://forem.com/lakshmananarumugam/top-40-frontend-developer-interview-questions-answers-2024-2hkn</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Are you preparing for a frontend developer interview? Whether you're a seasoned professional or just starting out, it's essential to be well-prepared for the types of questions you might face. In this video, we cover the top 40 interview questions that will help you showcase your skills and land your dream job!&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What You'll Learn:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Common questions about HTML, CSS, and JavaScript&lt;/li&gt;
&lt;li&gt;How to explain complex concepts in a simple way&lt;/li&gt;
&lt;li&gt;Practical coding challenges and solutions&lt;/li&gt;
&lt;li&gt;Best practices in frontend development&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🧭 Explanation video
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  🙋 Questions
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What is HTML &amp;amp; CSS? &lt;/li&gt;
&lt;li&gt;What is the difference between an id and a class in HTML/CSS?&lt;/li&gt;
&lt;li&gt;Can you explain the box model in CSS?&lt;/li&gt;
&lt;li&gt;What are some SEO best practices when structuring an HTML document?&lt;/li&gt;
&lt;li&gt;What is the Document Object Model (DOM)?&lt;/li&gt;
&lt;li&gt;What is API?&lt;/li&gt;
&lt;li&gt;What is HTTP and it’s methods?&lt;/li&gt;
&lt;li&gt;What is padding and margin in CSS?&lt;/li&gt;
&lt;li&gt;How do you add an event listener to an element?&lt;/li&gt;
&lt;li&gt;What is the difference between null and undefined?&lt;/li&gt;
&lt;li&gt;What is the difference between &lt;code&gt;==&lt;/code&gt; and &lt;code&gt;===&lt;/code&gt; in JavaScript?&lt;/li&gt;
&lt;li&gt;What is the difference between cookies, sessionStorage, and localStorage?&lt;/li&gt;
&lt;li&gt;How does the browser render a website?&lt;/li&gt;
&lt;li&gt;What are media queries?&lt;/li&gt;
&lt;li&gt;What is the difference between the em and rem units?&lt;/li&gt;
&lt;li&gt;How do you create a flexbox layout?&lt;/li&gt;
&lt;li&gt;Can you explain CSS specificity and how it works?&lt;/li&gt;
&lt;li&gt;How can you create a CSS grid layout?&lt;/li&gt;
&lt;li&gt;What is the difference between &lt;code&gt;visibility: hidden&lt;/code&gt; and &lt;code&gt;display: none&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;Explain the difference between pseudo-classes and pseudo-elements in CSS&lt;/li&gt;
&lt;li&gt;What are the display property have and explain each item difference?&lt;/li&gt;
&lt;li&gt;What are closures, and how/why would you use them?&lt;/li&gt;
&lt;li&gt;Can you explain what event delegation is in JavaScript?&lt;/li&gt;
&lt;li&gt;What are promises, and how do they work?&lt;/li&gt;
&lt;li&gt;How do you optimize website assets for better loading times?&lt;/li&gt;
&lt;li&gt;What are service workers, and what are they used for?&lt;/li&gt;
&lt;li&gt;What is the Same-Origin Policy in web development?&lt;/li&gt;
&lt;li&gt;What are CSS variables, and when would you use them?&lt;/li&gt;
&lt;li&gt;How would you implement critical CSS to improve the perceived load time of your web pages?&lt;/li&gt;
&lt;li&gt;How does the event loop work in JavaScript?&lt;/li&gt;
&lt;li&gt;What are the different ways to handle asynchronous operations in JavaScript?&lt;/li&gt;
&lt;li&gt;How do you handle state management in single-page applications?&lt;/li&gt;
&lt;li&gt;How does virtual DOM work, and what are its advantages?&lt;/li&gt;
&lt;li&gt;What is server-side rendering, and when might you use it?&lt;/li&gt;
&lt;li&gt;How do you analyze and improve the performance of a web application?&lt;/li&gt;
&lt;li&gt;What is Content Security Policy (CSP), and how does it improve the security of web applications?&lt;/li&gt;
&lt;li&gt;What is tree shaking, and how does it help with the performance of a web application?&lt;/li&gt;
&lt;li&gt;What is the difference between inline, inline-block, and block elements in CSS?&lt;/li&gt;
&lt;li&gt;What are web components, and how do they work?&lt;/li&gt;
&lt;li&gt;What is the difference between &lt;code&gt;map()&lt;/code&gt;, &lt;code&gt;filter()&lt;/code&gt;, and &lt;code&gt;reduce()&lt;/code&gt;?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🙏 Please share if you find it's helpful.&lt;/p&gt;

</description>
      <category>interview</category>
      <category>frontend</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>From Zero to Hero: Build Full stack Food Delivery App using Next.js and PostgreSQL</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Sat, 13 Jul 2024 05:33:35 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/from-zero-to-hero-build-full-stack-food-delivery-app-using-nextjs-and-postgresql-4ebo</link>
      <guid>https://forem.com/lakshmananarumugam/from-zero-to-hero-build-full-stack-food-delivery-app-using-nextjs-and-postgresql-4ebo</guid>
      <description>&lt;p&gt;In today's fast-paced world, the demand for efficient food delivery services is higher than ever. To meet this demand, creating a robust and user-friendly food delivery app is crucial. This blog post will guide you through building a food delivery app using Next.js, incorporating essential features for users, restaurants, and administrators. Moreover, this guide will help you upskill your knowledge in modern web development practices. Let's dive in!&lt;/p&gt;

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

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

&lt;p&gt;👨‍👩‍👧 User&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;User Registration and Login&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Social Media Login Options: Allow users to register and log in using their Google account or mobile number for a seamless experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Email and Password Login: Traditional email and password authentication for those who prefer it.&lt;br&gt;
Browse Restaurants&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search and Filter: Users can search and filter restaurants by cuisine, location, rating, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Restaurant Details: Provide comprehensive details including menus, photos, and operating hours.&lt;br&gt;
Menu Display&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Detailed Menus: Each restaurant's menu will feature item descriptions, prices, and high-quality images to entice users.&lt;br&gt;
Order Placement&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add to Cart: Users can easily add items to their cart.&lt;br&gt;
Customization: Options to customize orders, such as extra toppings or removing ingredients.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Order Summary and Confirmation: A clear summary of the order before final confirmation.&lt;br&gt;
Payment Gateway Integration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multiple Payment Options: Support for credit/debit cards and mobile wallets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secure Payment Processing: Ensure secure transactions through Stripe integration.&lt;br&gt;
Order Tracking&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-Time Updates: Keep users informed with real-time status updates and estimated delivery times.&lt;br&gt;
User Profile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Personal Details: Users can view and edit their personal information.&lt;br&gt;
Order History: Access to past orders for reordering or reference.&lt;br&gt;
Notifications&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Push Notifications: Send updates about order status, promotions, and more using Socket.io and web sockets.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  👨‍🍳 Restaurant
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Restaurant Registration and Login&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easy Onboarding: Simplified registration process for restaurants.&lt;br&gt;
Dashboard Access: A dedicated dashboard for managing their presence on the platform.&lt;br&gt;
Menu Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manage Menu Items: Add, edit, and delete menu items with ease.&lt;br&gt;
Availability: Control the availability of items in real-time.&lt;br&gt;
Order Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Incoming Orders: View and manage incoming orders efficiently.&lt;br&gt;
Update Order Status: Update the status of orders (preparing, out for delivery, delivered).&lt;br&gt;
Profile Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Edit Details: Update restaurant details such as address, hours, and contact information.&lt;br&gt;
Analytics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sales Reports: Basic reports to track sales performance.&lt;br&gt;
Order Statistics: Insights into order trends and customer preferences.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Admin Side
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Admin Dashboard&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User and Restaurant Management: Oversee and manage all users and restaurants on the platform.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;App Statistics: View comprehensive statistics to monitor app performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Content Management&lt;br&gt;
Promotional Content: Manage and schedule promotional content.&lt;br&gt;
Issue Handling: Address issues reported by users and restaurants.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Technology Stack
&lt;/h2&gt;

&lt;p&gt;Frontend&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Framework:&lt;/strong&gt; Next.js 14 for a powerful, server-rendered application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design:&lt;/strong&gt; Tailwind CSS 3 and shadcn UI for a sleek, responsive design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;State Management:&lt;/strong&gt; Context API for efficient state management.&lt;br&gt;
Backend&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database:&lt;/strong&gt; PostgreSQL for reliable and scalable data storage.&lt;br&gt;
Authentication: JWT (JSON Web Tokens) for secure user authentication.&lt;/p&gt;

&lt;p&gt;Third-Party Services&lt;br&gt;
&lt;strong&gt;Payment Gateway:&lt;/strong&gt; Stripe for secure and flexible payment processing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notification Service:&lt;/strong&gt; Socket.io and web socket for real-time notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Upskill Your Knowledge
&lt;/h2&gt;

&lt;p&gt;Building a food delivery app is not just about creating a functional product; it's also an opportunity to enhance your web development skills. Here are some ways you can upskill your knowledge through this project:&lt;/p&gt;

&lt;h2&gt;
  
  
  Master Next.js:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Server-Side Rendering (SSR): Understand the benefits of SSR for SEO and performance.&lt;/li&gt;
&lt;li&gt;Static Site Generation (SSG): Learn how to pre-render pages at build time.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;API Routes: Use Next.js API routes to handle backend logic directly within your Next.js app.&lt;br&gt;
Design with Tailwind CSS and shadcn UI:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Responsive Design: Create a responsive and visually appealing interface.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Utility-First CSS: Use Tailwind CSS to quickly style your components with utility classes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UI Components: Utilize shadcn UI for consistent and reusable components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;State Management with Context API:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Global State Management: Manage global state efficiently using Context API.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance Optimization: Optimize state management to prevent unnecessary re-renders.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Secure Authentication with JWT:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Token-Based Authentication: Implement secure authentication using JWT.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Authorization: Protect routes and resources based on user roles.&lt;br&gt;
Integrate Third-Party Services:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stripe Integration: Learn to integrate and manage payments with Stripe.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-Time Communication: Use Socket.io for real-time notifications and updates.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Database Management with PostgreSQL:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Data Modeling: Design efficient database schemas.&lt;br&gt;
SQL Queries: Write complex queries to retrieve and manipulate data.&lt;br&gt;
Deployment and Scaling:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vercel Deployment: Deploy your Next.js app on Vercel for seamless scaling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance Monitoring: Monitor app performance and optimize for better user experience.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Building a food delivery app with Next.js can provide users with a seamless and enjoyable experience while offering restaurants the tools they need to manage their operations efficiently. &lt;/p&gt;

&lt;p&gt;By integrating essential features like secure payment processing, real-time order tracking, and comprehensive user profiles, you can create a robust platform that meets the needs of both users and restaurants. Additionally, this project offers a valuable opportunity to enhance your web development skills, making you a more proficient and versatile developer. &lt;/p&gt;

&lt;p&gt;Start your journey today and revolutionize the food delivery industry! 🧑‍💻&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>nextjs</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Ultimate guide to👨‍💻 Build &amp; 🚀 Deploy Full Stack App Next.js</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Fri, 19 Jan 2024 03:45:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/ultimate-guide-to-build-deploy-full-stack-app-nextjs-5el8</link>
      <guid>https://forem.com/lakshmananarumugam/ultimate-guide-to-build-deploy-full-stack-app-nextjs-5el8</guid>
      <description>&lt;h2&gt;
  
  
  🌐 Introduction:
&lt;/h2&gt;

&lt;p&gt;Welcome to Simple Dev Code! In this comprehensive tutorial, we'll guide you through the process of creating your own full stack portfolio website from scratch. Whether you're a beginner or an experienced developer, this step-by-step guide will help you showcase your skills and projects in style.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔧 What You'll Learn:
&lt;/h2&gt;

&lt;p&gt;⚙️ Setting up the development environment Next.js/React.js&lt;br&gt;
🗄️ Setting up supabase project with Next.js&lt;br&gt;
📲 Shadcn UI installation and usage&lt;br&gt;
🔐 Authentication &lt;br&gt;
🏁 Next.js 14 API App router creation and usage&lt;br&gt;
🛡 Private router creation and authentication&lt;br&gt;
📊 Dynamic Routes creation and usage in Next.js 14&lt;br&gt;
📝 Notion theme editor integration &lt;br&gt;
🔌 CRUD API creation using Next.js 14 (API routing)&lt;br&gt;
🗃️ Creating/Alter supabase PostgreSQL table &lt;br&gt;
🌆 Storing and retrieve images via supabase storage&lt;br&gt;
🧩 Image Upload API Implementation ultimate guide&lt;br&gt;
🗒️ Pagination and search operation API creation and implementation&lt;br&gt;
🔎 Debounce API call method tutorial in Next.js 14&lt;br&gt;
🚀 Deploying portfolio website and CMS online for the world to see&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚙️ Tools and Technologies Used:
&lt;/h2&gt;

&lt;p&gt;✔️ Next.js 14&lt;br&gt;
✔️ React.js&lt;br&gt;
✔️ Tailwind CSS&lt;br&gt;
✔️ TypeScript&lt;br&gt;
✔️ Shadcn ui&lt;br&gt;
✔️ Supabase/PostgreSQL&lt;/p&gt;

&lt;h2&gt;
  
  
  👨‍💻 Who Should Watch:
&lt;/h2&gt;

&lt;p&gt;Aspiring Full Stack Developers&lt;br&gt;
Web/Frontend Developers looking to enhance their skills&lt;br&gt;
Students and Beginners in programming&lt;/p&gt;

&lt;h2&gt;
  
  
  Here are the some details:
&lt;/h2&gt;

&lt;p&gt;Git Link: &lt;a href="https://github.com/allsimpledevcode/full-stack-portfolio" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;br&gt;
Demo URL: &lt;a href="https://full-stack-portfolio-sable.vercel.app/login" rel="noopener noreferrer"&gt;Demo URL&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Login credentials:&lt;br&gt;
Username: &lt;a href="mailto:demo@demo.com"&gt;demo@demo.com&lt;/a&gt;&lt;br&gt;
Password:  demo@123&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👍 Connect with Simple Dev Code:&lt;/strong&gt;&lt;br&gt;
Subscribe for more tutorials: &lt;a href="https://www.youtube.com/@CodesDeep?sub_confirmation=1" rel="noopener noreferrer"&gt;Subscribe&lt;/a&gt;&lt;br&gt;
Follow on Instagram: &lt;a href="https://www.instagram.com/simpledevcode/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;&lt;br&gt;
Follow on LinkedIn: &lt;a href="https://www.linkedin.com/company/codesdeep" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🙏 Thanks for reading my blog! Don't forget to share, link and follow me. feel free to ask questions in comment section. &lt;/p&gt;

&lt;p&gt;👨‍💻 Happy coding!&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>showdev</category>
      <category>react</category>
    </item>
    <item>
      <title>Showcasing Excellence: A Step-by-Step Guide to Your Kickass Portfolio</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Wed, 29 Nov 2023 04:02:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/showcasing-excellence-a-step-by-step-guide-to-your-kickass-portfolio-13h1</link>
      <guid>https://forem.com/lakshmananarumugam/showcasing-excellence-a-step-by-step-guide-to-your-kickass-portfolio-13h1</guid>
      <description>&lt;h2&gt;
  
  
  Introduction:
&lt;/h2&gt;

&lt;p&gt;In the competitive world we live in, a standout portfolio is your golden ticket to success. Whether you're a designer, writer, photographer, or any other creative professional, a kickass portfolio can make all the difference. In this step-by-step guide, we'll walk you through the process of creating an exceptional portfolio that not only showcases your skills but leaves a lasting impression on potential clients or employers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple/Elegant portfolio template&lt;/strong&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/MTGm8umWEfw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Define Your Purpose
&lt;/h2&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%2F88k5vhoq88zac855quk2.gif" 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%2F88k5vhoq88zac855quk2.gif" alt="Purpose" width="480" height="270"&gt;&lt;/a&gt;&lt;br&gt;
Before you dive into the creation of your portfolio, it's crucial to understand its purpose. Ask yourself: What do you want to achieve with your portfolio? Are you looking to attract clients, land a dream job, or simply showcase your work for personal satisfaction? Clearly defining your purpose will guide every decision you make during the portfolio creation process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Select Your Best Work
&lt;/h2&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%2Fdf8vrhb3jjzotb4pdg2u.gif" 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%2Fdf8vrhb3jjzotb4pdg2u.gif" alt="Best work" width="480" height="268"&gt;&lt;/a&gt;&lt;br&gt;
Quality over quantity is the golden rule here. Choose a selection of your absolute best work that aligns with your goals. Your portfolio is a representation of your skills and style, so make sure each piece reflects the high standards you aim to uphold.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Craft a Compelling Narrative
&lt;/h2&gt;

&lt;p&gt;Your portfolio is not just a collection of images or text—it's a story. Craft a compelling narrative that ties your work together. Explain the thought process behind each project, the challenges you faced, and how you overcame them. This narrative adds depth to your portfolio and provides insight into your creative process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Choose the Right Platform
&lt;/h2&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%2Fyqk75onjdvbtk6skillh.gif" 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%2Fyqk75onjdvbtk6skillh.gif" alt="Platform" width="480" height="480"&gt;&lt;/a&gt;&lt;br&gt;
Selecting the right platform to showcase your portfolio is crucial. Whether it's a personal website, Behance, Dribbble, or another platform, make sure it aligns with your target audience. A clean, user-friendly design that puts your work front and center is essential. Consider the platform's features, customization options, and ease of navigation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Optimize for Mobile Viewing
&lt;/h2&gt;

&lt;p&gt;In an era where people use various devices to browse the internet, it's imperative that your portfolio looks great on both desktop and mobile devices. Ensure that your chosen platform offers responsive design, or customize it to provide a seamless experience across all screen sizes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Keep it Updated
&lt;/h2&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%2Foiykwxf7ewsj03xsccv8.gif" 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%2Foiykwxf7ewsj03xsccv8.gif" alt="Update" width="480" height="270"&gt;&lt;/a&gt;&lt;br&gt;
Your portfolio is a dynamic representation of your skills and growth. Regularly update it with your latest and best work. Remove outdated pieces that no longer align with your current style or skill level. This not only keeps your portfolio relevant but also demonstrates your commitment to continuous improvement.&lt;/p&gt;

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

&lt;p&gt;Creating a kickass portfolio is not just about displaying your work; it's about telling a compelling story that resonates with your audience. By following these steps, you'll be well on your way to showcasing excellence and making a lasting impression on those who view your portfolio. Remember, your portfolio is an evolving entity—nurture it, update it, and let it reflect the true essence of your creative journey.&lt;/p&gt;

&lt;p&gt;Thanks for reaching the bottom of our blog post! If you've enjoyed our content, take the next step: &lt;a href="https://www.youtube.com/@simpledevcode?sub_confirmation=1" rel="noopener noreferrer"&gt;subscribe to our YouTube channel&lt;/a&gt; for exclusive perks.&lt;/p&gt;

</description>
      <category>tailwindcss</category>
      <category>react</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🪄 CSS Animation: Card hover animation 💫</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Mon, 27 Nov 2023 03:00:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/css-animation-card-hover-animation-1f7a</link>
      <guid>https://forem.com/lakshmananarumugam/css-animation-card-hover-animation-1f7a</guid>
      <description>&lt;h2&gt;
  
  
  Live video example
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/_mZ2UQ85a1U" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Creating a Nike-style hover animation using Tailwind CSS involves combining the utility classes provided by Tailwind with custom styles for the hover effect. Here's a basic example to get you started:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!doctype html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta charset="UTF-8"&amp;gt;
  &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;script src="https://cdn.tailwindcss.com"&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script&amp;gt;
    tailwind.config = {
      theme: {
        extend: {
            transitionProperty: {
                'background': 'background'
            }
        }
      }
    }
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body class="bg-[url('./images/background.png')] bg-auto"&amp;gt;
  &amp;lt;main class="flex items-center justify-center h-screen"&amp;gt;
    &amp;lt;div class="gap-20 w-6/12 m-auto"&amp;gt;
        &amp;lt;div class="flex h-2 mb-20"&amp;gt;
            &amp;lt;h1 class="text-white text-3xl font-semibold"&amp;gt;Best selling&amp;lt;/h1&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class="flex items-center justify-between"&amp;gt;
            &amp;lt;div class="box bg-gray-100 p-4 rounded-md shadow-md hover:shadow-xl shadow-md group hover:bg-gradient-to-r from-indigo-400 to-indigo-300 transition-all delay-100"&amp;gt;
                &amp;lt;img src="./images/1.png" width="180px" class="drop-shadow-2xl -rotate-45 group-hover:rotate-0 -translate-y-4 -translate-x-2 group-hover:-translate-y-2 group-hover:translate-x-1 delay-100 transition-all"/&amp;gt;
                &amp;lt;h2 class="text-gray-500 font-semiBold group-hover:text-white"&amp;gt;Nike E-Series AD&amp;lt;/h2&amp;gt;
                &amp;lt;p class="text-gray-400 group-hover:text-gray-50"&amp;gt;₹ 6,395&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div class="box bg-gray-100 p-4 rounded-md shadow-md hover:shadow-xl shadow-md group hover:bg-gradient-to-r from-zinc-400 to-zinc-300 transition-all delay-100"&amp;gt;
                &amp;lt;img src="./images/2.png" width="180px" class="drop-shadow-2xl -rotate-45 group-hover:rotate-0 -translate-y-4 -translate-x-2 group-hover:-translate-y-2 group-hover:translate-x-1 delay-100 transition-all"/&amp;gt;
                &amp;lt;h2 class="text-gray-500 font-semiBold group-hover:text-white"&amp;gt;Nike E-Series AD&amp;lt;/h2&amp;gt;
                &amp;lt;p class="text-gray-400 group-hover:text-gray-50"&amp;gt;₹ 6,495&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div class="box bg-gray-100 p-4 rounded-md shadow-md hover:shadow-xl shadow-md group hover:bg-gradient-to-r from-green-400 to-green-300 transition-all delay-100"&amp;gt;
                &amp;lt;img src="./images/3.png" width="180px" class="drop-shadow-2xl -rotate-45 group-hover:rotate-0 -translate-y-4 -translate-x-2 group-hover:-translate-y-2 group-hover:translate-x-1 delay-100 transition-all"/&amp;gt;
                &amp;lt;h2 class="text-gray-500 font-semiBold group-hover:text-white"&amp;gt;Nike E-Series AD&amp;lt;/h2&amp;gt;
                &amp;lt;p class="text-gray-400 group-hover:text-gray-50"&amp;gt;₹ 6,695&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;

        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/main&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thanks for reaching the bottom of our blog post! If you've enjoyed our content, take the next step: &lt;a href="https://www.youtube.com/@simpledevcode?sub_confirmation=1" rel="noopener noreferrer"&gt;subscribe to our YouTube channel&lt;/a&gt; for exclusive perks.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>css</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>🚀 Fastest way to build transparent login page HTML/CSS</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Sun, 26 Nov 2023 06:00:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/fastest-way-to-build-transparent-login-page-17m8</link>
      <guid>https://forem.com/lakshmananarumugam/fastest-way-to-build-transparent-login-page-17m8</guid>
      <description>&lt;h2&gt;
  
  
  Live video example
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Creating a transparent login page involves combining HTML, CSS to achieve the desired effect. Below is a simple example using HTML and CSS to create a transparent login page. Keep in mind that this example assumes a basic understanding of web development.&lt;br&gt;
&lt;strong&gt;HTML&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Transparent login page&amp;lt;/title&amp;gt;
    &amp;lt;style type="text/css"&amp;gt;
        @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500&amp;amp;family=Open+Sans:wght@300;500;600&amp;amp;display=swap');
        *, *::after, *::before{
            box-sizing: border-box;
        }
        body {
            margin: 0;
            background: linear-gradient(90deg, #0D0D0D 0%, #8A8887 100%);
            font-family: 'Montserrat', sans-serif;
            font-family: 'Open Sans', sans-serif;
        }
        main {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
            gap: 2rem;
            max-width: 1200px;
            margin: auto;
        }
        main::before {
            content: "";
            background: url("./assets/bg-transparent.png");
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            background-size: contain;
            width: 100%;
            height: 100%;
            background-repeat: no-repeat;
            z-index: -1;
        }
        form {
            background: rgba(99, 95, 95, 0.16);
            backdrop-filter: blur(15px);
            padding: 5rem 4rem;
            border-radius: 1rem;
            min-width: 380px;
            filter: drop-shadow(0px 4px 70px rgba(0, 0, 0, 0.10));
        }
        label {
            font-size: 0.9rem;
            color: #d4d2d2;
            margin-bottom: 5px;
            display: block;
            font-weight: 300;
        }
        h1 {
            color: white;
        }
        input {
            width: 100%;
            padding: 0.9rem;
            border-radius: 0.4rem;
            border: none;
            outline: none;
            font-weight: 300;
            font-size: 0.9rem;
            color: #333;
            background-color: white;
        }
        .form-group {
            margin-bottom: 1.4rem;
        }
        button {
            width: 100%;
            padding: 1rem;
            border-radius: 0.4rem;
            background-color: rgba(233, 101, 47, 0.7);
            border: none;
            display: block;
            font-size: 1rem;
            font-weight: 600;
            margin: 0;
            color: white;
            cursor: pointer;
            transition: ease 0.2s;
        }

        button:hover {
            background-color: rgba(233, 101, 47, 1);
        }

        .info-content {
            text-align: center;
            color: #dddddd;
            font-size: 0.8rem;
            font-weight: 300;
        }
        .banner {
            width: 100%;
            height: auto;
        }
        .link {
            font-size: 0.9rem;
            font-weight: 400;
            margin-left: 5px;
            cursor: pointer;
        }
        .link:hover {
            color: white;
        }
        .social-icons {
            display: flex;
            align-items: center;
            justify-content: space-evenly;
            margin: 1.5rem 0;
            gap: 2rem;
        }

        .social-icons a {
            height: auto;
            padding: 0.5rem 2rem;
            background-color: white;
            border-radius: 3rem;
            text-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }
        .social-icons a:hover {
            background-color: #DDD;
        }
        .social-icons &amp;gt; a &amp;gt; img {
            width: 24px;
            height: auto;
        }

        .forgot-link {
            font-size: 0.7rem;
            font-weight: 300;
            margin-top: 0.3rem;
            color: #DDD;
            cursor: pointer;
        }
        .forgot-link:hover {
            color: white;
        }

        .flex-50 {
            flex: 50%;
        }

        ::placeholder {
            color: #d1cfcf;
            font-weight: 300;
            font-size: 0.9rem;
        }

    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;main&amp;gt;
        &amp;lt;div class="flex-50"&amp;gt;
            &amp;lt;form&amp;gt;
                &amp;lt;h1&amp;gt;Sign In&amp;lt;/h1&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label&amp;gt;Email address&amp;lt;/label&amp;gt;
                    &amp;lt;div&amp;gt;
                        &amp;lt;input type="text" placeholder="Email address"/&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label&amp;gt;Password&amp;lt;/label&amp;gt;
                    &amp;lt;div&amp;gt;
                        &amp;lt;input type="text" placeholder="Password"/&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;a class="forgot-link"&amp;gt;Forgot Password?&amp;lt;/a&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;button type="submit"&amp;gt;Sign In&amp;lt;/button&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;p class="info-content"&amp;gt;or continue with&amp;lt;/p&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="social-icons"&amp;gt;
                    &amp;lt;a&amp;gt;&amp;lt;img src="./assets/google.svg"/&amp;gt;&amp;lt;/a&amp;gt;
                    &amp;lt;a&amp;gt;&amp;lt;img src="./assets/github.svg"/&amp;gt;&amp;lt;/a&amp;gt;
                    &amp;lt;a&amp;gt;&amp;lt;img src="./assets/facebook.svg"/&amp;gt;&amp;lt;/a&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;p class="info-content"&amp;gt;Don’t have an account yet?&amp;lt;a class="link"&amp;gt;Register account&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/form&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div&amp;gt;
            &amp;lt;img src="./assets/bg-img.png" class="banner" width="400px"/&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/main&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thanks for reaching the bottom of our blog post! If you've enjoyed our content, take the next step: &lt;a href="https://www.youtube.com/@simpledevcode?sub_confirmation=1" rel="noopener noreferrer"&gt;subscribe to our YouTube channel&lt;/a&gt; for exclusive perks.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>css</category>
      <category>beginners</category>
    </item>
    <item>
      <title>100 days of CSS animation code challenges - Reveal</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Sun, 19 Nov 2023 06:00:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/100-days-of-css-animation-code-challenges-reveal-1a5d</link>
      <guid>https://forem.com/lakshmananarumugam/100-days-of-css-animation-code-challenges-reveal-1a5d</guid>
      <description>&lt;h2&gt;
  
  
  1. Rotation text animation - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/rxwd6i51qqM?feature=shared" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  2. Glowing text animation - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/udBm843oxHM?feature=shared" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  3. Gradiant text animation - HTML/CSS
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  4. Shiny text animation - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/NJIObNBjYL0" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  5. Card outer flow animation - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/rg0c54juHNs" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  6. Blurry card hover animation - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/XaRxLmqopZw" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  7. Content pop-up card hover animation - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/uTXIPW3rS2g" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  8. Photo gallery hover animation - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/w9_AakKriJ4" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  9. 3D box model hover animation  - HTML/CSS
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/GtZVnymD5jo" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  10. Scroll driven text animation  - HTML/CSS
&lt;/h2&gt;

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

&lt;p&gt;Thanks for reaching the bottom of our blog post! If you've enjoyed our content, take the next step: &lt;a href="https://www.youtube.com/@simpledevcode?sub_confirmation=1" rel="noopener noreferrer"&gt;subscribe to our YouTube channel&lt;/a&gt; for exclusive perks. &lt;/p&gt;

</description>
      <category>animation</category>
      <category>css</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Interactive typography rotation effects CSS | no javascript</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Tue, 31 Oct 2023 20:33:25 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/interactive-typography-rotation-effects-css-no-javascript-2hdp</link>
      <guid>https://forem.com/lakshmananarumugam/interactive-typography-rotation-effects-css-no-javascript-2hdp</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/nvvkFHCXR8k"&gt;
&lt;/iframe&gt;
&lt;br&gt;
In this comprehensive CSS smooth text rotation animation tutorial, you'll learn how to create eye-catching text rotation effects for your website. We'll walk you through the entire process step by step, so whether you're a beginner or an experienced web developer, you'll find value in this tutorial.&lt;/p&gt;
&lt;h2&gt;
  
  
  Key Topics Covered:
&lt;/h2&gt;

&lt;p&gt;✅ CSS3 keyframe animations&lt;br&gt;
✅ Creating a seamless text rotation effect&lt;br&gt;
✅ Transition timing and easing functions&lt;br&gt;
✅ Tips for optimizing web typography&lt;/p&gt;

&lt;p&gt;HTML and CSS Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;Text animation - part 2&amp;lt;/title&amp;gt;
        &amp;lt;style type="text/css"&amp;gt;
            body {
                background-color: black;
                color: white;
                font-family: Verdana, Geneva, Tahoma, sans-serif;
            }
            .header {
                display: flex;
                align-items: center;
                padding: 40px 28px;
            }
            .brand {
                flex: 1 1 auto;
                font-size: 30px;
                font-weight: bolder;
            }
            .navigation {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-basis: 80%;
                text-align: right;
                gap: 20px;
            }

            .navigation &amp;gt; li {
                align-items: center;
            }

            .navigation &amp;gt; li &amp;gt; a {
                color: #999;
                cursor: pointer;
            }

            .navigation &amp;gt; li &amp;gt; a:hover {
                color: white;
            }

            .main-section {
                display: flex;
                align-items: center;

                justify-content: center;
                height: calc(100% - 120px);
            }

            .context-content {
                display: flex;
            }

            .running-text {
                list-style: none;
                margin: 0;
                padding: 0;
                margin-left: 10px;
                height: 40px;
                overflow: hidden;
            }

            .running-text &amp;gt; li {
                display: block;
                animation: change 10s infinite;
                transform: translate3d(0,0,0);
            }

            .running-text &amp;gt; li &amp;gt; p {
                margin: 0;
                padding: 0;
                background: -webkit-linear-gradient(#eee, #6d37c5);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
            }

            @keyframes change {
                0%, 13%, 100% {transform:translate3d(0,0,0);}
                18%, 28% {transform:translate3d(0,-97%,0);}
                35%,46% {transform:translate3d(0,-200%,0);}
                50%,65% {transform:translate3d(0,-97%,0);}
                72%, 100% {transform:translate3d(0,0,0);}
            }
        &amp;lt;/style&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
        &amp;lt;header class="header"&amp;gt;
            &amp;lt;div class="brand"&amp;gt;
                Logo
            &amp;lt;/div&amp;gt;
            &amp;lt;div&amp;gt;
                &amp;lt;ul class="navigation"&amp;gt;
                    &amp;lt;li&amp;gt;
                        &amp;lt;a&amp;gt;Home&amp;lt;/a&amp;gt;
                    &amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;
                        &amp;lt;a&amp;gt;About me&amp;lt;/a&amp;gt;
                    &amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;
                        &amp;lt;a&amp;gt;Projects&amp;lt;/a&amp;gt;
                    &amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;
                        &amp;lt;a&amp;gt;Contact us&amp;lt;/a&amp;gt;
                    &amp;lt;/li&amp;gt;
                &amp;lt;/ul&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/header&amp;gt;
        &amp;lt;main class="main-section"&amp;gt;
            &amp;lt;h1 class="context-content"&amp;gt;
                Welcome to the
                &amp;lt;ul class="running-text"&amp;gt;
                    &amp;lt;li&amp;gt;
                        &amp;lt;p&amp;gt;World!&amp;lt;/p&amp;gt;
                    &amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;
                        &amp;lt;p&amp;gt;Developers!&amp;lt;/p&amp;gt;
                    &amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;
                        &amp;lt;p&amp;gt;Everyone!&amp;lt;/p&amp;gt;
                    &amp;lt;/li&amp;gt;
                &amp;lt;/ul&amp;gt;
            &amp;lt;/h1&amp;gt;
        &amp;lt;/main&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you found this tutorial helpful, please give it a thumbs up 👍 and follow 🔔 to our page for more web development tutorials. &lt;/p&gt;

&lt;p&gt;Feel free to ask any questions or share your thoughts in the comments section below. We appreciate your feedback and suggestions for future tutorials.&lt;/p&gt;

&lt;p&gt;That's all and Thanks for reading my article.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay Updated with Our Latest Content!
&lt;/h2&gt;

&lt;p&gt;If you found this article informative and valuable, consider subscribing to our YouTube channel for more insightful content, tutorials, and updates. By subscribing, you'll stay up-to-date with the latest developments in web development, technology, and much more.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://youtube.com/@simpledevcode?feature=shared" rel="noopener noreferrer"&gt;Subscribe to Our Channel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't miss out on the opportunity to expand your knowledge and skills. Join our growing community of learners and enthusiasts today!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>animation</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Advanced Next.js URL handling with URLSearchParams</title>
      <dc:creator>Lakshmanan Arumugam</dc:creator>
      <pubDate>Thu, 26 Oct 2023 03:30:00 +0000</pubDate>
      <link>https://forem.com/lakshmananarumugam/advanced-nextjs-url-handling-with-urlsearchparams-2gp3</link>
      <guid>https://forem.com/lakshmananarumugam/advanced-nextjs-url-handling-with-urlsearchparams-2gp3</guid>
      <description>&lt;h2&gt;
  
  
  Video Tutorial
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/shorts/OcpXXmaSpo0?feature=shared" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In Next.js, you can work with URL query parameters using the next/router module, which provides a way to access and manipulate the query string parameters of the current URL. Query parameters are typically used to pass data from one page to another or to filter content on a page. Here's how you can work with URL query parameters in Next.js:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;&lt;br&gt;
Setup next.js project. if you want more about it &lt;a href="https://simple-dev-code.blogspot.com/2023/10/step-by-step-guide-to-setting-up-nextjs.html" rel="noopener noreferrer"&gt;read the article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;&lt;br&gt;
Import URL search params in your file &lt;code&gt;page.tsx|jsx&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 { useSearchParams } from 'next/navigation'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt;&lt;br&gt;
Use the useSearchParams hook into the file like below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export default function Example() {
  const searchParams = useSearchParams()!;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt;&lt;br&gt;
Accessing query params value into your component:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export default function Example() {
  let term;

  const searchParams = useSearchParams()!;
  // Set updated value to the term
  if(searchParams?.has('term')) {
    term = searchParams.get('term');
  }

  return (
    &amp;lt;h1&amp;gt;Search term: {term}&amp;lt;/h1&amp;gt;
  )
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt;&lt;br&gt;
Now, in the browser url next to add the value like this &lt;code&gt;localhost:3000?term=tutorials&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It's will automatically show's in the page. refer the screenshot&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvopvtkzjgc5k0ftf0a6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvopvtkzjgc5k0ftf0a6.png" alt="Demo" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Complete source code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;'use client';

import { useState, useCallback } from 'react'
import { Dialog } from '@headlessui/react'
import { XMarkIcon, MagnifyingGlassIcon } from '@heroicons/react/24/outline'
import { useSearchParams, useRouter, usePathname } from 'next/navigation'

const navigation = [
  { name: 'Product', href: '#' },
  { name: 'Features', href: '#' },
  { name: 'Marketplace', href: '#' },
  { name: 'Company', href: '#' },
]

export default function Example() {
  let term;

  const router = useRouter()
  const pathname = usePathname()
  const [mobileMenuOpen, setMobileMenuOpen] = useState(false)

  const searchParams = useSearchParams()!;
  // Set updated value to the term
  if(searchParams?.has('term')) {
    term = searchParams.get('term');
  }

  const [searchTerm, setSearchTerm] = useState(term);  

  // Update Search params to url
  const createQueryString = useCallback(
    (name: string, value: string) =&amp;gt; {
      const params = new URLSearchParams(searchParams)
      params.set(name, value)

      return params.toString()
    },
    [searchParams]
  )

  return (
    &amp;lt;main&amp;gt;
      &amp;lt;div className="bg-white dark:bg-slate-800"&amp;gt;
        &amp;lt;header className="absolute inset-x-0 top-0 z-50"&amp;gt;
          &amp;lt;nav className="flex items-center justify-between p-6 lg:px-8" aria-label="Global"&amp;gt;
            &amp;lt;div className="flex lg:flex-1"&amp;gt;
              &amp;lt;a href="#" className="-m-1.5 p-1.5"&amp;gt;
                &amp;lt;span className="sr-only"&amp;gt;Your Company&amp;lt;/span&amp;gt;
                &amp;lt;img
                  className="h-8 w-auto"
                  src="https://tailwindui.com/img/logos/mark.svg?color=indigo&amp;amp;shade=600"
                  alt=""
                /&amp;gt;
              &amp;lt;/a&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="flex lg:hidden"&amp;gt;
                &amp;lt;div className="relative mt-2 rounded-md shadow-sm"&amp;gt;
                  &amp;lt;div className="pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2 text-black"&amp;gt;
                    &amp;lt;MagnifyingGlassIcon width={16} height={15}/&amp;gt;
                  &amp;lt;/div&amp;gt;
                  &amp;lt;input
                    type="text"
                    name="price"
                    value={searchTerm}
                    onBlur={(e) =&amp;gt; {
                      router.push(pathname + '?' + createQueryString('term', e.target.value))
                    }}
                    onChange={(e) =&amp;gt; {
                      setSearchTerm(e.target.value)
                    }}
                    id="price"
                    className="block w-full rounded-md border-0 py-1.5 pl-7 pr-20 text-gray-900 ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
                    placeholder="Enter name"
                  /&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="hidden lg:flex lg:gap-x-12"&amp;gt;
              {navigation.map((item) =&amp;gt; (
                &amp;lt;a key={item.name} href={item.href} className="text-sm font-semibold leading-6 text-gray-900 dark:text-white"&amp;gt;
                  {item.name}
                &amp;lt;/a&amp;gt;
              ))}
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="hidden lg:flex lg:flex-1 lg:justify-end"&amp;gt;
              &amp;lt;div className="relative mt-2 rounded-md shadow-sm"&amp;gt;
                &amp;lt;div className="pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2 text-black"&amp;gt;
                  &amp;lt;MagnifyingGlassIcon width={16} height={15}/&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;input
                  type="text"
                  name="price"
                  value={searchTerm}
                  onBlur={(e) =&amp;gt; {
                    router.push(pathname + '?' + createQueryString('term', e.target.value))
                  }}
                  onChange={(e) =&amp;gt; {
                    setSearchTerm(e.target.value)
                  }}
                  id="price"
                  className="block w-full rounded-md border-0 py-1.5 pl-7 pr-20 text-gray-900 ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
                  placeholder="Enter name"
                /&amp;gt;
              &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
          &amp;lt;/nav&amp;gt;
          &amp;lt;Dialog as="div" className="lg:hidden" open={mobileMenuOpen} onClose={setMobileMenuOpen}&amp;gt;
            &amp;lt;div className="fixed inset-0 z-50" /&amp;gt;
            &amp;lt;Dialog.Panel className="fixed inset-y-0 right-0 z-50 w-full overflow-y-auto bg-white px-6 py-6 sm:max-w-sm sm:ring-1 sm:ring-gray-900/10"&amp;gt;
              &amp;lt;div className="flex items-center justify-between"&amp;gt;
                &amp;lt;a href="#" className="-m-1.5 p-1.5"&amp;gt;
                  &amp;lt;span className="sr-only"&amp;gt;Your Company&amp;lt;/span&amp;gt;
                  &amp;lt;img
                    className="h-8 w-auto"
                    src="https://tailwindui.com/img/logos/mark.svg?color=indigo&amp;amp;shade=600"
                    alt=""
                  /&amp;gt;
                &amp;lt;/a&amp;gt;
                &amp;lt;button
                  type="button"
                  className="-m-2.5 rounded-md p-2.5 text-gray-700"
                  onClick={() =&amp;gt; setMobileMenuOpen(false)}
                &amp;gt;
                  &amp;lt;span className="sr-only"&amp;gt;Close menu&amp;lt;/span&amp;gt;
                  &amp;lt;XMarkIcon className="h-6 w-6" aria-hidden="true" /&amp;gt;
                &amp;lt;/button&amp;gt;
              &amp;lt;/div&amp;gt;
              &amp;lt;div className="mt-6 flow-root"&amp;gt;
                &amp;lt;div className="-my-6 divide-y divide-gray-500/10"&amp;gt;
                  &amp;lt;div className="space-y-2 py-6"&amp;gt;
                    {navigation.map((item) =&amp;gt; (
                      &amp;lt;a
                        key={item.name}
                        href={item.href}
                        className="-mx-3 block rounded-lg px-3 py-2 text-base font-semibold leading-7 text-gray-900 hover:bg-gray-50"
                      &amp;gt;
                        {item.name}
                      &amp;lt;/a&amp;gt;
                    ))}
                  &amp;lt;/div&amp;gt;
                  &amp;lt;div className="py-6"&amp;gt;
                    &amp;lt;a
                      href="#"
                      className="-mx-3 block rounded-lg px-3 py-2.5 text-base font-semibold leading-7 text-gray-900 hover:bg-gray-50"
                    &amp;gt;
                      Log in
                    &amp;lt;/a&amp;gt;
                  &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
              &amp;lt;/div&amp;gt;
            &amp;lt;/Dialog.Panel&amp;gt;
          &amp;lt;/Dialog&amp;gt;
        &amp;lt;/header&amp;gt;

        &amp;lt;div className="relative isolate px-6 pt-14 lg:px-8"&amp;gt;
          &amp;lt;div
            className="absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80"
            aria-hidden="true"
          &amp;gt;
            &amp;lt;div
              className="relative left-[calc(50%-11rem)] aspect-[1155/678] w-[36.125rem] -translate-x-1/2 rotate-[30deg] bg-gradient-to-tr from-[#ff80b5] to-[#9089fc] opacity-30 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]"
              style={{
                clipPath:
                  'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',
              }}
            /&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;div className="mx-auto max-w-2xl py-32 sm:py-48 lg:py-56"&amp;gt;
            &amp;lt;div className="hidden sm:mb-8 sm:flex sm:justify-center"&amp;gt;
              &amp;lt;div className="relative rounded-full px-3 py-1 text-sm leading-6 text-gray-600 ring-1 ring-gray-900/10 hover:ring-gray-900/20"&amp;gt;
                Announcing our next round of funding.{' '}
                &amp;lt;a href="#" className="font-semibold text-indigo-600"&amp;gt;
                  &amp;lt;span className="absolute inset-0" aria-hidden="true" /&amp;gt;
                  Read more &amp;lt;span aria-hidden="true"&amp;gt;&amp;amp;rarr;&amp;lt;/span&amp;gt;
                &amp;lt;/a&amp;gt;
              &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="text-center"&amp;gt;
              &amp;lt;h1 className="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl dark:text-white"&amp;gt;
                Data to enrich your {term}
              &amp;lt;/h1&amp;gt;
              &amp;lt;p className="mt-6 text-lg leading-8 text-gray-600"&amp;gt;
                Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet
                fugiat veniam occaecat fugiat aliqua.
              &amp;lt;/p&amp;gt;
              &amp;lt;div className="mt-10 flex items-center justify-center gap-x-6"&amp;gt;
                &amp;lt;a
                  href="#"
                  className="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
                &amp;gt;
                  Get started
                &amp;lt;/a&amp;gt;
                &amp;lt;a href="#" className="text-sm font-semibold leading-6 text-gray-900"&amp;gt;
                  Learn more &amp;lt;span aria-hidden="true"&amp;gt;→&amp;lt;/span&amp;gt;
                &amp;lt;/a&amp;gt;
              &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
          &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/main&amp;gt;
  )
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's all and Thanks for reading my article.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay Updated with Our Latest Content!
&lt;/h2&gt;

&lt;p&gt;If you found this article informative and valuable, consider subscribing to our YouTube channel for more insightful content, tutorials, and updates. By subscribing, you'll stay up-to-date with the latest developments in web development, technology, and much more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/@simpledevcode?feature=shared" rel="noopener noreferrer"&gt;👉 Subscribe to Our Channel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't miss out on the opportunity to expand your knowledge and skills. Join our growing community of learners and enthusiasts today!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>urlsearchparams</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
