<?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: Kishan Sheth</title>
    <description>The latest articles on DEV Community by Kishan Sheth (@kishansheth).</description>
    <link>https://dev.to/kishansheth</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%2F521478%2F3f08902a-35a8-46df-aaed-3167a30a1585.jpeg</url>
      <title>DEV Community: Kishan Sheth</title>
      <link>https://dev.to/kishansheth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kishansheth"/>
    <language>en</language>
    <item>
      <title>🔥 200 Project Ideas from Beginner to Advanced with Open Source Contributions 🚀</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Sat, 09 Nov 2024 19:09:58 +0000</pubDate>
      <link>https://dev.to/kishansheth/200-project-ideas-from-beginner-to-advanced-with-open-source-contributions-3g6a</link>
      <guid>https://dev.to/kishansheth/200-project-ideas-from-beginner-to-advanced-with-open-source-contributions-3g6a</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Are you ready to dive into the world of coding with real-world projects? Whether you're a beginner looking to learn the fundamentals or an experienced developer seeking a challenging new endeavor, this curated list of 200 project ideas has something for everyone. Each project is designed to enhance your technical skills and strengthen your understanding of modern frameworks and tools. From personal portfolios to complex applications, these projects cover a wide range of difficulties and technologies, helping you become a well-rounded developer.&lt;/p&gt;

&lt;p&gt;This list is structured to give you a comprehensive path for learning and practicing, with every project including a detailed description, suggested tech stack, key features, learning goals, and ways to contribute if you’re interested in open-source development. Start building, and let these projects take you on an exciting journey through web development, mobile applications, data science, and beyond!&lt;/p&gt;

&lt;p&gt;You can also subscribe to my YouTube channel for full stack project implementations. &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%2Fbyjl9pfimls3yka2aajw.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%2Fbyjl9pfimls3yka2aajw.png" alt="Kishan Sheth Youtube Channel" width="800" height="683"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.youtube.com/@KishanSheth21" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.googleusercontent.com%2Fxz3FxbdyDZv8uqNncx2ko51UOIEyJ_PmEet76NEfis-jE1h23l56GeTcDGPyddgPh9hX7SPNbA%3Ds900-c-k-c0x00ffffff-no-rj" height="900" class="m-0" width="900"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.youtube.com/@KishanSheth21" rel="noopener noreferrer" class="c-link"&gt;
          Kishan Sheth - YouTube
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          The Channel is mainly focused on development with Javascript.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.youtube.com%2Fs%2Fdesktop%2F477ecd89%2Fimg%2Flogos%2Ffavicon.ico" width="16" height="16"&gt;
        youtube.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;





&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Project Name&lt;/th&gt;
&lt;th&gt;Level&lt;/th&gt;
&lt;th&gt;Link to Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Personal Portfolio with Blog&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;E-commerce Platform&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Social Media Dashboard&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Real-time Chat Application&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Full-Stack Video Streaming Platform&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Task Management App with Kanban and Real-time Collaboration&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Decentralized Marketplace on Blockchain&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;AI-powered Image and Video Editor&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;SaaS Project Management Tool&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Weather Dashboard&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;Recipe Sharing App&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;Real-Time Multiplayer Game&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;Blogging Platform with Markdown Editor&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;Pomodoro Timer with Task Management&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;Full-Stack Social Media Platform&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;Expense Tracker with Budget Analysis&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;News Aggregator with Category Filters&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;Crypto Portfolio Tracker&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;Language Translation App with History&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;AI-powered Document Scanner and Analyzer&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;Habit Tracker with Progress Analytics&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;Fitness and Workout Planner&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;Personal Finance Tracker with Budgeting&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;Book Recommendation System&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;Video Conference Platform with Screen Sharing&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;Daily Journal App with Calendar Integration&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;Restaurant Reservation System&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;Health Data Dashboard with IoT Integration&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;Recipe Sharing App with Voice Recognition&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;AI-powered Language Learning Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31&lt;/td&gt;
&lt;td&gt;Music Playlist Generator with Recommendations&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;Job Application Tracker&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;33&lt;/td&gt;
&lt;td&gt;Real-Time Cryptocurrency Trading Simulator&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;34&lt;/td&gt;
&lt;td&gt;To-Do List with Reminders&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;Personal Budget Tracker with Monthly Analysis&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;td&gt;Task Timer with Pomodoro Technique&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;37&lt;/td&gt;
&lt;td&gt;Personal Document Vault with Encryption&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;Job Search Engine with Custom Filters&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;Recipe Box with Ingredient Shopping List&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;Peer-to-Peer File Sharing App&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;41&lt;/td&gt;
&lt;td&gt;AI-Driven Movie Recommendation System&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;42&lt;/td&gt;
&lt;td&gt;Travel Itinerary Planner with Maps Integration&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;43&lt;/td&gt;
&lt;td&gt;Book Library with Online Reading Tracker&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;td&gt;Fitness Tracking App with GPS Integration&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;E-commerce Platform with AI-powered Product Recommendations&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;td&gt;Remote Team Collaboration Board&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;47&lt;/td&gt;
&lt;td&gt;Notes App with Rich Text Editing&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;Real-Time Stock Market Dashboard&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;49&lt;/td&gt;
&lt;td&gt;Mental Health Journal with Mood Tracking&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;IoT Home Automation Dashboard&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;51&lt;/td&gt;
&lt;td&gt;Flashcard App with Spaced Repetition&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;52&lt;/td&gt;
&lt;td&gt;Blogging Platform with Social Sharing&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;53&lt;/td&gt;
&lt;td&gt;Meme Generator with Templates&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;54&lt;/td&gt;
&lt;td&gt;Multiplayer Quiz Game&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;55&lt;/td&gt;
&lt;td&gt;Virtual Reality Travel Experience&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;56&lt;/td&gt;
&lt;td&gt;Personal Finance Advisor with AI Analysis&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;57&lt;/td&gt;
&lt;td&gt;Virtual Journal with Mood Tracking&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;E-commerce Store with Augmented Reality (AR)&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;59&lt;/td&gt;
&lt;td&gt;AI Chatbot with Contextual Understanding&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;td&gt;Decentralized Voting System on Blockchain&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;61&lt;/td&gt;
&lt;td&gt;Daily Affirmations App&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;62&lt;/td&gt;
&lt;td&gt;Markdown Note-Taking App&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;63&lt;/td&gt;
&lt;td&gt;Real Estate Listing Platform&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;64&lt;/td&gt;
&lt;td&gt;Dynamic Data Dashboard with GraphQL&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;65&lt;/td&gt;
&lt;td&gt;Fitness Challenge App&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;66&lt;/td&gt;
&lt;td&gt;Decentralized File Storage on IPFS&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;67&lt;/td&gt;
&lt;td&gt;Personal Library Catalog&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;68&lt;/td&gt;
&lt;td&gt;Customer Relationship Management (CRM) Tool&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;69&lt;/td&gt;
&lt;td&gt;Stock Trading Simulator with AI Predictions&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;70&lt;/td&gt;
&lt;td&gt;Recipe Finder with Favorites&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;71&lt;/td&gt;
&lt;td&gt;Budget Planner with Monthly Analysis&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;72&lt;/td&gt;
&lt;td&gt;Minimalist Habit Tracker&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;73&lt;/td&gt;
&lt;td&gt;Real-Time Sports Scoreboard&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;74&lt;/td&gt;
&lt;td&gt;Personal Finance and Investment Tracker&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;75&lt;/td&gt;
&lt;td&gt;Task Manager with Categories&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;Blockchain-based Document Authentication System&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;77&lt;/td&gt;
&lt;td&gt;Mood Tracker with Weekly Insights&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;78&lt;/td&gt;
&lt;td&gt;Travel Planning and Expense Tracker&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;79&lt;/td&gt;
&lt;td&gt;Social Media Dashboard with Analytics&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;Voice-Activated Personal Assistant&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;81&lt;/td&gt;
&lt;td&gt;Minimalist Budget Tracker&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;82&lt;/td&gt;
&lt;td&gt;Automated Job Application Tracker&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;83&lt;/td&gt;
&lt;td&gt;Blogging Platform with Media Upload&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;84&lt;/td&gt;
&lt;td&gt;Goal Tracker with Progress Analytics&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;85&lt;/td&gt;
&lt;td&gt;NFT Marketplace with Auction Mechanism&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;86&lt;/td&gt;
&lt;td&gt;Study Planner with Calendar Integration&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;87&lt;/td&gt;
&lt;td&gt;Simple Chat Application with Emojis&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;88&lt;/td&gt;
&lt;td&gt;AI-Powered Virtual Stylist&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;td&gt;Online Whiteboard with Collaborative Drawing&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;td&gt;Meditation and Relaxation App&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;91&lt;/td&gt;
&lt;td&gt;Smart Home Automation Control Panel&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;92&lt;/td&gt;
&lt;td&gt;Grocery List App with Categories&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;93&lt;/td&gt;
&lt;td&gt;Audio Book Player with Chapter Highlights&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;94&lt;/td&gt;
&lt;td&gt;Decentralized Crowdfunding Platform on Blockchain&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;95&lt;/td&gt;
&lt;td&gt;Daily Quotes Generator&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;96&lt;/td&gt;
&lt;td&gt;Video Streaming Platform with Chat&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;97&lt;/td&gt;
&lt;td&gt;Simple Recipe Book&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;98&lt;/td&gt;
&lt;td&gt;Decentralized Identity Verification System&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99&lt;/td&gt;
&lt;td&gt;Music Playlist Curator with API Integration&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;Workout Logger with Timer&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;AI-Powered Resume Scanner and Job Matcher&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;102&lt;/td&gt;
&lt;td&gt;Personal Recipe Generator&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;103&lt;/td&gt;
&lt;td&gt;Daily Journal with Sentiment Analysis&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;104&lt;/td&gt;
&lt;td&gt;Real-Time Stock Market Trading Simulator&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;105&lt;/td&gt;
&lt;td&gt;Customizable Goal Setting App&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;106&lt;/td&gt;
&lt;td&gt;Daily Planner with Calendar View&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;107&lt;/td&gt;
&lt;td&gt;Quiz Platform with Leaderboards&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;108&lt;/td&gt;
&lt;td&gt;Cryptocurrency Price Tracker with Alerts&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;109&lt;/td&gt;
&lt;td&gt;Simple Timer and Stopwatch&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;110&lt;/td&gt;
&lt;td&gt;AI-Powered Grammar Checker&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;111&lt;/td&gt;
&lt;td&gt;Recipe Sharing Platform with Ratings&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;112&lt;/td&gt;
&lt;td&gt;Weather App with Geolocation&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;113&lt;/td&gt;
&lt;td&gt;Real Estate Marketplace with Map Integration&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;114&lt;/td&gt;
&lt;td&gt;Blockchain-Based Document Notarization Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;115&lt;/td&gt;
&lt;td&gt;Expense Tracker with Simple Analytics&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;116&lt;/td&gt;
&lt;td&gt;Vocabulary Builder with Flashcards&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;117&lt;/td&gt;
&lt;td&gt;Decentralized Social Media Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;118&lt;/td&gt;
&lt;td&gt;Collaborative Task Management Tool&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;119&lt;/td&gt;
&lt;td&gt;Habit Streak Tracker&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;AI-Based Health Analysis Dashboard&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;121&lt;/td&gt;
&lt;td&gt;Real-Time Chat Support Widget&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;122&lt;/td&gt;
&lt;td&gt;Workout Routine Planner&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;123&lt;/td&gt;
&lt;td&gt;Peer-to-Peer Cryptocurrency Exchange&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;124&lt;/td&gt;
&lt;td&gt;Event Management and Ticketing System&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;125&lt;/td&gt;
&lt;td&gt;AI-Driven Sales Forecasting Platform&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;126&lt;/td&gt;
&lt;td&gt;Countdown Timer App&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;127&lt;/td&gt;
&lt;td&gt;Personal Budgeting Tool with Multi-Currency Support&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;128&lt;/td&gt;
&lt;td&gt;AI-Powered Language Translator&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;129&lt;/td&gt;
&lt;td&gt;Habit Calendar&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;130&lt;/td&gt;
&lt;td&gt;Collaborative Notes with Markdown Support&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;131&lt;/td&gt;
&lt;td&gt;Decentralized Voting App with Privacy Protocols&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;132&lt;/td&gt;
&lt;td&gt;Digital Flashcards with Spaced Repetition&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;133&lt;/td&gt;
&lt;td&gt;Customizable CRM for Small Businesses&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;134&lt;/td&gt;
&lt;td&gt;Automated Email Marketing Platform with Analytics&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;135&lt;/td&gt;
&lt;td&gt;Pomodoro Timer with Task Integration&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;136&lt;/td&gt;
&lt;td&gt;Personal Investment Dashboard with Market Insights&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;137&lt;/td&gt;
&lt;td&gt;AI-Driven Content Creation Platform&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;138&lt;/td&gt;
&lt;td&gt;Personal Book Library&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;139&lt;/td&gt;
&lt;td&gt;Real-Time Collaboration Platform for Teams&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;140&lt;/td&gt;
&lt;td&gt;NFT-Based Art Gallery Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;141&lt;/td&gt;
&lt;td&gt;Personal Finance Assistant with AI&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;142&lt;/td&gt;
&lt;td&gt;IoT Smart Garden Management System&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;143&lt;/td&gt;
&lt;td&gt;Personal Diary with Mood Tracker&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;144&lt;/td&gt;
&lt;td&gt;Real-Time Job Board with Notifications&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;145&lt;/td&gt;
&lt;td&gt;Personal Nutrition Tracker&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;146&lt;/td&gt;
&lt;td&gt;Social Media Content Scheduler&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;147&lt;/td&gt;
&lt;td&gt;Decentralized Marketplace for Digital Goods&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;148&lt;/td&gt;
&lt;td&gt;Shopping List with Categorized Items&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;149&lt;/td&gt;
&lt;td&gt;Inventory Management System for Small Businesses&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;td&gt;AI-Powered Recruitment Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;151&lt;/td&gt;
&lt;td&gt;Virtual Mood Journal with Daily Prompts&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;152&lt;/td&gt;
&lt;td&gt;Event Ticketing System with QR Code Verification&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;153&lt;/td&gt;
&lt;td&gt;AI-Driven Social Media Sentiment Analysis&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;154&lt;/td&gt;
&lt;td&gt;Minimalist Habit Tracker with Streaks&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;155&lt;/td&gt;
&lt;td&gt;Collaborative Shopping List for Families&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;156&lt;/td&gt;
&lt;td&gt;Real-Time Cryptocurrency Portfolio with AI Predictions&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;157&lt;/td&gt;
&lt;td&gt;Personal Recipe Manager&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;158&lt;/td&gt;
&lt;td&gt;Customizable Budget Planner&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;159&lt;/td&gt;
&lt;td&gt;Decentralized Lending and Borrowing Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;160&lt;/td&gt;
&lt;td&gt;Study Planner with Daily Reminders&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;161&lt;/td&gt;
&lt;td&gt;Real-Time Traffic Monitoring Dashboard&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;162&lt;/td&gt;
&lt;td&gt;AI-Powered Workout Planner&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;163&lt;/td&gt;
&lt;td&gt;Simple Job Application Tracker&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;164&lt;/td&gt;
&lt;td&gt;Community Forum with User Moderation&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;165&lt;/td&gt;
&lt;td&gt;AI-Powered Document Summarizer&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;166&lt;/td&gt;
&lt;td&gt;Contact Manager with Import/Export&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;167&lt;/td&gt;
&lt;td&gt;AI-Based Stock Trading Assistant&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;168&lt;/td&gt;
&lt;td&gt;Supply Chain Management System with Blockchain&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;169&lt;/td&gt;
&lt;td&gt;Workout Logger with Progress Analytics&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;170&lt;/td&gt;
&lt;td&gt;Personal Finance Dashboard with Forecasting&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;171&lt;/td&gt;
&lt;td&gt;Decentralized Voting Platform with Audit Logs&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;172&lt;/td&gt;
&lt;td&gt;Personal Movie Watchlist&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;173&lt;/td&gt;
&lt;td&gt;AI Resume Analyzer&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;174&lt;/td&gt;
&lt;td&gt;Blockchain-Based Voting System for Company Polls&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;175&lt;/td&gt;
&lt;td&gt;Language Learning App with Speech Recognition&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;176&lt;/td&gt;
&lt;td&gt;AI-Based SEO Content Analysis Tool&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;177&lt;/td&gt;
&lt;td&gt;Virtual Study Group Platform with Video Chat&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;178&lt;/td&gt;
&lt;td&gt;Digital Recipe Card Organizer&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;179&lt;/td&gt;
&lt;td&gt;Personal Journal with Photo Entries&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;180&lt;/td&gt;
&lt;td&gt;Real-Time Forex Trading Platform with Analytics&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;181&lt;/td&gt;
&lt;td&gt;Family Recipe Sharing App&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;182&lt;/td&gt;
&lt;td&gt;Mood-Based Music Recommendation&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;183&lt;/td&gt;
&lt;td&gt;Team Project Management with Gantt Chart&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;184&lt;/td&gt;
&lt;td&gt;AI-Driven Email Categorization Tool&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;185&lt;/td&gt;
&lt;td&gt;Virtual Flashcard Study Tool&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;186&lt;/td&gt;
&lt;td&gt;Blogging Platform with Real-Time Commenting&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;187&lt;/td&gt;
&lt;td&gt;Smart Contracts for Insurance Claims&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;188&lt;/td&gt;
&lt;td&gt;Goal Setting and Tracking App&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;189&lt;/td&gt;
&lt;td&gt;Health Data Tracker with Wearable Integration&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;190&lt;/td&gt;
&lt;td&gt;Multi-Currency E-commerce Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;191&lt;/td&gt;
&lt;td&gt;Minimalist Daily Planner&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;192&lt;/td&gt;
&lt;td&gt;E-learning Platform with Video Courses&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;193&lt;/td&gt;
&lt;td&gt;Real Estate Marketplace with Virtual Tours&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;194&lt;/td&gt;
&lt;td&gt;Music Player with Lyrics Display&lt;/td&gt;
&lt;td&gt;Advanced Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;195&lt;/td&gt;
&lt;td&gt;Smart Home Control Dashboard&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;196&lt;/td&gt;
&lt;td&gt;Decentralized Content Sharing Platform&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;197&lt;/td&gt;
&lt;td&gt;Countdown to Events&lt;/td&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;198&lt;/td&gt;
&lt;td&gt;Fitness Progress Tracker with Photo Comparisons&lt;/td&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;199&lt;/td&gt;
&lt;td&gt;AI-Powered Legal Document Analysis Tool&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;Blockchain-based Supply Chain Management&lt;/td&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;View Details&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




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




&lt;h3&gt;
  
  
  1. &lt;strong&gt;Beginner: Personal Portfolio with Blog&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a personal portfolio website with an integrated blog where users can add, edit, and delete posts. This is an excellent project for learning the basics of frontend and backend development and gaining foundational experience in React and Next.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Tailwind CSS, Markdown for blogging, Firebase for data storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;User-friendly UI with responsive design&lt;/li&gt;
&lt;li&gt;Basic authentication for blog management&lt;/li&gt;
&lt;li&gt;Markdown editor for creating blog posts&lt;/li&gt;
&lt;li&gt;Dynamic routing for blog posts and pages&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: HTML/CSS basics, React components, Next.js routing, Firebase basics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Provides a beginner-friendly open-source project for new developers to contribute and learn.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. &lt;strong&gt;Intermediate: E-commerce Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a full-featured e-commerce website with product listings, a shopping cart, and a payment gateway. This project introduces more complex frontend features and backend integration, perfect for expanding JS and React skills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Next.js, Node.js, MongoDB, Stripe for payments, Zustand for state management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Product search, filter, and sorting&lt;/li&gt;
&lt;li&gt;Shopping cart and checkout process&lt;/li&gt;
&lt;li&gt;Payment integration with Stripe&lt;/li&gt;
&lt;li&gt;User profiles with order history&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API development with Node.js, managing state with Zustand, and integrating payment systems.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Aimed at demonstrating full-stack architecture with Node.js and MongoDB, making it a helpful reference for e-commerce development.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. &lt;strong&gt;Advanced Beginner: Social Media Dashboard&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A lightweight social media dashboard where users can track analytics from various social media platforms. This app focuses on frontend skills with API integration and asynchronous data handling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Tailwind CSS, REST APIs (Twitter, YouTube, Instagram).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Data visualization with charts (using Chart.js)&lt;/li&gt;
&lt;li&gt;OAuth authentication for connecting social accounts&lt;/li&gt;
&lt;li&gt;Summary metrics for followers, views, likes, etc.&lt;/li&gt;
&lt;li&gt;Dark mode and user-friendly UI&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: RESTful API handling, OAuth basics, data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Builds knowledge on using social media APIs and handling user authentication, great for contributors learning frontend-heavy development.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. &lt;strong&gt;Intermediate: Real-time Chat Application&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop a chat app with real-time messaging, channels, and private messaging. Users can send files and create groups, making it an ideal project for understanding websockets and handling asynchronous events.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: MERN (MongoDB, Express, React, Node.js), Socket.IO for real-time messaging, JWT for authentication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time messaging and file sharing&lt;/li&gt;
&lt;li&gt;Channel creation and group chats&lt;/li&gt;
&lt;li&gt;Typing indicators and user online status&lt;/li&gt;
&lt;li&gt;User authentication and profile management&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Socket.IO, JWT, MongoDB CRUD, and frontend state management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributes to open-source chat projects and offers hands-on experience with real-time data.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  5. &lt;strong&gt;Advanced: Full-Stack Video Streaming Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a video streaming platform similar to YouTube with video uploads, streaming, and recommendations. This project covers advanced frontend and backend concepts, such as media handling, data streaming, and video encoding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, HLS for video streaming, AWS S3 for storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Video upload and encoding with HLS&lt;/li&gt;
&lt;li&gt;Content search, recommendations, and categories&lt;/li&gt;
&lt;li&gt;Commenting and likes/dislikes on videos&lt;/li&gt;
&lt;li&gt;User authentication and video history tracking&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Media storage and processing, MongoDB aggregation, and CDN integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Introduces contributors to video streaming, storage, and encoding techniques, valuable for media-heavy applications.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  6. &lt;strong&gt;Advanced: Task Management App with Kanban and Real-time Collaboration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a task management platform with a Kanban board that supports real-time collaboration between users. The app should allow users to assign tasks, set deadlines, and track progress collaboratively.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, GraphQL, Apollo, WebSockets for real-time collaboration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Task creation, assignment, and tracking&lt;/li&gt;
&lt;li&gt;Real-time collaboration and notifications&lt;/li&gt;
&lt;li&gt;Kanban board and drag-and-drop functionality&lt;/li&gt;
&lt;li&gt;Team member roles and permissions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: GraphQL and Apollo, WebSockets, advanced React state management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Useful as a collaborative productivity tool, introduces GraphQL and real-time features to contributors.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  7. &lt;strong&gt;Expert: Decentralized Marketplace on Blockchain&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop a decentralized marketplace where users can list items for sale, bid, or buy with cryptocurrency. The project provides hands-on experience with blockchain, smart contracts, and decentralized applications (dApps).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, Next.js, MetaMask for wallet integration, ethers.js, IPFS for decentralized storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Smart contracts for item listings, bidding, and transactions&lt;/li&gt;
&lt;li&gt;User wallet integration and profile management&lt;/li&gt;
&lt;li&gt;Transaction history with blockchain integration&lt;/li&gt;
&lt;li&gt;Secure storage for assets with IPFS&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Solidity smart contracts, Web3 integrations, and decentralized storage with IPFS.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports blockchain and Web3 open-source community, enabling contributors to learn decentralized marketplace fundamentals.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  8. &lt;strong&gt;Expert: AI-powered Image and Video Editor&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create an AI-powered image and video editor with advanced capabilities like background removal, color grading, and face detection. This project combines AI with practical applications in media editing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Python (for AI models), TensorFlow.js, FFMPEG, AWS Lambda for backend processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Background removal and object detection&lt;/li&gt;
&lt;li&gt;Filters and effects with real-time previews&lt;/li&gt;
&lt;li&gt;Basic video editing tools (trimming, merging)&lt;/li&gt;
&lt;li&gt;Export options and quality settings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Image processing, TensorFlow.js, video processing with FFMPEG.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Bridges media editing and AI, providing a complex, real-world project for AI in frontend.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  9. &lt;strong&gt;Expert: SaaS Project Management Tool&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a project management SaaS platform that features task tracking, project timelines, and collaboration tools, ideal for freelancers and teams. This project introduces full-scale SaaS architecture, security, and subscription management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Next.js, Node.js, Prisma, PostgreSQL, Stripe for subscription management, WebSockets for real-time updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Multi-tenant setup with project workspaces&lt;/li&gt;
&lt;li&gt;Real-time updates and notifications&lt;/li&gt;
&lt;li&gt;Role-based access control (RBAC) for team management&lt;/li&gt;
&lt;li&gt;Payment integration and subscription management with Stripe&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Multi-tenant applications, payment systems, and advanced backend management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: High-value SaaS project for open-source, useful as a blueprint for subscription-based services.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  10. &lt;strong&gt;Beginner: Weather Dashboard&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a weather dashboard that shows real-time weather information and forecasts for selected cities. Great for learning API integration and data display.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, OpenWeatherMap API, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Search for weather by city&lt;/li&gt;
&lt;li&gt;Display current temperature, humidity, and weather conditions&lt;/li&gt;
&lt;li&gt;7-day weather forecast&lt;/li&gt;
&lt;li&gt;Dark mode support&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API requests with Axios, basic state management, and component structuring.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Helps new developers understand API-driven applications, perfect for simple contributions.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  11. &lt;strong&gt;Intermediate: Recipe Sharing App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a platform where users can browse, add, and share recipes. Users can filter by ingredients, cuisine, and dietary preferences.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, MongoDB, Tailwind CSS, Firebase for authentication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Recipe listing and detailed view&lt;/li&gt;
&lt;li&gt;User authentication and profile management&lt;/li&gt;
&lt;li&gt;Search and filter by ingredients and dietary restrictions&lt;/li&gt;
&lt;li&gt;Favorite and save recipes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: MongoDB for data storage, search/filter functionality, and authentication.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: A collaborative project where contributors can add features or recipes.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  12. &lt;strong&gt;Advanced: Real-Time Multiplayer Game&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a real-time multiplayer game where players can join rooms, interact, and compete in mini-games. A fun project to dive into WebSockets and game logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Socket.IO, Canvas API for graphics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Lobby and room management&lt;/li&gt;
&lt;li&gt;Real-time player movement and actions&lt;/li&gt;
&lt;li&gt;Game scoring and leaderboard&lt;/li&gt;
&lt;li&gt;Chat within game rooms&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebSockets, game state management, and real-time interaction.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Promotes understanding of game logic and real-time systems in collaborative open-source environments.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  13. &lt;strong&gt;Intermediate: Blogging Platform with Markdown Editor&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A blogging platform where users can write, edit, and publish posts using a Markdown editor. Users can view and comment on each other's posts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, MongoDB, Markdown, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Rich text and Markdown editor for posts&lt;/li&gt;
&lt;li&gt;Commenting on posts&lt;/li&gt;
&lt;li&gt;User profile and post history&lt;/li&gt;
&lt;li&gt;Like, share, and save articles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Working with Markdown, CRUD operations with MongoDB, and state management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Provides a great opportunity for collaborative contributions in building additional features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  14. &lt;strong&gt;Advanced Beginner: Pomodoro Timer with Task Management&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A Pomodoro timer app where users can track their focus sessions and create tasks with time goals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage for persistence, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Timer for 25-minute focus sessions and 5-minute breaks&lt;/li&gt;
&lt;li&gt;Task list with time estimates and completed tracking&lt;/li&gt;
&lt;li&gt;Sound and notification reminders&lt;/li&gt;
&lt;li&gt;Dark mode option&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: React hooks, component-based UI, and local state management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: A beginner-friendly project that allows others to contribute custom features like themes and task statistics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  15. &lt;strong&gt;Advanced: Full-Stack Social Media Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a fully functional social media platform where users can create profiles, share posts, follow others, and like content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, GraphQL, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;User authentication and profile management&lt;/li&gt;
&lt;li&gt;Post creation, editing, and deletion&lt;/li&gt;
&lt;li&gt;Follower system and notifications&lt;/li&gt;
&lt;li&gt;Real-time feed updates and comment section&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: GraphQL for data handling, MongoDB for relational data, and API security.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for contributing various modules like the follower system, post analytics, or advanced feed algorithms.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  16. &lt;strong&gt;Intermediate: Expense Tracker with Budget Analysis&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build an app that allows users to log their expenses, categorize them, and analyze spending trends over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for storage, Chart.js for data visualization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and delete expense entries&lt;/li&gt;
&lt;li&gt;Categorization of expenses&lt;/li&gt;
&lt;li&gt;Monthly and yearly expense reports&lt;/li&gt;
&lt;li&gt;Graphical charts for spending analysis&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD with Firebase, data visualization, and state management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Provides a foundational finance app where contributors can add budget planning, notifications, and other customizations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  17. &lt;strong&gt;Advanced Beginner: News Aggregator with Category Filters&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a news aggregation app that pulls in news from various sources and allows users to filter by categories like technology, sports, and health.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, News API, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time news updates by category&lt;/li&gt;
&lt;li&gt;Search functionality for specific news&lt;/li&gt;
&lt;li&gt;Responsive and visually engaging layout&lt;/li&gt;
&lt;li&gt;Bookmark feature for saving articles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, handling data asynchronously, and dynamic filtering.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributors to add customizations such as new categories, article recommendations, and theme settings.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  18. &lt;strong&gt;Expert: Crypto Portfolio Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop a cryptocurrency portfolio tracker where users can monitor and analyze the value of their crypto holdings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, Coingecko API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and manage multiple cryptocurrencies&lt;/li&gt;
&lt;li&gt;Real-time price updates and portfolio valuation&lt;/li&gt;
&lt;li&gt;Graphs for value history and price alerts&lt;/li&gt;
&lt;li&gt;Integration with major wallets like MetaMask&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Crypto API integration, handling financial data, and portfolio analysis.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Aimed at crypto enthusiasts, it allows for contributions such as support for new coins, detailed analytics, and wallet integrations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  19. &lt;strong&gt;Intermediate: Language Translation App with History&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a translation app where users can translate phrases into multiple languages and view their translation history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Google Translation API, Local Storage for history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Text input and translation to multiple languages&lt;/li&gt;
&lt;li&gt;Translation history with timestamps&lt;/li&gt;
&lt;li&gt;Option to save favorite translations&lt;/li&gt;
&lt;li&gt;Simple and intuitive UI&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Working with third-party APIs, handling asynchronous data, and local storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Perfect for contributors to enhance with new language packs, voice input, or favorite phrases.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  20. &lt;strong&gt;Advanced: AI-powered Document Scanner and Analyzer&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a document scanner app that uses OCR (Optical Character Recognition) to scan documents and extract text. Optionally, add AI to categorize and analyze content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Python (for OCR), TensorFlow.js, AWS Lambda for backend processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Document scanning and text extraction&lt;/li&gt;
&lt;li&gt;Text categorization using AI&lt;/li&gt;
&lt;li&gt;Save scanned documents and export as PDF&lt;/li&gt;
&lt;li&gt;Optical character recognition for multi-language support&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: OCR processing, integrating AI for text analysis, and document management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Provides real-world use cases of AI, allowing contributors to add support for additional languages and image enhancements.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  21. &lt;strong&gt;Beginner: Habit Tracker with Progress Analytics&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a habit tracker where users can log daily habits and view progress over time. A simple project focused on data persistence and analytics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Chart.js for visualization, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track daily habits with simple toggles&lt;/li&gt;
&lt;li&gt;Progress analytics with weekly and monthly overviews&lt;/li&gt;
&lt;li&gt;Customizable habit names and icons&lt;/li&gt;
&lt;li&gt;Dark mode support&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: State management, basic data persistence, and chart integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for beginners, allowing contributors to add habit streaks, reminders, and category grouping.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  22. &lt;strong&gt;Intermediate: Fitness and Workout Planner&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a fitness app where users can build workout routines, set goals, and track progress. An ideal project to build CRUD functionality and understand data modeling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Tailwind CSS, and Framer Motion for animations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create, edit, and delete workout plans&lt;/li&gt;
&lt;li&gt;Daily progress tracking and goal setting&lt;/li&gt;
&lt;li&gt;Exercise library with searchable routines&lt;/li&gt;
&lt;li&gt;Visual animations for a dynamic user experience&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Firebase for data storage, CRUD operations, and frontend animations.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Provides a collaborative base for adding new exercises, plan recommendations, or motivational features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  23. &lt;strong&gt;Advanced Beginner: Personal Finance Tracker with Budgeting&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build an app for tracking daily expenses, budgeting, and analyzing spending. Focuses on financial data entry and visualization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase or Local Storage, Chart.js, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and categorize expenses&lt;/li&gt;
&lt;li&gt;Set budgets and track progress&lt;/li&gt;
&lt;li&gt;Graphs for spending analysis by category&lt;/li&gt;
&lt;li&gt;Notifications when nearing budget limits&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Financial data handling, Chart.js for graphs, and Firebase basics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions for advanced analytics, recurring expenses, and budget templates.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  24. &lt;strong&gt;Intermediate: Book Recommendation System&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a book recommendation system where users can search for books, read reviews, and get recommendations based on interests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, Google Books API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Search for books and view details&lt;/li&gt;
&lt;li&gt;User reviews and ratings&lt;/li&gt;
&lt;li&gt;Recommendation engine based on user preferences&lt;/li&gt;
&lt;li&gt;User profiles with favorite books&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, recommendation algorithms, and data persistence with MongoDB.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding new recommendation features, genre tagging, and user engagement analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  25. &lt;strong&gt;Advanced: Video Conference Platform with Screen Sharing&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop a video conferencing platform supporting multiple participants, screen sharing, and chat functionalities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, WebRTC for video, Socket.IO, and Firebase for storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Video and audio calls with multiple participants&lt;/li&gt;
&lt;li&gt;Screen sharing and chat during calls&lt;/li&gt;
&lt;li&gt;Mute/unmute and video toggle options&lt;/li&gt;
&lt;li&gt;Session history and participant tracking&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebRTC for video streaming, real-time data with Socket.IO, and media management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Perfect for adding recording functionality, enhanced chat features, or meeting analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  26. &lt;strong&gt;Advanced Beginner: Daily Journal App with Calendar Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a journaling app that allows users to write daily entries and view them on a calendar. Helps with data handling and integrating calendars.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for storage, Calendar API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily journal entry with rich text&lt;/li&gt;
&lt;li&gt;Calendar view to access past entries&lt;/li&gt;
&lt;li&gt;Mood tracking with each entry&lt;/li&gt;
&lt;li&gt;Data export option to PDF&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Calendar API integration, rich text management, and CRUD operations.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add mood analytics, sentiment analysis, or custom themes.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  27. &lt;strong&gt;Intermediate: Restaurant Reservation System&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a restaurant reservation system that allows users to book tables and see availability in real-time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, and WebSockets for real-time updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Book, modify, or cancel reservations&lt;/li&gt;
&lt;li&gt;View available times and table options&lt;/li&gt;
&lt;li&gt;Notifications for booking confirmations&lt;/li&gt;
&lt;li&gt;Admin panel to manage reservations&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time booking, MongoDB for database management, and server-client communication.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding admin dashboards, restaurant analytics, or support for group reservations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  28. &lt;strong&gt;Expert: Health Data Dashboard with IoT Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a dashboard that collects health data (e.g., heart rate, steps) from IoT devices and visualizes it with trends and analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, Firebase, IoT API integration, and Chart.js for visualization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time data sync with IoT health devices&lt;/li&gt;
&lt;li&gt;Weekly and monthly health reports&lt;/li&gt;
&lt;li&gt;Visualization of heart rate, sleep patterns, etc.&lt;/li&gt;
&lt;li&gt;Health goals and progress tracking&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: IoT integration, real-time data handling, and data analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports additions like data export, alerts for abnormal readings, and wearable compatibility.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  29. &lt;strong&gt;Advanced Beginner: Recipe Sharing App with Voice Recognition&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a recipe app where users can add, edit, and share recipes, with the unique addition of voice recognition for hands-free cooking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Speech Recognition API, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Voice instructions for hands-free cooking&lt;/li&gt;
&lt;li&gt;Recipe search and filter&lt;/li&gt;
&lt;li&gt;Add and edit personal recipes&lt;/li&gt;
&lt;li&gt;User reviews and ratings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Working with voice recognition, CRUD operations, and user engagement.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add new cuisines, personalized recommendations, or integration with smart kitchen devices.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  30. &lt;strong&gt;Expert: AI-powered Language Learning Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a language learning platform with AI-powered grammar checks, pronunciation guides, and flashcards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, TensorFlow.js, Firebase, and Speech Recognition API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;AI grammar checks for writing exercises&lt;/li&gt;
&lt;li&gt;Pronunciation feedback and guide&lt;/li&gt;
&lt;li&gt;Flashcards with spaced repetition&lt;/li&gt;
&lt;li&gt;Weekly progress and goal tracking&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP with TensorFlow.js, spaced repetition algorithms, and API integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports development of additional languages, new flashcards, or pronunciation analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  31. &lt;strong&gt;Intermediate: Music Playlist Generator with Recommendations&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop an app that generates personalized playlists based on mood, genre, and user activity. Integrate with music APIs for data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Spotify API, Node.js, MongoDB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Mood and genre-based playlist generation&lt;/li&gt;
&lt;li&gt;Add and save custom playlists&lt;/li&gt;
&lt;li&gt;User activity-based recommendations&lt;/li&gt;
&lt;li&gt;Integration with Spotify for playback&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration with Spotify, data filtering, and mood analysis.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding new music sources, playlist themes, and personalized recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  32. &lt;strong&gt;Advanced: Job Application Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build an app to track job applications, including statuses, deadlines, and networking contacts. Helpful for job seekers to stay organized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, MongoDB, Tailwind CSS, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and organize job applications&lt;/li&gt;
&lt;li&gt;Track statuses (e.g., applied, interviewed, offered)&lt;/li&gt;
&lt;li&gt;Reminders for follow-ups and deadlines&lt;/li&gt;
&lt;li&gt;Company research and notes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Database CRUD operations, reminder notifications, and user profile management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages open-source development for additional tools, such as calendar integration or job search links.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  33. &lt;strong&gt;Expert: Real-Time Cryptocurrency Trading Simulator&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a simulated cryptocurrency trading platform where users can trade with virtual currency based on real-time market data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, Coingecko API, MongoDB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time cryptocurrency price updates&lt;/li&gt;
&lt;li&gt;Buy and sell cryptocurrencies with virtual funds&lt;/li&gt;
&lt;li&gt;Track portfolio growth and performance&lt;/li&gt;
&lt;li&gt;Leaderboard for top traders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time market data integration, simulated trading mechanics, and portfolio analysis.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: A platform to develop trading algorithms, risk analysis tools, or real-time market insights.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  34. &lt;strong&gt;Beginner: To-Do List with Reminders&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple to-do list app where users can create tasks, set deadlines, and receive reminders. Ideal for beginners learning CRUD and local storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Notification API, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and delete tasks&lt;/li&gt;
&lt;li&gt;Set deadlines and receive notifications&lt;/li&gt;
&lt;li&gt;Mark tasks as completed&lt;/li&gt;
&lt;li&gt;Priority-based task sorting&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD operations, local storage for data persistence, and notifications.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add features like color-coded priority levels, sub-tasks, and recurring reminders.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  35. &lt;strong&gt;Intermediate: Personal Budget Tracker with Monthly Analysis&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A budgeting app that helps users categorize and analyze expenses on a monthly basis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Chart.js for analytics, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add expenses with category tags&lt;/li&gt;
&lt;li&gt;Monthly analysis of spending habits&lt;/li&gt;
&lt;li&gt;Set budgets for each category&lt;/li&gt;
&lt;li&gt;Visual data representation with graphs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Firebase for CRUD, data visualization with Chart.js, and frontend component management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding custom features like predictive analytics, alerts for overspending, or integration with bank APIs.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  36. &lt;strong&gt;Advanced Beginner: Task Timer with Pomodoro Technique&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A productivity tool that helps users focus on tasks using the Pomodoro technique, including work intervals and break reminders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS, Notification API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;25-minute work intervals with 5-minute breaks&lt;/li&gt;
&lt;li&gt;Notifications for work and break start/end&lt;/li&gt;
&lt;li&gt;Task list with completion tracking&lt;/li&gt;
&lt;li&gt;Timer reset and customization options&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Managing timers with JavaScript, local storage for data persistence, and React hooks.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions for feature expansion, such as customizable intervals, sound notifications, and task analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  37. &lt;strong&gt;Advanced: Personal Document Vault with Encryption&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A secure vault where users can upload and store personal documents with encryption for privacy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, Crypto.js for encryption, AWS S3 for storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Upload, organize, and delete documents&lt;/li&gt;
&lt;li&gt;End-to-end encryption for document security&lt;/li&gt;
&lt;li&gt;User authentication and access control&lt;/li&gt;
&lt;li&gt;Tagging and search functionality&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Encryption basics, secure document handling, and storage with AWS S3.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Adds value to the open-source community by demonstrating encryption and secure data storage.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  38. &lt;strong&gt;Expert: Job Search Engine with Custom Filters&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A job search platform that aggregates job listings and allows users to filter results by skills, location, and experience level.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, Web Scraping for job data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Advanced search and filter options&lt;/li&gt;
&lt;li&gt;Bookmark and apply for jobs directly&lt;/li&gt;
&lt;li&gt;User profiles with saved job searches&lt;/li&gt;
&lt;li&gt;Email notifications for new listings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Web scraping, database management, and data filtering techniques.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions to integrate new job boards, refine filters, and expand notification features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  39. &lt;strong&gt;Intermediate: Recipe Box with Ingredient Shopping List&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An app where users can save favorite recipes and generate a shopping list based on selected ingredients.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Spoonacular API for recipes, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and save recipes&lt;/li&gt;
&lt;li&gt;Ingredient-based shopping list generator&lt;/li&gt;
&lt;li&gt;Search for recipes by ingredients&lt;/li&gt;
&lt;li&gt;Share recipes with friends&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, dynamic data handling, and state management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add new features like diet-based filtering, recipe ratings, and grocery store integration.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  40. &lt;strong&gt;Advanced: Peer-to-Peer File Sharing App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A decentralized file-sharing app where users can share files directly with peers using WebRTC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, WebRTC for peer-to-peer connections, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Secure file sharing between peers&lt;/li&gt;
&lt;li&gt;File size limit and progress indicators&lt;/li&gt;
&lt;li&gt;User authentication for private sharing&lt;/li&gt;
&lt;li&gt;Chat feature during file transfer&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebRTC for peer-to-peer, file handling, and secure data transfer.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for contributors interested in improving decentralized systems, adding transfer encryption, and enhancing security features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  41. &lt;strong&gt;Expert: AI-Driven Movie Recommendation System&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a movie recommendation system that learns user preferences and recommends movies based on watch history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, Machine Learning (Python backend), TensorFlow.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;User profiles with favorite genres&lt;/li&gt;
&lt;li&gt;Personalized movie recommendations&lt;/li&gt;
&lt;li&gt;Machine learning model for user preferences&lt;/li&gt;
&lt;li&gt;Rating system and watchlist&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Machine learning model deployment, user data management, and personalized recommendations.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to enhance the recommendation algorithm, add support for new genres, or develop advanced filtering options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  42. &lt;strong&gt;Intermediate: Travel Itinerary Planner with Maps Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A travel planner where users can create, edit, and save trip itineraries with an interactive map.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Google Maps API, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and manage trip details and stops&lt;/li&gt;
&lt;li&gt;Map integration for route planning&lt;/li&gt;
&lt;li&gt;Itinerary sharing with friends&lt;/li&gt;
&lt;li&gt;Budget estimation for trip expenses&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Maps API integration, CRUD with Firebase, and data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for community contributions, like weather updates, suggested attractions, and sharing itineraries.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  43. &lt;strong&gt;Advanced Beginner: Book Library with Online Reading Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A virtual book library where users can save and track reading progress for each book.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage or Firebase, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Save books and track reading progress&lt;/li&gt;
&lt;li&gt;Rate and review completed books&lt;/li&gt;
&lt;li&gt;Reading history and book recommendations&lt;/li&gt;
&lt;li&gt;Search and filter by genre&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD functionality, state management, and user personalization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributions for adding book ratings, reading goals, and book recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  44. &lt;strong&gt;Intermediate: Fitness Tracking App with GPS Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build an app where users can track their workouts, including GPS-tracked running or cycling sessions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for storage, Google Maps API for GPS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track GPS-based activities (running, cycling)&lt;/li&gt;
&lt;li&gt;Record distance, time, and calories burned&lt;/li&gt;
&lt;li&gt;View route on a map with location markers&lt;/li&gt;
&lt;li&gt;Set and track fitness goals&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: GPS tracking, Firebase for data management, and data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributions could include new workout types, analytics, and integration with fitness devices.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  45. &lt;strong&gt;Expert: E-commerce Platform with AI-powered Product Recommendations&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create an e-commerce platform with personalized recommendations powered by AI, including purchase and browsing history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, TensorFlow.js for AI recommendations, Stripe for payments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Product catalog with categories&lt;/li&gt;
&lt;li&gt;AI-based personalized recommendations&lt;/li&gt;
&lt;li&gt;Cart and checkout with Stripe integration&lt;/li&gt;
&lt;li&gt;User profiles and order history&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI for recommendations, payment integration, and database management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Useful for adding multi-vendor support, advanced analytics, and custom recommendation algorithms.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  46. &lt;strong&gt;Intermediate: Remote Team Collaboration Board&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A Kanban-style project management board for remote teams to collaborate on tasks in real-time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, WebSockets for real-time updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create and assign tasks to team members&lt;/li&gt;
&lt;li&gt;Real-time board updates and notifications&lt;/li&gt;
&lt;li&gt;Chat for team discussions&lt;/li&gt;
&lt;li&gt;Analytics for team productivity&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time updates, task management, and team collaboration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows the community to add advanced features like Gantt charts, task priorities, and file sharing.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  47. &lt;strong&gt;Advanced Beginner: Notes App with Rich Text Editing&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A notes app with a rich text editor for creating and organizing notes, similar to Google Keep.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage for offline storage, Draft.js or Slate.js for rich text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create, edit, and delete notes with rich text&lt;/li&gt;
&lt;li&gt;Organize notes with tags and folders&lt;/li&gt;
&lt;li&gt;Offline access with local storage&lt;/li&gt;
&lt;li&gt;Search notes by content or tags&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Working with rich text editors,&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;local storage, and offline data persistence.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Perfect for adding collaboration features, different themes, or exporting notes as PDF.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  48. &lt;strong&gt;Expert: Real-Time Stock Market Dashboard&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop a real-time stock market dashboard that displays stock data, trends, and news with AI-driven predictions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, WebSocket for real-time data, Alpha Vantage API for stock data, TensorFlow.js for predictions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time stock price updates&lt;/li&gt;
&lt;li&gt;Visual stock trends with AI predictions&lt;/li&gt;
&lt;li&gt;Personalized watchlists&lt;/li&gt;
&lt;li&gt;News integration for stock updates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time data management, AI prediction models, and user customization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: A collaborative project for financial tech, with room for contributors to add new stock sources, advanced analytics, and prediction algorithms.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  49. &lt;strong&gt;Intermediate: Mental Health Journal with Mood Tracking&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a mental health journal app where users can log their mood and view trends over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for data storage, Chart.js for mood trends.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily mood logging with tags&lt;/li&gt;
&lt;li&gt;Mood trend analysis over weeks and months&lt;/li&gt;
&lt;li&gt;Add journal entries for each day&lt;/li&gt;
&lt;li&gt;Private, secure data storage&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Firebase for storage, data analytics, and chart visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for contributors interested in mental health, adding features like sentiment analysis, data export, and mood-based recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  50. &lt;strong&gt;Advanced: IoT Home Automation Dashboard&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A home automation dashboard for managing and monitoring IoT-enabled devices like lights, thermostat, and security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, Firebase, IoT APIs, Chart.js for data visualization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Connect and control IoT devices remotely&lt;/li&gt;
&lt;li&gt;Real-time status updates and notifications&lt;/li&gt;
&lt;li&gt;Energy usage reports and optimization tips&lt;/li&gt;
&lt;li&gt;User profiles and access control for device management&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: IoT API integration, real-time control, and user access management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows the community to contribute with new IoT device integrations, home automation scenarios, and energy-saving tips.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  51. &lt;strong&gt;Beginner: Flashcard App with Spaced Repetition&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a flashcard app where users can add cards and use spaced repetition to improve memory retention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and organize flashcards by category&lt;/li&gt;
&lt;li&gt;Spaced repetition algorithm for study sessions&lt;/li&gt;
&lt;li&gt;Track learning progress and review history&lt;/li&gt;
&lt;li&gt;Notifications for daily review reminders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD functionality, spaced repetition logic, and local storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add progress analytics, different algorithms, and a collaborative study mode.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  52. &lt;strong&gt;Intermediate: Blogging Platform with Social Sharing&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A blogging platform where users can write articles, comment on posts, and share on social media.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, MongoDB, Tailwind CSS, Firebase for auth.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Article creation, editing, and deletion&lt;/li&gt;
&lt;li&gt;Commenting and liking on posts&lt;/li&gt;
&lt;li&gt;User profiles with follower counts&lt;/li&gt;
&lt;li&gt;Social media sharing for articles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Authentication, database management, and social media API integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for added features like article recommendations, trending tags, and enhanced social integrations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  53. &lt;strong&gt;Advanced Beginner: Meme Generator with Templates&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a meme generator where users can add captions to images and share them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for image storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Template selection and custom captioning&lt;/li&gt;
&lt;li&gt;Image resizing and formatting&lt;/li&gt;
&lt;li&gt;Save and share memes with links&lt;/li&gt;
&lt;li&gt;Search and filter by popular meme templates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Image manipulation, Firebase storage, and user interaction.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Users can contribute by adding new templates, sharing functionality, or advanced text editing.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  54. &lt;strong&gt;Advanced: Multiplayer Quiz Game&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop a real-time multiplayer quiz game where users can compete in trivia questions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Socket.IO, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time question display and scoring&lt;/li&gt;
&lt;li&gt;User lobby and chat during games&lt;/li&gt;
&lt;li&gt;Timed questions and live leaderboards&lt;/li&gt;
&lt;li&gt;Categories and difficulty levels for quizzes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebSocket for real-time data, Firebase for persistence, and timer functionality.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributions like new question categories, difficulty customization, and in-game rewards.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  55. &lt;strong&gt;Expert: Virtual Reality Travel Experience&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Create a VR travel app that simulates famous travel destinations with 360° views.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Three.js for 3D rendering, Firebase for data storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;360° views of famous landmarks&lt;/li&gt;
&lt;li&gt;Information overlay for points of interest&lt;/li&gt;
&lt;li&gt;Audio narration for immersive experiences&lt;/li&gt;
&lt;li&gt;Favorites list to bookmark visited places&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: VR development with Three.js, data handling, and multimedia integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributions can add new locations, audio guides, and visual enhancements for a richer VR experience.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  56. &lt;strong&gt;Intermediate: Personal Finance Advisor with AI Analysis&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A financial advisor app that provides spending insights and savings recommendations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for AI, and Chart.js for data visualization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track income, expenses, and savings&lt;/li&gt;
&lt;li&gt;AI-powered insights based on spending habits&lt;/li&gt;
&lt;li&gt;Monthly budget recommendations&lt;/li&gt;
&lt;li&gt;Progress tracking with graphs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Machine learning, financial data management, and user personalization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for additional AI modules, spending suggestions, and enhanced financial analysis.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  57. &lt;strong&gt;Advanced Beginner: Virtual Journal with Mood Tracking&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A journal app that allows users to log entries with mood tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Tailwind CSS, Chart.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily journal entry with mood indicators&lt;/li&gt;
&lt;li&gt;Mood trend analysis over time&lt;/li&gt;
&lt;li&gt;Secure storage and private access&lt;/li&gt;
&lt;li&gt;Searchable journal history&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD with Firebase, chart integration, and authentication.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add mood-based insights, additional journal themes, or export options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  58. &lt;strong&gt;Advanced: E-commerce Store with Augmented Reality (AR)&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build an e-commerce store with AR functionality where users can preview products in their space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, AR.js, Firebase for data storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Product catalog with AR previews&lt;/li&gt;
&lt;li&gt;Cart and checkout with Stripe integration&lt;/li&gt;
&lt;li&gt;Product recommendations and reviews&lt;/li&gt;
&lt;li&gt;User profiles with order history&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AR.js for augmented reality, e-commerce flows, and payment integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for developing features like AR animations, new payment gateways, and improved AR product views.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  59. &lt;strong&gt;Intermediate: AI Chatbot with Contextual Understanding&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A chatbot that provides responses based on context, useful for customer service.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Dialogflow for NLP, Firebase for data storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Context-aware conversation flow&lt;/li&gt;
&lt;li&gt;Customizable responses and triggers&lt;/li&gt;
&lt;li&gt;User feedback for response improvement&lt;/li&gt;
&lt;li&gt;Analytics for chatbot interactions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP with Dialogflow, data handling, and analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions for new chatbot scripts, analytics features, and improved conversational accuracy.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  60. &lt;strong&gt;Advanced: Decentralized Voting System on Blockchain&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A secure voting platform on blockchain for private and tamper-proof elections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, MetaMask, Ethereum, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Voter registration and verification&lt;/li&gt;
&lt;li&gt;Tamper-proof voting and result transparency&lt;/li&gt;
&lt;li&gt;Election history and audit trails&lt;/li&gt;
&lt;li&gt;Wallet-based voting system&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain smart contracts, decentralized apps, and Web3.js.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributions can focus on UI enhancements, integrating new voting methods, and analytics for results.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  61. &lt;strong&gt;Beginner: Daily Affirmations App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a daily affirmations app that delivers motivational quotes to users.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily affirmation notifications&lt;/li&gt;
&lt;li&gt;Save favorite affirmations&lt;/li&gt;
&lt;li&gt;Dark and light theme toggle&lt;/li&gt;
&lt;li&gt;Customizable notification timing&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Local storage, basic UI styling, and notification handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for new contributors to add more affirmations, personalized quotes, or voice-guided affirmations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  62. &lt;strong&gt;Advanced Beginner: Markdown Note-Taking App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A note-taking app with Markdown support and text formatting options.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Write and format notes in Markdown&lt;/li&gt;
&lt;li&gt;Organize notes with tags and folders&lt;/li&gt;
&lt;li&gt;Autosave and version history for notes&lt;/li&gt;
&lt;li&gt;Export notes to PDF&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Markdown formatting, data storage, and text editing.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add themes, Markdown extensions, and more export options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  63. &lt;strong&gt;Intermediate: Real Estate Listing Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A real estate listing platform with filtering, map integration, and user favorites.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, MongoDB, Firebase, Google Maps API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Search and filter property listings&lt;/li&gt;
&lt;li&gt;Map integration with location markers&lt;/li&gt;
&lt;li&gt;User profiles with saved listings&lt;/li&gt;
&lt;li&gt;Image galleries and property details&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, data management, and UI components.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding new filters, rental or purchase options, and additional map integrations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  64. &lt;strong&gt;Advanced: Dynamic Data Dashboard with GraphQL&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A dynamic data dashboard that allows users to fetch, filter, and visualize data from multiple APIs using GraphQL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Apollo GraphQL, MongoDB, Chart.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;GraphQL-based data fetching and filtering&lt;/li&gt;
&lt;li&gt;Customizable widgets for data visualization&lt;/li&gt;
&lt;li&gt;Data export options (CSV, PDF)&lt;/li&gt;
&lt;li&gt;User authentication for saving dashboards&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: GraphQL, data visualization, and API integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add new data sources, chart types, or export formats.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  65. &lt;strong&gt;Intermediate: Fitness Challenge App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An app for users to join fitness challenges, log progress, and earn points.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Tailwind CSS, Chart.js.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Join and track progress in fitness challenges&lt;/li&gt;
&lt;li&gt;Earn points for completed activities&lt;/li&gt;
&lt;li&gt;Leaderboard for top participants&lt;/li&gt;
&lt;li&gt;Personalized goals and rewards

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Learning Path&lt;/strong&gt;: State management, user interaction, and leaderboard creation.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions for challenge customization, user badges, and community rewards.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  66. &lt;strong&gt;Expert: Decentralized File Storage on IPFS&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A file storage platform that leverages IPFS for secure and decentralized file storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, IPFS, MetaMask, Web3.js, Firebase for metadata storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Upload files to IPFS with content hashing&lt;/li&gt;
&lt;li&gt;User authentication via MetaMask&lt;/li&gt;
&lt;li&gt;Encrypted file storage and retrieval&lt;/li&gt;
&lt;li&gt;Activity log for file actions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: IPFS, blockchain integration, and encryption.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports contributions like additional encryption layers, access controls, and enhanced metadata handling.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  67. &lt;strong&gt;Advanced Beginner: Personal Library Catalog&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A personal library catalog where users can log, organize, and review books they own.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage or Firebase, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and organize books with custom tags&lt;/li&gt;
&lt;li&gt;Search by title, author, or genre&lt;/li&gt;
&lt;li&gt;Add ratings and reviews for each book&lt;/li&gt;
&lt;li&gt;Book tracking for read/unread status&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD operations, data organization, and search functionality.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding advanced filters, multi-user support, or book recommendation features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  68. &lt;strong&gt;Intermediate: Customer Relationship Management (CRM) Tool&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a CRM tool for small businesses to manage customers, track leads, and analyze sales performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, Firebase for authentication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Customer and lead management with notes&lt;/li&gt;
&lt;li&gt;Sales pipeline tracking and status updates&lt;/li&gt;
&lt;li&gt;Analytics for sales and customer interactions&lt;/li&gt;
&lt;li&gt;Multi-user access with role-based permissions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data handling, CRUD, and analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions for advanced analytics, email integrations, and custom reporting features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  69. &lt;strong&gt;Expert: Stock Trading Simulator with AI Predictions&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop a stock trading simulator with AI predictions based on market trends, allowing users to practice trading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, TensorFlow.js, Stock Market API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Buy and sell stocks with virtual funds&lt;/li&gt;
&lt;li&gt;AI-powered market trend predictions&lt;/li&gt;
&lt;li&gt;Portfolio tracking with performance metrics&lt;/li&gt;
&lt;li&gt;Leaderboard and ranking for top traders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI for trend prediction, financial data handling, and performance analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding new market indicators, more stock data sources, and trading algorithms.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  70. &lt;strong&gt;Beginner: Recipe Finder with Favorites&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple recipe finder app where users can search for recipes and save favorites.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Spoonacular API for recipes, Local Storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Search recipes by keyword&lt;/li&gt;
&lt;li&gt;View detailed recipe instructions and ingredients&lt;/li&gt;
&lt;li&gt;Save recipes to a favorites list&lt;/li&gt;
&lt;li&gt;Simple UI for browsing and managing favorites&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API handling, local storage for persistence, and component-based UI.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add advanced filters, shareable recipe links, and personalized recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  71. &lt;strong&gt;Intermediate: Budget Planner with Monthly Analysis&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A budgeting app that helps users track expenses and visualize monthly spending habits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Chart.js for analytics, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Expense logging with categories&lt;/li&gt;
&lt;li&gt;Monthly spending analysis with charts&lt;/li&gt;
&lt;li&gt;Budget tracking and alerts for overspending&lt;/li&gt;
&lt;li&gt;Detailed breakdowns by category&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data handling with Firebase, chart visualization, and user interactions.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for the addition of budget templates, spending insights, and alerts for unusual spending.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  72. &lt;strong&gt;Advanced Beginner: Minimalist Habit Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple habit tracker where users can set daily habits and track their consistency over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and customize daily habits&lt;/li&gt;
&lt;li&gt;Visualize streaks and consistency&lt;/li&gt;
&lt;li&gt;Basic analytics for habit completion&lt;/li&gt;
&lt;li&gt;Reminders for daily check-ins&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Local storage, component state management, and data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding progress graphs, streak tracking, and user insights.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  73. &lt;strong&gt;Expert: Real-Time Sports Scoreboard&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A real-time sports scoreboard for live scores, stats, and commentary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Socket.IO, Firebase, and Sports API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time score updates and statistics&lt;/li&gt;
&lt;li&gt;Live commentary and highlights&lt;/li&gt;
&lt;li&gt;Notifications for key events (e.g., goals, touchdowns)&lt;/li&gt;
&lt;li&gt;Game history and performance charts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebSocket for real-time updates, sports API integration, and data handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add support for different sports, advanced stats, and real-time commentary integration.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  74. &lt;strong&gt;Intermediate: Personal Finance and Investment Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An app to track personal finances, investments, and stock performance in one place.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Chart.js for visualization, Stock Market API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track expenses and investments by category&lt;/li&gt;
&lt;li&gt;Monitor stock performance and portfolio growth&lt;/li&gt;
&lt;li&gt;Monthly finance analysis and goals&lt;/li&gt;
&lt;li&gt;Customizable dashboard with key metrics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Financial data handling, stock API integration, and user personalization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding investment strategies, personalized recommendations, and more stock data sources.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  75. &lt;strong&gt;Advanced Beginner: Task Manager with Categories&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple task manager where users can organize tasks by categories and priority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and delete tasks&lt;/li&gt;
&lt;li&gt;Organize tasks into customizable categories&lt;/li&gt;
&lt;li&gt;Priority-based sorting and filtering&lt;/li&gt;
&lt;li&gt;Reminders and notifications for deadlines&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD functionality, local storage, and category filtering.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding task color coding, category analytics, and recurring tasks.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  76. &lt;strong&gt;Expert: Blockchain-based Document Authentication System&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A document authentication system on the blockchain for tamper-proof certification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, MetaMask, Ethereum, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Upload and verify documents with blockchain hashing&lt;/li&gt;
&lt;li&gt;User wallet integration for signing and verification&lt;/li&gt;
&lt;li&gt;Tamper-proof history for document validation&lt;/li&gt;
&lt;li&gt;Detailed transaction logs for each document&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain smart contracts, Web3.js, and document security.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributions can focus on UI enhancements, integrating document types, and validation analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  77. &lt;strong&gt;Advanced Beginner: Mood Tracker with Weekly Insights&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A mood-tracking app where users can log daily moods and receive weekly insights.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Chart.js for visualization, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily mood logging with icons or color-coding&lt;/li&gt;
&lt;li&gt;Weekly and monthly mood analytics&lt;/li&gt;
&lt;li&gt;Journal entries for mood context&lt;/li&gt;
&lt;li&gt;Searchable history and notes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD with local storage, chart integration, and mood visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add custom mood analytics, export functionality, or mood-based recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  78. &lt;strong&gt;Intermediate: Travel Planning and Expense Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An app where users can plan trips, set budgets, and track expenses along the way.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase for storage, Google Maps API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Trip itinerary planning with locations&lt;/li&gt;
&lt;li&gt;Expense tracking per trip&lt;/li&gt;
&lt;li&gt;Map integration for route planning&lt;/li&gt;
&lt;li&gt;Detailed travel reports with budget analysis&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Maps API integration, CRUD with Firebase, and budget handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for community contributions like weather updates, suggested attractions, and budget-saving tips.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  79. &lt;strong&gt;Advanced: Social Media Dashboard with Analytics&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A social media dashboard to analyze engagement across multiple platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, MongoDB, Firebase, Chart.js for data visualization, and social media APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track followers, likes, and engagement rates&lt;/li&gt;
&lt;li&gt;Comparative analysis across platforms&lt;/li&gt;
&lt;li&gt;Weekly and monthly trend reports&lt;/li&gt;
&lt;li&gt;Notifications for significant milestones&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, data analytics, and chart visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports contributions for custom analytics, platform-specific insights, and engagement predictions.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  80. &lt;strong&gt;Intermediate: Voice-Activated Personal Assistant&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a personal assistant app that can respond to voice commands and perform simple tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Speech Recognition API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Recognize and execute voice commands&lt;/li&gt;
&lt;li&gt;Perform tasks like reminders, weather, and search&lt;/li&gt;
&lt;li&gt;Store frequently used commands&lt;/li&gt;
&lt;li&gt;Feedback and error-handling for failed commands&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Speech recognition, command handling, and Firebase.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions for advanced command features, personalized responses, and multi-language support.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  81. &lt;strong&gt;Advanced Beginner: Minimalist Budget Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A minimalist budget tracker to help users manage daily expenses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track daily and monthly expenses&lt;/li&gt;
&lt;li&gt;Simple category tagging for each expense&lt;/li&gt;
&lt;li&gt;Graphical representation of spending habits&lt;/li&gt;
&lt;li&gt;Budget notifications for overspending&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data handling, local storage, and user interface design.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add categories, advanced analytics, and budgeting tips.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  82. &lt;strong&gt;Expert: Automated Job Application Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A job application tracker that automates application submission and follows up with reminders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, Selenium for automation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Job tracking by company, position, and status&lt;/li&gt;
&lt;li&gt;Auto-apply to job listings based on resume and criteria&lt;/li&gt;
&lt;li&gt;Reminders for follow-up and interview preparation&lt;/li&gt;
&lt;li&gt;Analytics for success rates and application insights&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Web scraping with Selenium, job data handling, and automation.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for contributions in application scheduling, resume parsing, and analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  83. &lt;strong&gt;Intermediate: Blogging Platform with Media Upload&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A blogging platform where users can write, edit, and upload media (images, videos) in their posts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase for media storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Article creation with rich text and media support&lt;/li&gt;
&lt;li&gt;Commenting and liking on posts&lt;/li&gt;
&lt;li&gt;User profiles and follower counts&lt;/li&gt;
&lt;li&gt;Media upload and organization for articles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Media upload with Firebase, CRUD operations, and rich text editing.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding article templates, media analytics, and sharing features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  84. &lt;strong&gt;Advanced Beginner: Goal Tracker with Progress Analytics&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A goal-tracking app where users can set personal goals and track progress visually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Chart.js for visualization, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set, edit, and delete goals with deadlines&lt;/li&gt;
&lt;li&gt;Visual progress tracking for each goal&lt;/li&gt;
&lt;li&gt;Notifications for goal milestones&lt;/li&gt;
&lt;li&gt;Goal completion analytics and insights&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD functionality, chart visualization, and data persistence.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add goal categories, priority tags, and milestone rewards.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  85. &lt;strong&gt;Expert: NFT Marketplace with Auction Mechanism&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Develop an NFT marketplace where users can list, buy, and auction NFTs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, MetaMask, Ethereum, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;NFT minting and listing for sale&lt;/li&gt;
&lt;li&gt;Auction system for NFT bidding&lt;/li&gt;
&lt;li&gt;Secure wallet integration for transactions&lt;/li&gt;
&lt;li&gt;Transaction history and NFT analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NFT creation, blockchain auction mechanics, and marketplace UI.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: A perfect platform for adding auction customization, fee structures, and analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  86. &lt;strong&gt;Intermediate: Study Planner with Calendar Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A study planner to help students organize assignments, tests, and study sessions with a calendar view.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Calendar API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and organize study tasks&lt;/li&gt;
&lt;li&gt;Calendar view for assignment deadlines and tests&lt;/li&gt;
&lt;li&gt;Progress tracking for completed tasks&lt;/li&gt;
&lt;li&gt;Notifications and reminders for due dates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Calendar API integration, CRUD with Firebase, and progress tracking.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding study templates, peer sharing, and group study planning.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  87. &lt;strong&gt;Advanced Beginner: Simple Chat Application with Emojis&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A basic chat application with emoji support and customizable themes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for chat data, Emoji Picker.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time messaging and emoji support&lt;/li&gt;
&lt;li&gt;Customizable themes and fonts&lt;/li&gt;
&lt;li&gt;User profiles and typing indicators&lt;/li&gt;
&lt;li&gt;Chat history with search functionality&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time chat with Firebase, emoji integration, and theme customization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages contributions for GIF support, user blocking, and additional themes.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  88. &lt;strong&gt;Advanced: AI-Powered Virtual Stylist&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build an AI-powered fashion stylist app where users can get outfit suggestions based on their wardrobe, occasion, and weather.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, TensorFlow.js for AI, Weather API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Wardrobe management and outfit catalog&lt;/li&gt;
&lt;li&gt;AI-based outfit suggestions for occasions and weather&lt;/li&gt;
&lt;li&gt;Personalized style recommendations&lt;/li&gt;
&lt;li&gt;Social sharing for favorite outfits&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Machine learning for recommendations, weather API integration, and user personalization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add more outfit templates, style preferences, and AI improvements.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  89. &lt;strong&gt;Intermediate: Online Whiteboard with Collaborative Drawing&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A collaborative online whiteboard where users can draw, write, and brainstorm together in real-time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for real-time data, WebSockets for collaboration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time drawing and writing tools&lt;/li&gt;
&lt;li&gt;Multiple user collaboration with chat&lt;/li&gt;
&lt;li&gt;Save and share whiteboards&lt;/li&gt;
&lt;li&gt;Zoom and pan functionality&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time data handling, WebSocket integration, and drawing tools.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding new drawing tools, canvas shapes, and collaboration features like video chat.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  90. &lt;strong&gt;Beginner: Meditation and Relaxation App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A meditation app with guided sessions, ambient sounds, and breathing exercises.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Meditation session timers&lt;/li&gt;
&lt;li&gt;Background sounds (nature, white noise)&lt;/li&gt;
&lt;li&gt;Breathing exercises with visual guidance&lt;/li&gt;
&lt;li&gt;Track and save meditation sessions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Basic UI development, timer management, and user experience design.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding more meditation sounds, guided sessions, and progress tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  91. &lt;strong&gt;Expert: Smart Home Automation Control Panel&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A control panel to manage IoT-enabled smart home devices like lights, thermostat, and security cameras.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, IoT APIs, WebSockets for real-time updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Control smart devices remotely&lt;/li&gt;
&lt;li&gt;Real-time device status updates&lt;/li&gt;
&lt;li&gt;Usage analytics and energy savings insights&lt;/li&gt;
&lt;li&gt;Voice command integration&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: IoT integration, real-time data with WebSockets, and voice command handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports additional IoT device integration, personalized automation rules, and security controls.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  92. &lt;strong&gt;Advanced Beginner: Grocery List App with Categories&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A grocery list app where users can create lists, categorize items, and mark items as purchased.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and organize grocery items by category&lt;/li&gt;
&lt;li&gt;Mark items as purchased&lt;/li&gt;
&lt;li&gt;Save multiple lists for different occasions&lt;/li&gt;
&lt;li&gt;Dark mode for better UI experience&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data organization, local storage, and component design.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add features like list sharing, price tracking, and store-specific lists.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  93. &lt;strong&gt;Intermediate: Audio Book Player with Chapter Highlights&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An audiobook player that allows users to listen to audiobooks, bookmark chapters, and highlight sections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for storage, HTML5 Audio API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Play, pause, and bookmark audio chapters&lt;/li&gt;
&lt;li&gt;Highlight sections and save notes&lt;/li&gt;
&lt;li&gt;User profiles for tracking books&lt;/li&gt;
&lt;li&gt;Speed control and audio quality settings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Audio handling with HTML5, Firebase for bookmarks, and user customization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributions for new playback features, audio file organization, and enhanced bookmarking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  94. &lt;strong&gt;Expert: Decentralized Crowdfunding Platform on Blockchain&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A crowdfunding platform on blockchain where users can create projects and accept cryptocurrency donations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, MetaMask, Ethereum, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Project creation and donation tracking&lt;/li&gt;
&lt;li&gt;Secure wallet-based donations&lt;/li&gt;
&lt;li&gt;Transparency with transaction logs&lt;/li&gt;
&lt;li&gt;Project milestones with funding goals&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain smart contracts, decentralized payments, and Web3.js.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding fundraising analytics, goal tracking, and project updates.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  95. &lt;strong&gt;Beginner: Daily Quotes Generator&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple app that displays a new motivational quote every day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Display a new daily quote&lt;/li&gt;
&lt;li&gt;Save favorite quotes to a list&lt;/li&gt;
&lt;li&gt;Randomize quotes for more inspiration&lt;/li&gt;
&lt;li&gt;Simple UI with theme options&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Basic data handling, local storage, and API fetching.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add more quote categories, daily notifications, and design customizations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  96. &lt;strong&gt;Intermediate: Video Streaming Platform with Chat&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a video streaming platform with real-time chat for live events or shows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, Firebase for storage, WebRTC for streaming.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Live video streaming with WebRTC&lt;/li&gt;
&lt;li&gt;Real-time chat alongside the video&lt;/li&gt;
&lt;li&gt;User profiles with streaming history&lt;/li&gt;
&lt;li&gt;Notifications for upcoming events&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Video streaming with WebRTC, real-time data with Firebase, and chat integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding features like screen sharing, user reactions, and improved chat functionalities.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  97. &lt;strong&gt;Advanced Beginner: Simple Recipe Book&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A recipe book app where users can save and categorize their favorite recipes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and categorize recipes&lt;/li&gt;
&lt;li&gt;Search recipes by ingredients or title&lt;/li&gt;
&lt;li&gt;Bookmark favorite recipes&lt;/li&gt;
&lt;li&gt;Dark mode for readability&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data organization, local storage, and simple UI design.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add recipe sharing, custom tags, and advanced search filters.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  98. &lt;strong&gt;Expert: Decentralized Identity Verification System&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Build a decentralized identity verification system to provide secure digital identities on blockchain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, MetaMask, Ethereum, IPFS for storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Verify identity with smart contracts&lt;/li&gt;
&lt;li&gt;Secure storage on IPFS&lt;/li&gt;
&lt;li&gt;User profile with verification history&lt;/li&gt;
&lt;li&gt;Cross-platform identity integration&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain for identity verification, IPFS for secure storage, and Web3 integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding multi-factor authentication, biometric verification, and enhanced security protocols.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  99. &lt;strong&gt;Intermediate: Music Playlist Curator with API Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An app where users can curate playlists and fetch recommendations from a music API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Spotify API, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Playlist creation and customization&lt;/li&gt;
&lt;li&gt;Fetch song recommendations from Spotify&lt;/li&gt;
&lt;li&gt;Favorite and share playlists&lt;/li&gt;
&lt;li&gt;Filter songs by genre and mood&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, data management, and playlist customization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add new music sources, playlist themes, and personalized recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  100. &lt;strong&gt;Advanced Beginner: Workout Logger with Timer&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple workout logger where users can record exercises and track workout time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Log exercises with reps and sets&lt;/li&gt;
&lt;li&gt;Timer for tracking workout duration&lt;/li&gt;
&lt;li&gt;Save workout sessions for progress tracking&lt;/li&gt;
&lt;li&gt;Categorize exercises by type&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data persistence, time tracking, and user interaction.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Encourages additions like workout recommendations, calorie tracking, and custom exercise categories.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  101. &lt;strong&gt;Advanced: AI-Powered Resume Scanner and Job Matcher&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An AI-powered tool that scans resumes and matches them to job listings based on keywords and skills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Upload and scan resumes&lt;/li&gt;
&lt;li&gt;AI-powered keyword extraction for skills&lt;/li&gt;
&lt;li&gt;Job matching based on resume content&lt;/li&gt;
&lt;li&gt;Feedback and suggestions for resume improvement&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP for keyword extraction, AI model training, and resume parsing.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding industry-specific keywords, job recommendations, and resume analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  102. &lt;strong&gt;Intermediate: Personal Recipe Generator&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A recipe generator that suggests recipes based on ingredients the user has on hand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Spoonacular API for recipes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Search recipes by available ingredients&lt;/li&gt;
&lt;li&gt;Save and favorite generated recipes&lt;/li&gt;
&lt;li&gt;User profile with dietary preferences&lt;/li&gt;
&lt;li&gt;Share recipes with friends&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API handling, Firebase for data storage, and user customization.&lt;/li&gt;

&lt;li&gt;**Open-source&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Focus**: Contributors can add dietary filtering, advanced ingredient substitution, and more recipe sources.&lt;/p&gt;




&lt;h3&gt;
  
  
  103. &lt;strong&gt;Advanced Beginner: Daily Journal with Sentiment Analysis&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A journal app with a sentiment analysis tool to track emotional trends.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, TensorFlow.js for sentiment analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Write and save daily journal entries&lt;/li&gt;
&lt;li&gt;Sentiment analysis for each entry&lt;/li&gt;
&lt;li&gt;View emotional trends over time&lt;/li&gt;
&lt;li&gt;Private storage and secure login&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Sentiment analysis with TensorFlow.js, data visualization, and private storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for the addition of detailed emotion categorization, sentiment export, and more analysis tools.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  104. &lt;strong&gt;Expert: Real-Time Stock Market Trading Simulator&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simulator for real-time stock trading with virtual funds and leaderboards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, Stock Market API, WebSockets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time stock price updates&lt;/li&gt;
&lt;li&gt;Buy and sell stocks with virtual currency&lt;/li&gt;
&lt;li&gt;Portfolio tracking with performance charts&lt;/li&gt;
&lt;li&gt;Leaderboards and achievement badges&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time data handling, trading logic, and financial analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Perfect for adding investment strategies, new market data sources, and trading bots.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  105. &lt;strong&gt;Intermediate: Customizable Goal Setting App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A goal-setting app where users can set, track, and share their personal goals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Tailwind CSS, Chart.js for tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Set and customize personal goals&lt;/li&gt;
&lt;li&gt;Track progress with visual charts&lt;/li&gt;
&lt;li&gt;Reminders for goal check-ins&lt;/li&gt;
&lt;li&gt;Share goals with friends for accountability&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD with Firebase, chart integration, and goal tracking.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add group goals, motivational rewards, and advanced goal types.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  106. &lt;strong&gt;Beginner: Daily Planner with Calendar View&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A daily planner that allows users to schedule tasks, view upcoming events, and set reminders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and delete tasks&lt;/li&gt;
&lt;li&gt;Calendar view for daily, weekly, and monthly plans&lt;/li&gt;
&lt;li&gt;Reminders for tasks and events&lt;/li&gt;
&lt;li&gt;Color-coded categories for tasks&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Local storage, calendar UI, and reminder notifications.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add recurring tasks, theme customization, and more notification options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  107. &lt;strong&gt;Intermediate: Quiz Platform with Leaderboards&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A quiz platform where users can create quizzes, play, and compete on leaderboards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create and take quizzes in different categories&lt;/li&gt;
&lt;li&gt;Timed questions and instant feedback&lt;/li&gt;
&lt;li&gt;Track scores and earn achievements&lt;/li&gt;
&lt;li&gt;Leaderboards for high scores&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data handling with Firebase, real-time leaderboards, and user interactions.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding more quiz categories, time-based challenges, and personalized quiz recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  108. &lt;strong&gt;Advanced: Cryptocurrency Price Tracker with Alerts&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A cryptocurrency tracker that monitors real-time prices, and notifies users of price changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, WebSocket, CoinGecko API, MongoDB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time cryptocurrency price updates&lt;/li&gt;
&lt;li&gt;Customizable alerts for price changes&lt;/li&gt;
&lt;li&gt;Historical data and price trends&lt;/li&gt;
&lt;li&gt;Portfolio tracker for selected cryptocurrencies&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebSocket for real-time data, financial data handling, and alert notifications.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add more analysis tools, price prediction, and support for additional cryptocurrencies.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  109. &lt;strong&gt;Advanced Beginner: Simple Timer and Stopwatch&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple timer and stopwatch app for productivity tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Set timers for specific tasks&lt;/li&gt;
&lt;li&gt;Start, pause, and reset functionality&lt;/li&gt;
&lt;li&gt;Lap and split-time tracking&lt;/li&gt;
&lt;li&gt;Dark mode for night usage&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Timer logic, local storage, and component state management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding custom themes, sound alerts, and lap history.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  110. &lt;strong&gt;Expert: AI-Powered Grammar Checker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An AI-powered grammar checker that provides suggestions for text improvements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time grammar and spelling suggestions&lt;/li&gt;
&lt;li&gt;Alternative phrasing and synonym suggestions&lt;/li&gt;
&lt;li&gt;Error explanations and improvements&lt;/li&gt;
&lt;li&gt;Text history and version control&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP with TensorFlow.js, language processing, and text analysis.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding more languages, writing styles, and contextual recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  111. &lt;strong&gt;Intermediate: Recipe Sharing Platform with Ratings&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A recipe-sharing platform where users can upload, rate, and save favorite recipes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase, Spoonacular API for recipes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Search and filter recipes by ingredients and cuisine&lt;/li&gt;
&lt;li&gt;Rate and review recipes&lt;/li&gt;
&lt;li&gt;Save and organize favorite recipes&lt;/li&gt;
&lt;li&gt;Explore trending and popular recipes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, data filtering, and rating systems.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding dietary preferences, custom recipe categories, and sharing features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  112. &lt;strong&gt;Advanced Beginner: Weather App with Geolocation&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A weather app that detects the user’s location and provides real-time weather data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, OpenWeatherMap API, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Detect location and fetch weather data&lt;/li&gt;
&lt;li&gt;7-day weather forecast and temperature trends&lt;/li&gt;
&lt;li&gt;Dark mode for night viewing&lt;/li&gt;
&lt;li&gt;Save favorite locations for quick access&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, geolocation, and data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add weather alerts, location-based widgets, and enhanced UI features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  113. &lt;strong&gt;Advanced: Real Estate Marketplace with Map Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A real estate marketplace where users can browse and list properties with an interactive map.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, Google Maps API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;List and view properties by location&lt;/li&gt;
&lt;li&gt;Search by price range, bedrooms, and other filters&lt;/li&gt;
&lt;li&gt;Interactive map view with property pins&lt;/li&gt;
&lt;li&gt;Save properties and set alerts for new listings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Maps integration, CRUD operations, and filtering.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding more filtering options, advanced map features, and pricing analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  114. &lt;strong&gt;Expert: Blockchain-Based Document Notarization Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A document notarization platform on the blockchain for secure and tamper-proof records.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, MetaMask, Ethereum, IPFS for document storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Document upload and blockchain hashing&lt;/li&gt;
&lt;li&gt;Notarization history and verification&lt;/li&gt;
&lt;li&gt;IPFS for decentralized storage&lt;/li&gt;
&lt;li&gt;User wallet integration for secure access&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain notarization, decentralized storage, and document security.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add multi-user notarization, document categorization, and audit logs.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  115. &lt;strong&gt;Beginner: Expense Tracker with Simple Analytics&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An expense tracker app where users can log expenses and view monthly summaries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Log and categorize daily expenses&lt;/li&gt;
&lt;li&gt;Monthly expense summary and charts&lt;/li&gt;
&lt;li&gt;Set budgets and track overspending&lt;/li&gt;
&lt;li&gt;Export expenses to CSV&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Local storage for data, CRUD operations, and chart integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add analytics, custom categories, and more export formats.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  116. &lt;strong&gt;Advanced Beginner: Vocabulary Builder with Flashcards&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A vocabulary builder app that uses flashcards and spaced repetition for learning new words.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create, edit, and organize flashcards by category&lt;/li&gt;
&lt;li&gt;Spaced repetition learning technique&lt;/li&gt;
&lt;li&gt;Track progress and mastery levels&lt;/li&gt;
&lt;li&gt;Notifications for daily review reminders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data storage, spaced repetition, and flashcard UI.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add language-specific word packs, tracking analytics, and progress charts.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  117. &lt;strong&gt;Expert: Decentralized Social Media Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A decentralized social media platform where users can post, like, and comment, with data stored on the blockchain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, IPFS for storage, Web3.js, MetaMask for authentication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create posts and interact with other users&lt;/li&gt;
&lt;li&gt;Decentralized storage for user data on IPFS&lt;/li&gt;
&lt;li&gt;Likes and comments with transparent logs&lt;/li&gt;
&lt;li&gt;Profile management with blockchain-based ID&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain and IPFS, Web3.js for decentralized interactions, and authentication.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributions like content moderation, customizable feeds, and privacy options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  118. &lt;strong&gt;Intermediate: Collaborative Task Management Tool&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A task management tool with real-time collaboration, ideal for teams and projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for real-time data, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Assign tasks to team members&lt;/li&gt;
&lt;li&gt;Real-time collaboration with updates&lt;/li&gt;
&lt;li&gt;Task statuses and priority levels&lt;/li&gt;
&lt;li&gt;Team chat for discussions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time data handling, task management, and team collaboration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add calendar integration, task dependencies, and user analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  119. &lt;strong&gt;Advanced Beginner: Habit Streak Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A habit tracking app that motivates users by visualizing streaks and consistency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track habits daily with streak visuals&lt;/li&gt;
&lt;li&gt;Set reminders and notifications for habits&lt;/li&gt;
&lt;li&gt;Weekly and monthly habit analytics&lt;/li&gt;
&lt;li&gt;Customizable colors and themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Local storage for data, notification API, and habit analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for advanced streak tracking, social sharing, and user milestones.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  120. &lt;strong&gt;Expert: AI-Based Health Analysis Dashboard&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A health dashboard that provides insights into health data collected from wearable devices, powered by AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, TensorFlow.js, IoT device integration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time health data sync from devices&lt;/li&gt;
&lt;li&gt;AI analysis for health trend insights&lt;/li&gt;
&lt;li&gt;Weekly and monthly health reports&lt;/li&gt;
&lt;li&gt;Health alerts and goal setting&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: IoT integration, AI data analysis, and health data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports contributions for device compatibility, advanced health analytics, and health goal tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  121. &lt;strong&gt;Intermediate: Real-Time Chat Support Widget&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A live chat widget for websites, enabling real-time customer support.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase for chat data, WebSocket for real-time messaging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time chat support with typing indicators&lt;/li&gt;
&lt;li&gt;Support ticket creation and management&lt;/li&gt;
&lt;li&gt;Canned responses for quick replies&lt;/li&gt;
&lt;li&gt;Analytics for support performance&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time communication, ticket management, and customer interaction analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding integrations like chatbot support, analytics, and customer feedback.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  122. &lt;strong&gt;Beginner: Workout Routine Planner&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A workout planner where users can create and save exercise routines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and organize exercises into routines&lt;/li&gt;
&lt;li&gt;Set goals and track progress&lt;/li&gt;
&lt;li&gt;Log completed workouts&lt;/li&gt;
&lt;li&gt;Timer for workout sets&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data organization, routine creation, and local storage for persistence.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add exercise libraries, community routines, and advanced tracking analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  123. &lt;strong&gt;Expert: Peer-to-Peer Cryptocurrency Exchange&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A decentralized cryptocurrency exchange for peer-to-peer trading with smart contracts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, Ethereum, MetaMask, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Direct peer-to-peer crypto trading&lt;/li&gt;
&lt;li&gt;Wallet integration with MetaMask&lt;/li&gt;
&lt;li&gt;Transaction history and order book&lt;/li&gt;
&lt;li&gt;Real-time pricing and trading analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Smart contract trading, Web3 integration, and financial data handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add trading bots, multi-token support, and secure escrow mechanisms.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  124. &lt;strong&gt;Intermediate: Event Management and Ticketing System&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An event management platform with ticketing and registration features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase, Stripe for payments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Event creation and ticketing&lt;/li&gt;
&lt;li&gt;User registration and RSVP tracking&lt;/li&gt;
&lt;li&gt;QR code generation for tickets&lt;/li&gt;
&lt;li&gt;Payments via Stripe integration&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Payment processing, user registration, and event management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for multi-event management, guest lists, and ticket transfer options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  125. &lt;strong&gt;Advanced: AI-Driven Sales Forecasting Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A sales forecasting app powered by AI to predict revenue and inventory needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Sales data analysis and forecasting&lt;/li&gt;
&lt;li&gt;Visual sales trends and seasonal adjustments&lt;/li&gt;
&lt;li&gt;Inventory planning based on forecasts&lt;/li&gt;
&lt;li&gt;Customizable forecast intervals&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI for data forecasting, financial analysis, and sales data handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for contributors interested in enhancing predictive algorithms, visualization options, and analytics dashboards.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  126. &lt;strong&gt;Beginner: Countdown Timer App&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A countdown timer where users can set a timer for specific events or tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Set, pause, and reset countdowns&lt;/li&gt;
&lt;li&gt;Save frequently used timers&lt;/li&gt;
&lt;li&gt;Notifications when timer ends&lt;/li&gt;
&lt;li&gt;Option for background themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Timer handling, local storage, and user interaction.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add timer presets, sound alerts, and widget modes.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  127. &lt;strong&gt;Intermediate: Personal Budgeting Tool with Multi-Currency Support&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A budgeting app where users can set financial goals and track expenses in multiple currencies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase, Exchange Rate API, Chart.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add expenses and categorize them&lt;/li&gt;
&lt;li&gt;Set budgets with multi-currency support&lt;/li&gt;
&lt;li&gt;Visual analytics for spending&lt;/li&gt;
&lt;li&gt;Currency conversion based on current rates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Currency conversion, budget tracking, and Firebase.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add advanced analytics, reminders for budget limits, and personal finance tips.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  128. &lt;strong&gt;Expert: AI-Powered Language Translator&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A translation app with speech-to-text and text-to-speech support powered by AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, TensorFlow.js for NLP, Firebase, Google Translate API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Text and speech translation&lt;/li&gt;
&lt;li&gt;Language detection and auto-translation&lt;/li&gt;
&lt;li&gt;Text-to-speech for spoken output&lt;/li&gt;
&lt;li&gt;Phrasebook for saved translations&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP, text and speech processing, and Firebase for persistence.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributions like regional dialect support, translation accuracy improvements, and language expansion.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  129. &lt;strong&gt;Advanced Beginner: Habit Calendar&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A calendar app to track daily habits and visualize consistency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily check-in for each habit&lt;/li&gt;
&lt;li&gt;Visual calendar with completion streaks&lt;/li&gt;
&lt;li&gt;Monthly habit tracking and reports&lt;/li&gt;
&lt;li&gt;Customizable habit categories and icons&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Calendar view, local storage for persistence, and habit analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add reminders, habit-sharing features, and streak challenges.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  130. &lt;strong&gt;Intermediate: Collaborative Notes with Markdown Support&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A note-taking app for collaborative markdown editing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for real-time data, Markdown editor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time collaborative editing&lt;/li&gt;
&lt;li&gt;Markdown support for rich formatting&lt;/li&gt;
&lt;li&gt;Save and organize notes by category&lt;/li&gt;
&lt;li&gt;Sharing and commenting options&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time collaboration, markdown handling, and Firebase data storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding templates, export options, and integrations like Google Drive.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  131. &lt;strong&gt;Expert: Decentralized Voting App with Privacy Protocols&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A decentralized voting platform that ensures privacy and transparency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, MetaMask, Ethereum, zk-SNARKs for privacy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Secure vote casting and tallying&lt;/li&gt;
&lt;li&gt;Privacy protection with zero-knowledge proofs&lt;/li&gt;
&lt;li&gt;Transparent, tamper-proof audit trails&lt;/li&gt;
&lt;li&gt;Voter registration and verification&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain for voting, zk-SNARKs, and decentralized protocols.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for contributors to expand privacy protocols, improve scalability, and add more election features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  132. &lt;strong&gt;Beginner: Digital Flashcards with Spaced Repetition&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An app for creating digital flashcards and learning using spaced repetition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create and organize flashcards&lt;/li&gt;
&lt;li&gt;Spaced repetition algorithm for improved learning&lt;/li&gt;
&lt;li&gt;Progress tracking with mastery levels&lt;/li&gt;
&lt;li&gt;Notifications for review reminders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data storage, spaced repetition, and review scheduling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributions can add custom study modes, themed flashcards, and new languages.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  133. &lt;strong&gt;Intermediate: Customizable CRM for Small Businesses&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A customer relationship management app tailored for small businesses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase for storage, Stripe for subscription.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Customer profile management&lt;/li&gt;
&lt;li&gt;Sales tracking and analytics&lt;/li&gt;
&lt;li&gt;Email automation for follow-ups&lt;/li&gt;
&lt;li&gt;Tiered pricing with Stripe subscription&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD operations, Firebase for data storage, and payment integration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add CRM analytics, pipeline stages, and integrations with email platforms.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  134. &lt;strong&gt;Expert: Automated Email Marketing Platform with Analytics&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An email marketing platform with automation workflows and analytics for campaign optimization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, SendGrid API for email, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Email templates and customization&lt;/li&gt;
&lt;li&gt;Automation workflows for campaigns&lt;/li&gt;
&lt;li&gt;Detailed analytics for open rates and clicks&lt;/li&gt;
&lt;li&gt;Customer segmentation for targeted campaigns&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Email automation, user analytics, and campaign management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributions for more email templates, A/B testing features, and customer analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  135. &lt;strong&gt;Advanced Beginner: Pomodoro Timer with Task Integration&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A Pomodoro timer integrated with task management for productivity tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Task organization with Pomodoro timers&lt;/li&gt;
&lt;li&gt;Timers for focused work and break intervals&lt;/li&gt;
&lt;li&gt;Track completed tasks and time spent&lt;/li&gt;
&lt;li&gt;Simple, minimalist UI with themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Timer logic, local storage, and task organization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding advanced analytics, recurring task management, and reminders.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  136. &lt;strong&gt;Intermediate: Personal Investment Dashboard with Market Insights&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A dashboard for tracking personal investments with market insights and news.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, Stock Market API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track stocks, crypto, and mutual funds&lt;/li&gt;
&lt;li&gt;Portfolio performance tracking&lt;/li&gt;
&lt;li&gt;Market news and trend analysis&lt;/li&gt;
&lt;li&gt;Watchlist with price alerts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, financial data handling, and portfolio analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add market analytics, prediction tools, and more investment types.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  137. &lt;strong&gt;Advanced: AI-Driven Content Creation Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A content creation platform that generates blog ideas, outlines, and assists with SEO optimization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, OpenAI API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;AI-powered blog title and outline suggestions&lt;/li&gt;
&lt;li&gt;SEO recommendations for improved visibility&lt;/li&gt;
&lt;li&gt;Content analysis and readability scoring&lt;/li&gt;
&lt;li&gt;Save and edit content drafts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI-driven content generation, SEO analysis, and data handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributions for AI models, SEO enhancements, and integrations with CMS platforms.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  138. &lt;strong&gt;Beginner: Personal Book Library&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A virtual library where users can organize, categorize, and review their book collection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and organize books by genre and status&lt;/li&gt;
&lt;li&gt;Rate and review books&lt;/li&gt;
&lt;li&gt;Track reading history and completion status&lt;/li&gt;
&lt;li&gt;Simple UI with search and filter options&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data organization, local storage, and book management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding advanced filters, reading goals, and book recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  139. &lt;strong&gt;Intermediate: Real-Time Collaboration Platform for Teams&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A platform that facilitates real-time collaboration on projects with chat, file sharing, and task tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, WebSocket for real-time updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Task assignment and progress tracking&lt;/li&gt;
&lt;li&gt;Real-time chat and file sharing&lt;/li&gt;
&lt;li&gt;Kanban board for project management&lt;/li&gt;
&lt;li&gt;Team notifications and alerts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebSocket for real-time updates, project management, and team communication.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add Gantt charts, advanced permissions, and integration with external tools like Google Drive.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  140. &lt;strong&gt;Expert: NFT-Based Art Gallery Platform&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A platform for showcasing digital art as NFTs, allowing artists to upload, mint, and sell their art.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, Ethereum, IPFS for storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;NFT minting and listing for sale&lt;/li&gt;
&lt;li&gt;Artist and buyer profiles with portfolios&lt;/li&gt;
&lt;li&gt;Secure transactions and wallet integration&lt;/li&gt;
&lt;li&gt;Favorites and wishlist for buyers&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NFT creation, IPFS storage, and blockchain-based transactions.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding artist support, more payment options, and enhanced gallery features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  141. &lt;strong&gt;Intermediate: AI Personal Finance Assistant&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple, minimalist to-do list app for daily task management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add, edit, and delete tasks&lt;/li&gt;
&lt;li&gt;Organize tasks by categories&lt;/li&gt;
&lt;li&gt;Mark tasks as completed&lt;/li&gt;
&lt;li&gt;Dark and light themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Basic CRUD operations, local storage, and UI design.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding priority tags, recurring tasks, and notifications.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  142. &lt;strong&gt;Expert: IoT Smart Garden Management System&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A personal finance assistant that provides budget recommendations, monitors spending, and gives insights based on financial habits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, TensorFlow.js for AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Budget tracking and expense categorization&lt;/li&gt;
&lt;li&gt;AI-driven insights for spending patterns&lt;/li&gt;
&lt;li&gt;Monthly financial summaries and forecasts&lt;/li&gt;
&lt;li&gt;Notifications for budget limits and savings tips&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI for financial insights, data management, and spending analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add new insights, custom financial goals, and support for multiple currencies.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  143. &lt;strong&gt;Beginner: Personal Diary with Mood Tracker&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A smart garden system that monitors soil moisture, temperature, and automatically waters plants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, IoT devices, MQTT for real-time data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time monitoring of soil and environmental data&lt;/li&gt;
&lt;li&gt;Automated watering and alert system&lt;/li&gt;
&lt;li&gt;Data history and growth analytics&lt;/li&gt;
&lt;li&gt;Remote access to control settings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: IoT integration, MQTT protocol, and environmental analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding new sensors, plant recommendations, and garden layout customization.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  144. &lt;strong&gt;Intermediate: Real-Time Job Board with Notifications&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A diary app where users can log daily entries and track their mood over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily entry logging with mood tracking&lt;/li&gt;
&lt;li&gt;Mood calendar for visual trends&lt;/li&gt;
&lt;li&gt;Search entries by date or keywords&lt;/li&gt;
&lt;li&gt;Dark mode and custom themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data storage, mood tracking, and diary entry management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add mood analytics, tags, and export options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  145. &lt;strong&gt;Intermediate: Real-Time Job Board with Notifications&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A job board where users can post and search for job listings with real-time updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, WebSocket for real-time data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time job posting and searching&lt;/li&gt;
&lt;li&gt;Notifications for new job alerts&lt;/li&gt;
&lt;li&gt;Filter jobs by role, location, and experience&lt;/li&gt;
&lt;li&gt;Save jobs for later review&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: WebSocket for updates, filtering, and notification handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding advanced filters, salary insights, and application tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  146. &lt;strong&gt;Advanced Beginner: Personal Nutrition Tracker&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A nutrition tracker that helps users log meals and track nutrient intake.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Nutritionix API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add meals and view nutritional data&lt;/li&gt;
&lt;li&gt;Track daily intake for calories, protein, etc.&lt;/li&gt;
&lt;li&gt;Set dietary goals and track progress&lt;/li&gt;
&lt;li&gt;Personalized suggestions based on dietary preferences&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, user data handling, and dietary tracking.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add meal suggestions, export options, and more detailed nutrient tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  147. &lt;strong&gt;Intermediate: Social Media Content Scheduler&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A content scheduling tool for social media, allowing users to plan posts in advance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Social Media APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Schedule posts across multiple platforms&lt;/li&gt;
&lt;li&gt;Calendar view of upcoming posts&lt;/li&gt;
&lt;li&gt;Analytics for engagement tracking&lt;/li&gt;
&lt;li&gt;Automated posting based on set times&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, data scheduling, and analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add support for additional platforms, scheduling templates, and content recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  148. &lt;strong&gt;Expert: Decentralized Marketplace for Digital Goods&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A blockchain-based marketplace where users can buy and sell digital assets (e.g., software, art).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, IPFS for storage, MetaMask, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Mint and list digital assets as NFTs&lt;/li&gt;
&lt;li&gt;Decentralized wallet-based transactions&lt;/li&gt;
&lt;li&gt;Secure transaction history&lt;/li&gt;
&lt;li&gt;User ratings and asset analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain smart contracts, decentralized storage, and digital marketplace management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributions in asset search optimization, rating algorithms, and payment flexibility.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  149. &lt;strong&gt;Beginner: Shopping List with Categorized Items&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A shopping list app where users can categorize items and manage lists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and categorize items (e.g., groceries, electronics)&lt;/li&gt;
&lt;li&gt;Sort and prioritize items by category&lt;/li&gt;
&lt;li&gt;Mark items as purchased&lt;/li&gt;
&lt;li&gt;Save frequently used lists for quick access&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Basic CRUD operations, data persistence, and list management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add price tracking, store-based lists, and list sharing.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  150. &lt;strong&gt;Intermediate: Inventory Management System for Small Businesses&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An inventory management tool designed for small businesses to track stock and manage products.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and organize products with details&lt;/li&gt;
&lt;li&gt;Real-time inventory updates&lt;/li&gt;
&lt;li&gt;Sales tracking and low-stock alerts&lt;/li&gt;
&lt;li&gt;Reports for inventory valuation&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data handling, inventory analytics, and Firebase storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributions like multi-location tracking, barcode scanning, and export features.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  151. &lt;strong&gt;Expert: AI-Powered Recruitment Platform&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A recruitment platform that matches candidates to jobs based on skills and past experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;AI-powered job matching based on resume analysis&lt;/li&gt;
&lt;li&gt;Candidate tracking and interview scheduling&lt;/li&gt;
&lt;li&gt;Notifications for new job matches&lt;/li&gt;
&lt;li&gt;Company profiles and analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI for matching, resume parsing, and recruitment analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add advanced candidate search, scheduling integrations, and resume improvements.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  152. &lt;strong&gt;Beginner: Virtual Mood Journal with Daily Prompts&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A mood journal that provides daily prompts for users to reflect on their day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Daily mood logging and reflection&lt;/li&gt;
&lt;li&gt;Customizable prompts for journaling&lt;/li&gt;
&lt;li&gt;Search and filter past entries&lt;/li&gt;
&lt;li&gt;Data visualization of mood trends&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD functionality, mood tracking, and data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add prompt libraries, sentiment analysis, and export options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  153. &lt;strong&gt;Intermediate: Event Ticketing System with QR Code Verification&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A ticketing system for events with QR code generation and scanning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, QR Code API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Event creation and ticket sales&lt;/li&gt;
&lt;li&gt;QR code generation for tickets&lt;/li&gt;
&lt;li&gt;Scanning for check-in verification&lt;/li&gt;
&lt;li&gt;Event attendance tracking and reporting&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: QR code handling, data management, and event tracking.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding guest lists, ticket sharing, and multi-event management.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  154. &lt;strong&gt;Advanced: AI-Driven Social Media Sentiment Analysis&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An analysis tool that tracks and visualizes the sentiment of social media posts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time sentiment analysis on social media posts&lt;/li&gt;
&lt;li&gt;Data visualization for sentiment trends&lt;/li&gt;
&lt;li&gt;Topic analysis to determine popular subjects&lt;/li&gt;
&lt;li&gt;Notifications for trending topics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP for sentiment analysis, real-time data handling, and social media analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding sentiment history, topic tracking, and cross-platform data aggregation.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  155. &lt;strong&gt;Beginner: Minimalist Habit Tracker with Streaks&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple habit-tracking app that motivates users by tracking habit streaks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track daily habits with streak visuals&lt;/li&gt;
&lt;li&gt;Set goals and milestones&lt;/li&gt;
&lt;li&gt;Visualize streaks and completion stats&lt;/li&gt;
&lt;li&gt;Notification reminders for consistency&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Local storage, habit visualization, and streak tracking.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add advanced analytics, social sharing, and group habits.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  156. &lt;strong&gt;Intermediate: Collaborative Shopping List for Families&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A shared shopping list where family members can add, edit, and view items in real time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for real-time updates, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time list sharing with updates&lt;/li&gt;
&lt;li&gt;Categories for different types of items&lt;/li&gt;
&lt;li&gt;Notifications for item changes&lt;/li&gt;
&lt;li&gt;Ability to mark items as bought&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time collaboration, data handling, and shared storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding multi-list functionality, family chat integration, and price tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  157. &lt;strong&gt;Expert: Real-Time Cryptocurrency Portfolio with AI Predictions&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A cryptocurrency portfolio with real-time price updates and AI-driven predictions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, CoinGecko API, TensorFlow.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track portfolio with real-time prices&lt;/li&gt;
&lt;li&gt;AI-based predictions for market trends&lt;/li&gt;
&lt;li&gt;Historical data and trend analysis&lt;/li&gt;
&lt;li&gt;Notifications for significant market changes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI-based prediction models, financial data analytics, and real-time updates.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding personalized alerts, AI enhancements, and multi-portfolio tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  158. &lt;strong&gt;Beginner: Personal Recipe Manager&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A recipe management app where users can save, categorize, and share recipes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Save recipes with ingredients and instructions&lt;/li&gt;
&lt;li&gt;Categorize recipes by cuisine and meal type&lt;/li&gt;
&lt;li&gt;Share recipes with friends&lt;/li&gt;
&lt;li&gt;Mark recipes as favorite for quick access&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Basic CRUD functionality, local storage, and data categorization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add custom filters, shareable links, and photo uploads.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  159. &lt;strong&gt;Intermediate: Customizable Budget Planner&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A budget planner that allows users to create custom categories and track spending.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Chart.js for analytics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add income and expenses by category&lt;/li&gt;
&lt;li&gt;Customizable categories with budgets&lt;/li&gt;
&lt;li&gt;Monthly spending analysis with charts&lt;/li&gt;
&lt;li&gt;Export data to CSV or PDF&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Financial data management, Firebase storage, and analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributions in advanced analytics, custom templates, and recurring expense tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  160. &lt;strong&gt;Expert: Decentralized Lending and Borrowing Platform&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A decentralized platform for peer-to-peer lending with smart contract security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, Ethereum, MetaMask, IPFS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Secure lending and borrowing with smart contracts&lt;/li&gt;
&lt;li&gt;User profiles and credit rating system&lt;/li&gt;
&lt;li&gt;Transaction history and analytics&lt;/li&gt;
&lt;li&gt;Wallet integration for seamless payments&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain lending, smart contract development, and transaction security.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding advanced credit algorithms&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;, fraud prevention, and multi-asset support.&lt;/p&gt;




&lt;h3&gt;
  
  
  161. &lt;strong&gt;Beginner: Study Planner with Daily Reminders&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A study planner that allows students to organize study tasks and receive reminders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add tasks with deadlines&lt;/li&gt;
&lt;li&gt;Daily reminders for study tasks&lt;/li&gt;
&lt;li&gt;Organize tasks by subject or project&lt;/li&gt;
&lt;li&gt;Track study time and completed tasks&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD functionality, local storage, and reminder notifications.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding study templates, scheduling options, and progress tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  162. &lt;strong&gt;Intermediate: Real-Time Traffic Monitoring Dashboard&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A traffic monitoring dashboard with live data on congestion and travel times.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Google Maps API, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time traffic visualization on a map&lt;/li&gt;
&lt;li&gt;Alerts for accidents and road closures&lt;/li&gt;
&lt;li&gt;Live traffic analysis with charts&lt;/li&gt;
&lt;li&gt;Travel time estimation and routing suggestions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time map integration, data handling, and route optimization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add weather impacts, predictive analysis, and commute suggestions.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  163. &lt;strong&gt;Expert: AI-Powered Workout Planner&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A workout planner that suggests exercises based on goals, fitness level, and past performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, TensorFlow.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Personalized exercise recommendations&lt;/li&gt;
&lt;li&gt;Progress tracking and workout analytics&lt;/li&gt;
&lt;li&gt;Set goals and receive tailored plans&lt;/li&gt;
&lt;li&gt;Video guides and exercise instructions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: AI for recommendations, user customization, and fitness data analysis.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding more workout types, social sharing, and AI refinement.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  164. &lt;strong&gt;Advanced Beginner: Simple Job Application Tracker&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A job application tracker to help users keep track of applications and interviews.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track application stages (applied, interviewed, offered)&lt;/li&gt;
&lt;li&gt;Add notes for each application&lt;/li&gt;
&lt;li&gt;Organize by job title and company&lt;/li&gt;
&lt;li&gt;Reminders for follow-ups&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD operations, local storage, and data filtering.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add resume uploads, export options, and multi-step interview tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  165. &lt;strong&gt;Intermediate: Community Forum with User Moderation&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A community forum where users can post, comment, and vote, with built-in user moderation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create posts and comments with threading&lt;/li&gt;
&lt;li&gt;Upvote/downvote for popular content&lt;/li&gt;
&lt;li&gt;User moderation with reporting options&lt;/li&gt;
&lt;li&gt;Profile pages and post history&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data handling, user interactions, and moderation.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add admin tools, post categorization, and private messaging.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  166. &lt;strong&gt;Expert: AI-Powered Document Summarizer&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A tool that summarizes lengthy documents using AI-based natural language processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Upload and analyze documents for key points&lt;/li&gt;
&lt;li&gt;Generate concise summaries&lt;/li&gt;
&lt;li&gt;Sentiment analysis for tone&lt;/li&gt;
&lt;li&gt;Save summaries and export to PDF&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP for text summarization, sentiment analysis, and data storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding language support, advanced analysis, and document categorization.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  167. &lt;strong&gt;Beginner: Contact Manager with Import/Export&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A contact manager where users can add, organize, and search contacts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and edit contact details (name, phone, email)&lt;/li&gt;
&lt;li&gt;Organize contacts by group&lt;/li&gt;
&lt;li&gt;Search and filter contacts&lt;/li&gt;
&lt;li&gt;Import/export to CSV&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data storage, organization, and file handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add multi-contact editing, image support, and birthday reminders.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  168. &lt;strong&gt;Intermediate: AI-Based Stock Trading Assistant&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An AI-powered stock trading assistant that gives real-time trading signals based on market trends.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time stock data and trends&lt;/li&gt;
&lt;li&gt;Buy/sell signals based on AI predictions&lt;/li&gt;
&lt;li&gt;Historical price analysis&lt;/li&gt;
&lt;li&gt;Portfolio tracking and management&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Stock market APIs, AI for trend analysis, and data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables enhancements in AI prediction models, user analytics, and multi-stock tracking.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  169. &lt;strong&gt;Advanced: Supply Chain Management System with Blockchain&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A blockchain-based supply chain system to track products from origin to delivery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, IPFS, Ethereum, MetaMask.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Track products and transactions on the blockchain&lt;/li&gt;
&lt;li&gt;View product history with timestamps&lt;/li&gt;
&lt;li&gt;Decentralized data storage on IPFS&lt;/li&gt;
&lt;li&gt;Authentication with MetaMask for security&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain for transparency, decentralized storage, and supply chain tracking.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding analytics, logistics tracking, and more data on product origins.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  170. &lt;strong&gt;Beginner: Workout Logger with Progress Analytics&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A workout logging app to help users track exercises and measure progress over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Chart.js for analytics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Log exercises and sets/reps&lt;/li&gt;
&lt;li&gt;Visualize progress with charts&lt;/li&gt;
&lt;li&gt;Track goals and milestones&lt;/li&gt;
&lt;li&gt;Weekly and monthly summaries&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data storage, chart integration, and tracking progress.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add custom exercises, social sharing, and progress comparison tools.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  171. &lt;strong&gt;Intermediate: Personal Finance Dashboard with Forecasting&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A finance dashboard with budgeting, expense tracking, and future expense forecasting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Chart.js, and Machine Learning for predictions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add income and expenses by category&lt;/li&gt;
&lt;li&gt;Monthly forecasting and spending trends&lt;/li&gt;
&lt;li&gt;Set financial goals and track progress&lt;/li&gt;
&lt;li&gt;Visualize spending breakdowns with charts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Financial tracking, predictive analytics, and data visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding forecasting improvements, personalized recommendations, and exporting options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  172. &lt;strong&gt;Expert: Decentralized Voting Platform with Audit Logs&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A secure, decentralized voting platform that ensures data integrity with blockchain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, IPFS for data storage, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Voter authentication via MetaMask&lt;/li&gt;
&lt;li&gt;Secure, tamper-proof voting with audit trails&lt;/li&gt;
&lt;li&gt;Real-time vote tallying and result display&lt;/li&gt;
&lt;li&gt;Data storage on IPFS for added security&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain for secure voting, decentralized storage, and audit logs.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables contributors to add privacy improvements, voting analytics, and internationalization.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  173. &lt;strong&gt;Beginner: Personal Movie Watchlist&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A movie watchlist app where users can track movies they want to watch or have watched.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Movie Database API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Search movies by title or genre&lt;/li&gt;
&lt;li&gt;Add movies to “To Watch” or “Watched” lists&lt;/li&gt;
&lt;li&gt;Rate and review movies&lt;/li&gt;
&lt;li&gt;View trending or popular movies&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, data categorization, and local storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add movie recommendations, watch history analytics, and integration with streaming services.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  174. &lt;strong&gt;Intermediate: AI Resume Analyzer&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A resume analyzer that provides suggestions for improvement based on industry standards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Upload resume and get AI-driven insights&lt;/li&gt;
&lt;li&gt;Keyword analysis for job descriptions&lt;/li&gt;
&lt;li&gt;Tips for optimizing sections&lt;/li&gt;
&lt;li&gt;Custom reports for skill gaps&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP for resume analysis, text processing, and MongoDB for data storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding industry-specific keywords, improvement tips, and resume templates.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  175. &lt;strong&gt;Expert: Blockchain-Based Voting System for Company Polls&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A secure voting system for corporate governance, built on blockchain to ensure transparency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, Ethereum, MetaMask.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Employee verification through wallet&lt;/li&gt;
&lt;li&gt;Voting and result recording on the blockchain&lt;/li&gt;
&lt;li&gt;Role-based access control&lt;/li&gt;
&lt;li&gt;Analytics for voter turnout and results&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain-based governance, security features, and real-time analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add scalability solutions, data export, and advanced voting protocols.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  176. &lt;strong&gt;Intermediate: Language Learning App with Speech Recognition&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A language learning app that provides exercises and tracks pronunciation using speech recognition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Google Speech Recognition API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Vocabulary practice with translations&lt;/li&gt;
&lt;li&gt;Speech recognition to check pronunciation&lt;/li&gt;
&lt;li&gt;Flashcard exercises with spaced repetition&lt;/li&gt;
&lt;li&gt;Progress tracking and milestones&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Speech recognition, spaced repetition, and Firebase data management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding new languages, advanced speech analysis, and gamified rewards.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  177. &lt;strong&gt;Expert: AI-Based SEO Content Analysis Tool&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A tool to analyze website content and provide SEO improvement suggestions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, OpenAI API for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Analyze content for readability and SEO&lt;/li&gt;
&lt;li&gt;Keyword density analysis and improvement tips&lt;/li&gt;
&lt;li&gt;Track SEO performance over time&lt;/li&gt;
&lt;li&gt;Generate keyword suggestions based on topic&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP for SEO, text analysis, and data handling for web content.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add new SEO metrics, competitor analysis, and content recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  178. &lt;strong&gt;Intermediate: Virtual Study Group Platform with Video Chat&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A study group platform where users can join rooms, discuss topics, and collaborate via video.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, WebRTC for video chat, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create or join virtual study rooms&lt;/li&gt;
&lt;li&gt;Real-time chat and video collaboration&lt;/li&gt;
&lt;li&gt;Share notes and resources&lt;/li&gt;
&lt;li&gt;Study session scheduling and reminders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Video streaming with WebRTC,&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Firebase for real-time updates, and group collaboration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding whiteboard tools, resource sharing, and study group analytics.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  179. &lt;strong&gt;Beginner: Digital Recipe Card Organizer&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A recipe organizer where users can create and categorize digital recipe cards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add recipes with ingredients and instructions&lt;/li&gt;
&lt;li&gt;Categorize by cuisine, meal type, and difficulty&lt;/li&gt;
&lt;li&gt;Search and filter recipes&lt;/li&gt;
&lt;li&gt;Mark favorites for quick access&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD functionality, data filtering, and local storage.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add export options, ingredient tracking, and integration with meal planners.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  180. &lt;strong&gt;Advanced Beginner: Personal Journal with Photo Entries&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A journaling app where users can log entries with optional photos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase for storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Write journal entries with rich text&lt;/li&gt;
&lt;li&gt;Attach photos to entries&lt;/li&gt;
&lt;li&gt;Calendar view for entry organization&lt;/li&gt;
&lt;li&gt;Search and filter by tags&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data storage, file handling, and rich text editing.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding sentiment analysis, export features, and photo albums.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  181. &lt;strong&gt;Expert: Real-Time Forex Trading Platform with Analytics&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A forex trading platform with real-time market data and analytical tools for currency trading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, Forex API, TensorFlow.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time forex rates and historical data&lt;/li&gt;
&lt;li&gt;Analytics and AI-driven predictions&lt;/li&gt;
&lt;li&gt;Customizable alerts for currency changes&lt;/li&gt;
&lt;li&gt;Trading simulation with virtual currency&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time forex data, AI predictions, and financial analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Enables community to add algorithmic trading, charting tools, and sentiment analysis.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  182. &lt;strong&gt;Intermediate: Family Recipe Sharing App&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A platform for families to store and share recipes, preserving family traditions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Share and comment on family recipes&lt;/li&gt;
&lt;li&gt;Organize recipes by family member&lt;/li&gt;
&lt;li&gt;Image uploads and recipe history&lt;/li&gt;
&lt;li&gt;Private and public recipe sharing&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data sharing, image storage, and user authentication.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributions can include multi-family support, recipe timelines, and family cookbooks.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  183. &lt;strong&gt;Advanced Beginner: Mood-Based Music Recommendation&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A music recommendation app that suggests playlists based on the user’s current mood.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Spotify API, Firebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Set mood and receive playlist suggestions&lt;/li&gt;
&lt;li&gt;Save favorite playlists for easy access&lt;/li&gt;
&lt;li&gt;View and share top recommendations&lt;/li&gt;
&lt;li&gt;Simple UI with mood-based color themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, data filtering, and user interaction.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows contributors to add mood analysis, new music sources, and playlist export options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  184. &lt;strong&gt;Intermediate: Team Project Management with Gantt Chart&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A project management tool where teams can assign tasks, track progress, and visualize schedules with a Gantt chart.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Chart.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Assign tasks and set deadlines&lt;/li&gt;
&lt;li&gt;View project timelines in Gantt charts&lt;/li&gt;
&lt;li&gt;Progress tracking with completion metrics&lt;/li&gt;
&lt;li&gt;Team notifications for task updates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Project management visualization, Firebase for data persistence, and team collaboration.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add dependency tracking, real-time notifications, and custom task filtering.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  185. &lt;strong&gt;Expert: AI-Driven Email Categorization Tool&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A tool that categorizes and prioritizes emails using AI for smarter inbox management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, TensorFlow.js for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;AI-based categorization (e.g., work, personal, spam)&lt;/li&gt;
&lt;li&gt;Priority tagging for important emails&lt;/li&gt;
&lt;li&gt;Email analytics with visual summaries&lt;/li&gt;
&lt;li&gt;Automated response suggestions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP for email categorization, data handling, and productivity analytics.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding new tags, advanced sorting, and integrating with popular email services.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  186. &lt;strong&gt;Beginner: Virtual Flashcard Study Tool&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A study tool for creating and reviewing flashcards with progress tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create and categorize flashcards by subject&lt;/li&gt;
&lt;li&gt;Review flashcards in spaced repetition mode&lt;/li&gt;
&lt;li&gt;Track accuracy and study progress&lt;/li&gt;
&lt;li&gt;Customizable flashcard themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Local storage for persistence, spaced repetition, and flashcard UI.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add multi-user support, custom flashcard templates, and theme customization.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  187. &lt;strong&gt;Intermediate: Blogging Platform with Real-Time Commenting&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A blogging platform that allows users to publish posts and interact with real-time comments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase for real-time data, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Post creation and rich text editing&lt;/li&gt;
&lt;li&gt;Real-time comments with notifications&lt;/li&gt;
&lt;li&gt;User profiles with post history&lt;/li&gt;
&lt;li&gt;Popular tags and trending posts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Real-time data, rich text editing, and user interactions.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding sharing options, custom tags, and multi-language support.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  188. &lt;strong&gt;Expert: Smart Contracts for Insurance Claims&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A blockchain-based insurance claim platform with smart contracts to automate claims and payouts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, Ethereum, Web3.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Smart contracts for transparent claim validation&lt;/li&gt;
&lt;li&gt;Decentralized payment processing for claims&lt;/li&gt;
&lt;li&gt;Claim history and audit trail&lt;/li&gt;
&lt;li&gt;Wallet integration for secure identity verification&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain for smart contracts, decentralized finance, and secure payments.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Supports improvements in risk assessment, claims analytics, and multi-insurance support.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  189. &lt;strong&gt;Beginner: Goal Setting and Tracking App&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A goal-setting app that helps users set, track, and achieve personal goals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Set and categorize personal goals&lt;/li&gt;
&lt;li&gt;Progress tracking and completion history&lt;/li&gt;
&lt;li&gt;Notifications for milestones&lt;/li&gt;
&lt;li&gt;Simple UI with motivational themes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data persistence, notifications, and UI design.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add goal templates, social sharing, and group challenges.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  190. &lt;strong&gt;Intermediate: Health Data Tracker with Wearable Integration&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A health data tracker that syncs with wearable devices to monitor activity, sleep, and vitals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Google Fit API, Chart.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Sync data from wearable devices&lt;/li&gt;
&lt;li&gt;Weekly and monthly health reports&lt;/li&gt;
&lt;li&gt;Goal setting for steps, sleep, and heart rate&lt;/li&gt;
&lt;li&gt;Visual data representation with charts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration with wearables, health data visualization, and Firebase.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding more device compatibility, custom goals, and export options.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  191. &lt;strong&gt;Expert: Multi-Currency E-commerce Platform&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An e-commerce platform that supports multiple currencies and real-time conversion rates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Node.js, MongoDB, Exchange Rate API, Stripe for payments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Product catalog with multi-currency support&lt;/li&gt;
&lt;li&gt;Real-time currency conversion based on user location&lt;/li&gt;
&lt;li&gt;Cart and checkout with Stripe integration&lt;/li&gt;
&lt;li&gt;Transaction history and order tracking&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Multi-currency handling, payment integration, and conversion rates.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add additional payment methods, language support, and product recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  192. &lt;strong&gt;Beginner: Minimalist Daily Planner&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A simple daily planner for organizing tasks and events.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add and organize daily tasks&lt;/li&gt;
&lt;li&gt;Set reminders for important tasks&lt;/li&gt;
&lt;li&gt;Color-coded categories for easy organization&lt;/li&gt;
&lt;li&gt;Dark mode for night usage&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: CRUD operations, local storage, and reminders.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding task prioritization, recurring events, and multiple calendar views.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  193. &lt;strong&gt;Intermediate: E-learning Platform with Video Courses&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An online learning platform where users can enroll in courses and track progress.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, Firebase, Tailwind CSS, Video.js for video playback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Course creation and enrollment&lt;/li&gt;
&lt;li&gt;Video playback with progress tracking&lt;/li&gt;
&lt;li&gt;Quizzes and assessments for each module&lt;/li&gt;
&lt;li&gt;Completion certificates and badges&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Video streaming, user progress tracking, and course management.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for the addition of new courses, quiz templates, and user interaction analytics.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  194. &lt;strong&gt;Expert: Real Estate Marketplace with Virtual Tours&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A real estate marketplace with virtual tours to enhance the home-viewing experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, Firebase, Three.js for 3D tours.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Property listings with detailed descriptions&lt;/li&gt;
&lt;li&gt;Interactive virtual tours with 3D views&lt;/li&gt;
&lt;li&gt;Property comparison tool&lt;/li&gt;
&lt;li&gt;Save and share favorite properties&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: 3D rendering with Three.js, Firebase for data storage, and user interaction.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding custom tour features, real estate analytics, and agent profiles.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  195. &lt;strong&gt;Advanced Beginner: Music Player with Lyrics Display&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A music player that displays lyrics in sync with the song.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Spotify API, Lyrics API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Stream music with Spotify integration&lt;/li&gt;
&lt;li&gt;Lyrics display in sync with playback&lt;/li&gt;
&lt;li&gt;Save favorite songs and lyrics&lt;/li&gt;
&lt;li&gt;Customize playback speed and quality&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: API integration, music streaming, and user interaction.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add karaoke mode, theme customization, and song recommendations.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  196. &lt;strong&gt;Intermediate: Smart Home Control Dashboard&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A dashboard for controlling smart home devices like lights, thermostat, and security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, IoT API, MQTT for device communication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Real-time control of smart devices&lt;/li&gt;
&lt;li&gt;Temperature, light, and security monitoring&lt;/li&gt;
&lt;li&gt;Device scheduling and automation&lt;/li&gt;
&lt;li&gt;User alerts for device status&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: IoT integration, real-time data handling, and smart device control.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Great for adding multi-device compatibility, custom alerts, and energy-saving tips.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  197. &lt;strong&gt;Expert: Decentralized Content Sharing Platform&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A decentralized platform where users can share and monetize content without a centralized authority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: Solidity, React, Ethereum, IPFS for storage, MetaMask.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Decentralized content hosting with IPFS&lt;/li&gt;
&lt;li&gt;Wallet-based tipping for monetization&lt;/li&gt;
&lt;li&gt;User profiles with content history&lt;/li&gt;
&lt;li&gt;Transaction transparency and history&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Blockchain for&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;content hosting, decentralized finance, and wallet integration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Ideal for adding monetization features, content categorization, and creator analytics.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  198. &lt;strong&gt;Beginner: Countdown to Events&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: An app that allows users to create countdowns for important events.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Local Storage, Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Create multiple countdowns for events&lt;/li&gt;
&lt;li&gt;Customizable reminders for each countdown&lt;/li&gt;
&lt;li&gt;Visual themes for different event types&lt;/li&gt;
&lt;li&gt;Track time left in days, hours, and minutes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Timer logic, data persistence, and notifications.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add recurring countdowns, social sharing, and color-coded events.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  199. &lt;strong&gt;Intermediate: Fitness Progress Tracker with Photo Comparisons&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A fitness tracker where users can log workouts, and upload progress photos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Firebase, Chart.js for data visualization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Log workouts and goals by date&lt;/li&gt;
&lt;li&gt;Track progress with weight, reps, and sets&lt;/li&gt;
&lt;li&gt;Upload and compare progress photos&lt;/li&gt;
&lt;li&gt;Visual analytics for workout trends&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: Data storage, photo handling, and progress visualization.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Contributors can add workout templates, custom goal setting, and community challenges.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  200. &lt;strong&gt;Expert: AI-Powered Legal Document Analysis Tool&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: A tool that scans legal documents and highlights key clauses, risks, and obligations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack&lt;/strong&gt;: React, Node.js, MongoDB, OpenAI API for NLP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Document scanning with NLP analysis&lt;/li&gt;
&lt;li&gt;Highlight key clauses and risk indicators&lt;/li&gt;
&lt;li&gt;Custom alerts for deadlines and obligations&lt;/li&gt;
&lt;li&gt;Save and organize scanned documents&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Learning Path&lt;/strong&gt;: NLP for legal language, risk analysis, and document handling.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Open-source Focus&lt;/strong&gt;: Allows for the addition of industry-specific clause detection, contract templates, and collaboration features.&lt;/li&gt;

&lt;/ul&gt;




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

&lt;p&gt;Embarking on these projects will not only build your technical skills but also provide you with a strong portfolio to showcase to potential employers or clients. Take your time with each project, learn from any challenges you encounter, and don’t hesitate to innovate and add your personal touch. Remember, the more you code, the more confident and proficient you'll become. Whether you're building a beginner portfolio or an expert-level SaaS platform, these projects will serve as invaluable stepping stones in your development journey. So, choose a project, start coding, and enjoy the adventure of building amazing things!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🔥 I Built a stunning chat app with React 🚀</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Tue, 29 Oct 2024 12:41:15 +0000</pubDate>
      <link>https://dev.to/kishansheth/i-built-a-stunning-chat-app-with-react-leo</link>
      <guid>https://dev.to/kishansheth/i-built-a-stunning-chat-app-with-react-leo</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Developing a real-time chat application involves more than just basic messaging. In this tutorial, we’ll explore how to build a fully responsive chat app from scratch using modern web technologies. This app includes essential features like group chats, file uploads, and real-time communication, making it an excellent project for anyone interested in full-stack development.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Key Features of Our Chat Application&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Here’s a breakdown of the key features and technologies that power our chat app:&lt;/p&gt;
&lt;h3&gt;
  
  
  Frontend (React)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;UI Components&lt;/strong&gt;: ShadCN for intuitive, modular components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling&lt;/strong&gt;: Tailwind CSS ensures a modern, responsive design.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsiveness&lt;/strong&gt;: Adaptable for both mobile and desktop devices.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Backend (Node.js and Express)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data Storage&lt;/strong&gt;: MongoDB, optimized for handling user data and messages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication&lt;/strong&gt;: JWT for secure, token-based authentication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Communication&lt;/strong&gt;: Socket.io for instant messaging functionality.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Additional Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;File Handling&lt;/strong&gt;: Multer is used to handle file uploads and storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State Management&lt;/strong&gt;: Zustand for managing user sessions and chat states.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Calls&lt;/strong&gt;: Axios for efficient API communication.&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;strong&gt;Building the Frontend&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
In this section, guide your readers through setting up a React app and installing dependencies like ShadCN, Tailwind CSS, and Zustand.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Setting Up the React App&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Begin by initializing a React app and setting up the basic folder structure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Adding Responsiveness with Tailwind CSS&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Explain how to install and configure Tailwind CSS for styling and responsiveness.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implementing State Management with Zustand&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Walk through how Zustand can manage chat states, making the app feel responsive and smooth.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integrating Sockets for Real-Time Updates&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Show how to set up Socket.io on the frontend to enable real-time communication between users.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;&lt;strong&gt;Backend Implementation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This section covers setting up a Node.js and Express server with MongoDB as the database and Socket.io for real-time messaging.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Setting Up the Express Server&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Go over the initial setup, including installing dependencies, configuring routes, and connecting to MongoDB.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integrating JWT for Authentication&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Explain how to use JWT for user authentication, including token creation and validation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Handling File Uploads with Multer&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Demonstrate how to integrate Multer to handle image and file uploads, including setting up file storage and managing uploads.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enabling Real-Time Messaging with Socket.io&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Detail how Socket.io powers instant communication, allowing users to send and receive messages in real time.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;&lt;a href="https://topmate.io/kishansheth/1076639" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Source Code ⭐&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Check out the full 10+ Hour Video on my &lt;a href="https://www.youtube.com/@KishanSheth21" rel="noopener noreferrer"&gt;youtube channel.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more such Full Stack Apps subscribe to my youtube channel.&lt;/p&gt;

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

</description>
      <category>react</category>
      <category>node</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>🔴 Realtime Responsive Chat App with React, Node.js, Socket.io and MongoDB with Group Chats and File Uploads</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Thu, 11 Jul 2024 17:20:47 +0000</pubDate>
      <link>https://dev.to/kishansheth/realtime-responsive-chat-app-with-react-nodejs-socketio-and-mongodb-with-group-chats-and-file-uploads-3nhl</link>
      <guid>https://dev.to/kishansheth/realtime-responsive-chat-app-with-react-nodejs-socketio-and-mongodb-with-group-chats-and-file-uploads-3nhl</guid>
      <description>&lt;h2&gt;
  
  
  Features of the Realtime Responsive Chat App
&lt;/h2&gt;

&lt;p&gt;✅ Frontend: Built with React ⚛️&lt;/p&gt;

&lt;p&gt;✅ UI Components: ShadCN 🧩&lt;/p&gt;

&lt;p&gt;✅ Styling: Tailwind CSS 🎨&lt;/p&gt;

&lt;p&gt;✅ Responsiveness: Fully Responsive Design 📱💻&lt;/p&gt;

&lt;p&gt;✅ Authentication: JWT Tokens 🔑&lt;/p&gt;

&lt;p&gt;✅ File Handling: Multer for File and Image Storage 📁📷&lt;/p&gt;

&lt;p&gt;✅ File Download: Easy File Downloading 📥&lt;/p&gt;

&lt;p&gt;✅ Real-time Messaging: Sockets for Instant Communication 💬&lt;/p&gt;

&lt;p&gt;✅ Chat Support: Group Chats and Personal Messages 👥💬&lt;/p&gt;

&lt;p&gt;✅ Fun Conversations: Emoji Support 😄&lt;/p&gt;

&lt;p&gt;✅ Backend: Node.js and Express 🛠️&lt;/p&gt;

&lt;p&gt;✅ Database: MongoDB for Efficient Data Storage 🗄️&lt;/p&gt;

&lt;p&gt;✅ State Management: Zustand for Seamless State Management 🧠&lt;/p&gt;

&lt;p&gt;✅ API Calls: Axios for Smooth API Interactions 🌐&lt;/p&gt;

&lt;p&gt;✅ Code Quality: Structured and Maintainable Code 📚&lt;/p&gt;

&lt;p&gt;&lt;a href="https://topmate.io/kishansheth/1076639" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Source Code ⭐&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Check out the full 10+ Hour Video on my &lt;a href="https://www.youtube.com/@KishanSheth21" rel="noopener noreferrer"&gt;youtube channel.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more such Full Stack Clones subscribe to my youtube channel.&lt;/p&gt;

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

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>node</category>
    </item>
    <item>
      <title>Next.js 14 Booking App with Live Data Scraping using Scraping Browser</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Thu, 22 Feb 2024 10:36:10 +0000</pubDate>
      <link>https://dev.to/kishansheth/nextjs-14-booking-app-with-live-data-scraping-using-scraping-browser-610</link>
      <guid>https://dev.to/kishansheth/nextjs-14-booking-app-with-live-data-scraping-using-scraping-browser-610</guid>
      <description>&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;Tech Stack&lt;/li&gt;
&lt;li&gt;Features&lt;/li&gt;
&lt;li&gt;Setting Up the Next.js Application&lt;/li&gt;
&lt;li&gt;Installing Required Packages&lt;/li&gt;
&lt;li&gt;Setting Up Redis Connection&lt;/li&gt;
&lt;li&gt;Configuring BullMQ Queue&lt;/li&gt;
&lt;li&gt;Next.js Instrumentation Setup&lt;/li&gt;
&lt;li&gt;
Setting up Bright Data's Scraping Browser

&lt;ul&gt;
&lt;li&gt;What is Bright Data's scraping browser?&lt;/li&gt;
&lt;li&gt;Steps to Set Up Bright Data's Scraping Browser&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Implementing the Scraping Logic with Puppeteer&lt;/li&gt;

&lt;li&gt;Flight Search Feature&lt;/li&gt;

&lt;li&gt;Displaying Flight Search Results&lt;/li&gt;

&lt;li&gt;

Discover the Complete Guide and Codebase

&lt;ul&gt;
&lt;li&gt;Watch the Detailed Explanation on YouTube&lt;/li&gt;
&lt;li&gt;Explore the Full Code on GitHub&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Conclusion&lt;/li&gt;

&lt;/ul&gt;

&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;In the ever-evolving landscape of web development, the ability to efficiently gather, process, and display data from external sources has become increasingly valuable. Whether for market research, competitive analysis, or customer insights, web scraping plays a crucial role in unlocking the vast potential of the internet's data.&lt;/p&gt;

&lt;p&gt;This blog post introduces a comprehensive guide to building a robust Next.js application designed for scraping flight data from Kayak, one of the leading travel search engines. By leveraging the power of Next.js alongside modern technologies such as BullMQ, Redis, and Puppeteer.&lt;/p&gt;

&lt;h1&gt;
  
  
  Tech Stack
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nextjs.org/docs" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailwindcss.com/docs" rel="noopener noreferrer"&gt;Tailwind CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nextui.org/docs" rel="noopener noreferrer"&gt;Next UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zustand.surge.sh/" rel="noopener noreferrer"&gt;Zustand&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stripe.com/docs" rel="noopener noreferrer"&gt;Stripe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://brdta.com/kishansheth21" rel="noopener noreferrer"&gt;Bright Data's Scraping Browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.typescriptlang.org/docs" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://redis.io/documentation" rel="noopener noreferrer"&gt;Redis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.bullmq.io/" rel="noopener noreferrer"&gt;BullMQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pptr.dev/" rel="noopener noreferrer"&gt;Puppeteer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jwt.io/introduction" rel="noopener noreferrer"&gt;JWT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://axios-http.com/docs/intro" rel="noopener noreferrer"&gt;Axios&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.postgresql.org/docs" rel="noopener noreferrer"&gt;PostgreSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.prisma.io/docs" rel="noopener noreferrer"&gt;Prisma&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Features
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;🚀 Next.js 14 App Directory with Tailwind CSS - Experience the sleek and modern UI powered by the latest Next.js 14 and styled with Tailwind CSS for that perfect look and feel.&lt;/li&gt;
&lt;li&gt;🔗 API Routes &amp;amp; Server Actions - Dive into seamless backend integration with Next.js 14's API routes and server actions ensuring efficient data handling and server-side logic execution.&lt;/li&gt;
&lt;li&gt;🕷 Scraping with Puppeteer Redis and BullMQ - Harness the power of Puppeteer for advanced web scraping with Redis and BullMQ managing queues and jobs for robust backend operations.&lt;/li&gt;
&lt;li&gt;🔑 JWT Tokens for Authentication and Authorization - Secure your app with JWT tokens providing a reliable method for authentication and authorization across your platform.&lt;/li&gt;
&lt;li&gt;💳 Stripe for Payment Gateways - Integrate Stripe for seamless payment processing enabling secure and easy transactions for booking trips flights and hotels.&lt;/li&gt;
&lt;li&gt;✈️ Book Trips Flights and Hotels with Stripe Payment Gateway - Make your travel booking experience effortless with our Stripe-powered payment system.&lt;/li&gt;
&lt;li&gt;📊 Scrape Live Data from Multiple Websites - Stay ahead with real-time data scraping from multiple sources keeping your app updated with the latest information.&lt;/li&gt;
&lt;li&gt;💾 Store the Scraped Data in PostgreSQL with Prisma - Leverage PostgreSQL and Prisma for efficient storage and management of your scraped data ensuring reliability and speed.&lt;/li&gt;
&lt;li&gt;🔄 Zustand for State Management - Enjoy smooth and manageable state management in your app with Zustand simplifying state logic and enhancing performance.&lt;/li&gt;
&lt;li&gt;😈 Best Feature of the App - Scraping the Unscrapable Data with Bright Data's Scraping Browser.&lt;/li&gt;
&lt;/ul&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%2Fe0ytki1wpsbvluk1qkpo.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%2Fe0ytki1wpsbvluk1qkpo.jpg" alt="Scraping Browser Meme" width="680" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bright Data's Scraping Browser provides us with an automatic captcha-solving feature that helps us scrape the un-scrapable data. &lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Setting Up the Next.js Application
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a Next.js App&lt;/strong&gt;: Start by creating a new Next.js app if you haven't already. You can do this by running the following command in your terminal:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx create-next-app@latest booking-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Navigate to Your App Directory&lt;/strong&gt;: Change into your newly created app directory:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;booking-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Step 2: Installing Required Packages
&lt;/h2&gt;

&lt;p&gt;You'll need to install several packages, including Redis, BullMQ, and Puppeteer Core. Run the following command to install them:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;ioredis bullmq puppeteer-core
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ioredis&lt;/code&gt; is a robust Redis client for Node.js, enabling communication with Redis.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;bullmq&lt;/code&gt; manages job and message queues with Redis as the backend.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;puppeteer-core&lt;/code&gt; allows you to control an external browser for scraping purposes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Step 3: Setting Up Redis Connection
&lt;/h2&gt;

&lt;p&gt;Create a file (e.g., &lt;code&gt;redis.js&lt;/code&gt;) in a suitable directory (e.g., &lt;code&gt;lib/&lt;/code&gt;) to configure the Redis connection:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// lib/redis.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Redis&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ioredis&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Use REDIS_URL from environment or fallback to localhost&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;REDIS_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;REDIS_URL&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;redis://localhost:6379&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;connection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Redis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;REDIS_URL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;connection&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Step 4: Configuring BullMQ Queue
&lt;/h2&gt;

&lt;p&gt;Set up the BullMQ queue by creating another file (e.g., &lt;code&gt;queue.js&lt;/code&gt;) in the same directory as your Redis configuration:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// lib/queue.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Queue&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bullmq&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;connection&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./redis&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;importQueue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Queue&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;importQueue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;connection&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;defaultJobOptions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;attempts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;backoff&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;exponential&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Step 5: Next.js Instrumentation Setup
&lt;/h2&gt;

&lt;p&gt;Next.js allows instrumentation, which can be enabled in your Next.js configuration. You'll also need to create a worker file for job processing.&lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;Enable Instrumentation in Next.js&lt;/strong&gt;: Add the following to your &lt;code&gt;next.config.js&lt;/code&gt; to enable instrumentation:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// next.config.js&lt;/span&gt;
&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;experimental&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;instrumentationHook&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;2.&lt;strong&gt;Create a Worker for Job Processing&lt;/strong&gt;: In your application, create a file (&lt;code&gt;instrumentation.js&lt;/code&gt;) to handle job processing. This worker will use Puppeteer for scraping tasks:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// instrumentation.js&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;register&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NEXT_RUNTIME&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;nodejs&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Worker&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bullmq&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;puppeteer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;puppeteer-core&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;connection&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./lib/redis&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;importQueue&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./lib/queue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Worker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;importQueue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;job&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;// Job processing logic with Puppeteer goes here&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;connection&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;concurrency&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;removeOnComplete&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;removeOnFail&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Step 6: Setting up Bright Data's Scraping Browser
&lt;/h2&gt;

&lt;p&gt;Before setting up Bright Data Scraping Browser let's talk about what a scraping browser is. &lt;/p&gt;
&lt;h3&gt;
  
  
  What is Bright Data's scraping browser?
&lt;/h3&gt;

&lt;p&gt;Bright Data's Scraping Browser is a cutting-edge tool for automated web scraping, designed to seamlessly integrate with Puppeteer, Playwright, and Selenium. It offers a suite of website unblocking features, including proxy rotation, CAPTCHA solving, and more, to enhance scraping efficiency. Ideal for complex web scraping requiring interactions, it allows scalability by hosting unlimited browser sessions on Bright Data’s infrastructure. For more details, visit &lt;a href="https://brdta.com/kishansheth21" rel="noopener noreferrer"&gt;Bright Data&lt;/a&gt;.&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%2Fc70ochb1lgdrusgicwz4.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%2Fc70ochb1lgdrusgicwz4.png" alt="Bright Data Scraping Browser" width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a id="steps-to-set-up-bright-datas-scraping-browser"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 1: Navigate to Bright Data's Website
&lt;/h4&gt;

&lt;p&gt;Begin by heading over to &lt;a href="https://brdta.com/kishansheth21" rel="noopener noreferrer"&gt;Brightdata.com&lt;/a&gt;. This is your gateway to accessing the wealth of web scraping resources and tools offered by Bright Data.&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%2Fafgkpgytcytoqfuq0h8w.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%2Fafgkpgytcytoqfuq0h8w.png" alt="Bright Data home page" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 2: Create an Account
&lt;/h4&gt;

&lt;p&gt;Once you're on Bright Data's website, sign up to create a new account. You'll be prompted to enter essential information to get your account up and running.&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%2Fffha75szs9tubh8kra9j.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%2Fffha75szs9tubh8kra9j.png" alt="Login/Signup Bright Data" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 3: Select Your Product
&lt;/h4&gt;

&lt;p&gt;On the product selection page, look for the Proxies &amp;amp; Scraping Infrastructure product. This product is specifically designed to meet your web scraping needs, offering powerful tools and features for data extraction.&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%2Fb058azlmjv30po6289fh.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%2Fb058azlmjv30po6289fh.png" alt="Bright Data products" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 4: Add a New Proxy
&lt;/h4&gt;

&lt;p&gt;Within the Proxies &amp;amp; Scraping Infrastructure page, you'll find an "add new button." Click on this to start the process of adding a new scraping browser to your toolkit.&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%2F2jscxsyt9yess1nvzi4z.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%2F2jscxsyt9yess1nvzi4z.png" alt="New Proxy" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 5: Choose the Scraping Browser
&lt;/h4&gt;

&lt;p&gt;A dropdown list will appear, from which you should select the scraping browser option. This tells Bright Data that you intend to set up a new scraping browser environment.&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%2Fi483ipx7spwne65c6tep.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%2Fi483ipx7spwne65c6tep.png" alt="Choose Scraping Browser" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 6: Name Your Scraping Browser
&lt;/h4&gt;

&lt;p&gt;Give your new scraping browser a unique name. This helps in identifying and managing it later, especially if you plan to use multiple browsers for different scraping projects.&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%2Fn0qnitec7s7gki7t3826.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%2Fn0qnitec7s7gki7t3826.png" alt="Scraping Browser Name" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 7: Add the Browser
&lt;/h4&gt;

&lt;p&gt;After naming your browser, click on the "add" button. This action finalizes the creation of your new scraping browser.&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%2Fao6n1edyyx2no621nh01.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%2Fao6n1edyyx2no621nh01.png" alt="Add the scraping browser" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 8: View Your Scraping Browser Details
&lt;/h4&gt;

&lt;p&gt;Upon adding your scraping browser, you will be directed to a page where you can see all the details of your newly created scraping browser. This information is crucial for integration and use.&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%2Fev33mbgznevn6h9p60g6.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%2Fev33mbgznevn6h9p60g6.png" alt="Scraping Browser Details" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 9: Access Code and Integration Examples
&lt;/h4&gt;

&lt;p&gt;Look for the "check out code and integration examples" button. Clicking this will provide you with a comprehensive view of how to integrate and use your scraping browser across multiple programming languages and libraries. This resource is invaluable for developers looking to customize their scraping setup.&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%2F30araqzko585yzmhrumd.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%2F30araqzko585yzmhrumd.png" alt="Code and Integration Examples Button" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 10: Integrate Your Scraping Browser
&lt;/h4&gt;

&lt;p&gt;Finally, copy the SRS_WS_ENDPOINT variable. This is a critical piece of information that you will need to integrate into your source code, allowing your applications to communicate with the scraping browser you've just set up.&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%2Fkqhpglz1lngobguk2nu4.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%2Fkqhpglz1lngobguk2nu4.png" alt="Scraping Browser Endpoint" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By following these detailed steps, you have successfully created a scraping browser within Bright Data's platform, ready to tackle your web scraping tasks. Remember, Bright Data offers extensive documentation and support to help you maximize your scraping projects' efficiency and effectiveness. Whether you're gathering market intelligence, conducting research, or monitoring competitive landscapes, your newly set up scraping browser is a powerful tool in your data collection arsenal.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 7: Implementing the Scraping Logic with Puppeteer
&lt;/h3&gt;

&lt;p&gt;Continuing from where we left off in setting up our Next.js application for scraping flight data, the next critical step is to implement the actual scraping logic. This process involves utilizing Puppeteer to connect to a browser instance, navigate to the target URL (in our case, Kayak), and scrape the necessary flight data. The code snippet provided outlines a sophisticated method for achieving this goal, seamlessly integrating with our previously established BullMQ worker setup. Let's break down the components of this scraping logic and understand how it fits into our application.&lt;/p&gt;
&lt;h4&gt;
  
  
  Establishing a Connection to the Browser
&lt;/h4&gt;

&lt;p&gt;The first step in our scraping process is to establish a connection to the browser through Puppeteer. This is accomplished by utilizing the &lt;code&gt;puppeteer.connect&lt;/code&gt; method, which connects to an existing browser instance using a WebSocket endpoint (&lt;code&gt;SBR_WS_ENDPOINT&lt;/code&gt;). This environment variable should be set to the WebSocket URL of the scraping browser service you're using, such as Bright Data:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;puppeteer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;browserWSEndpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;SBR_WS_ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  Opening a New Page and Navigating to the Target URL
&lt;/h4&gt;

&lt;p&gt;Once connected, we create a new page in the browser and navigate to the target URL specified in the job data. This URL is the specific Kayak search result page from which we intend to scrape flight data:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;newPage&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;goto&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;job&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  Scraping Flight Data
&lt;/h4&gt;

&lt;p&gt;The core of our logic lies in scraping the flight data from the page. We achieve this by using &lt;code&gt;page.evaluate&lt;/code&gt;, a Puppeteer method that allows us to run scripts in the context of the browser. Within this script, we wait for the necessary elements to load and then proceed to collect flight information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flight Selector&lt;/strong&gt;: We target elements with the class &lt;code&gt;.nrc6-wrapper&lt;/code&gt;, which contain flight details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Extraction&lt;/strong&gt;: For each flight element, we extract details such as the airline logo, departure and arrival times, flight duration, airline name, and price. The departure and arrival times are cleaned to remove unnecessary numeric values at the end, ensuring we capture the time accurately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Price Processing&lt;/strong&gt;: The price is extracted as an integer after removing all non-numeric characters, ensuring it can be used for numerical operations or comparisons.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The extracted data is structured into an array of flight objects, each containing the details mentioned above:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;scrappedFlights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;evaluate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Data extraction logic&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;flights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
  &lt;span class="c1"&gt;// Process each flight element&lt;/span&gt;
  &lt;span class="c1"&gt;// ...&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;flights&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  Error Handling and Cleanup
&lt;/h4&gt;

&lt;p&gt;Our scraping logic is wrapped in a try-catch block to handle any potential errors gracefully during the scraping process. Regardless of the outcome, we ensure the browser is closed properly in the finally block, maintaining resource efficiency and preventing potential memory leaks:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Scraping logic&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;finally&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Browser closed successfully.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  The entire code
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SBR_WS_ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;SBR_WS_ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;register&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NEXT_RUNTIME&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nodejs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;


    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Worker&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bullmq&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;puppeteer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;puppeteer&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;connection&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./lib/redis&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;importQueue&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./lib/queue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Worker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;importQueue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;job&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;puppeteer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
          &lt;span class="na"&gt;browserWSEndpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;SBR_WS_ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;

        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;newPage&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;in flight scraping&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Connected! Navigating to &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;job&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;goto&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;job&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Navigated! Scraping page content...&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;scrappedFlights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;evaluate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;flights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;flightSelectors&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.nrc6-wrapper&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

            &lt;span class="nx"&gt;flightSelectors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;flightElement&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;airlineLogo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;flightElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;img&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)?.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;rawDepartureTime&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;rawArrivalTime&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="nx"&gt;flightElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.vmXl&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)?.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;
              &lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; – &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

              &lt;span class="c1"&gt;// Function to extract time and remove numeric values at the end&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;extractTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;rawTime&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;timeWithoutNumbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;rawTime&lt;/span&gt;
                  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;0-9+&lt;/span&gt;&lt;span class="se"&gt;\s]&lt;/span&gt;&lt;span class="sr"&gt;+$/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;timeWithoutNumbers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
              &lt;span class="p"&gt;};&lt;/span&gt;

              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;departureTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extractTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;rawDepartureTime&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;arrivalTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extractTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;rawArrivalTime&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;flightDuration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="nx"&gt;flightElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.xdW8&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)?.&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]?.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
                &lt;span class="dl"&gt;""&lt;/span&gt;
              &lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;airlineName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="nx"&gt;flightElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.VY2U&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)?.&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]?.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
                &lt;span class="dl"&gt;""&lt;/span&gt;
              &lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

              &lt;span class="c1"&gt;// Extract price&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;parseInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="p"&gt;(&lt;/span&gt;
                  &lt;span class="nx"&gt;flightElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.f8F1-price-text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)?.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
                  &lt;span class="dl"&gt;""&lt;/span&gt;
                &lt;span class="p"&gt;)&lt;/span&gt;
                  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[^\d]&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
                &lt;span class="mi"&gt;10&lt;/span&gt;
              &lt;span class="p"&gt;);&lt;/span&gt;

              &lt;span class="nx"&gt;flights&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
                &lt;span class="nx"&gt;airlineLogo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nx"&gt;departureTime&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nx"&gt;arrivalTime&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nx"&gt;flightDuration&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nx"&gt;airlineName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nx"&gt;price&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="p"&gt;});&lt;/span&gt;
            &lt;span class="p"&gt;});&lt;/span&gt;

            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;flights&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
          &lt;span class="p"&gt;});&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;finally&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;browser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Browser closed successfully.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;connection&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;concurrency&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;removeOnComplete&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="na"&gt;removeOnFail&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

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

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 8: Flight Search Feature
&lt;/h3&gt;

&lt;p&gt;Building upon our flight data scraping functionality, let's integrate a comprehensive flight search feature into our Next.js application. This feature will provide users with a dynamic interface to search for flights by specifying the source, destination, and date. Leveraging the powerful Next.js framework alongside a modern UI library and state management, we create an engaging and responsive flight search experience.&lt;/p&gt;
&lt;h4&gt;
  
  
  Key Components of the Flight Search Feature
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dynamic City Selection&lt;/strong&gt;: The feature includes an autocomplete functionality for source and destination inputs, powered by a pre-defined list of city-airport codes. As users type, the application filters and displays matching cities, enhancing the user experience by making it easier to find and select airports.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Date Selection&lt;/strong&gt;: Users can select their intended flight date through a date input, providing flexibility in planning their travel.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scraping Status Monitoring&lt;/strong&gt;: After initiating a scraping job, the application monitors the job's status through periodic API calls. This asynchronous checking allows the app to update the UI with the status of the scraping process, ensuring users are informed of the progress and results.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;
  
  
  Complete Code for the Flight Search Component
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;use client&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useAppStore&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@/store&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;USER_API_ROUTES&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@/utils/api-routes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;cityAirportCode&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@/utils/city-airport-codes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Input&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Listbox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ListboxItem&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@nextui-org/react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;axios&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Image&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next/image&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useRouter&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next/navigation&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FaCalendarAlt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;FaSearch&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-icons/fa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SearchFlights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;router&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useRouter&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;setScraping&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setScrapingType&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setScrappedFlights&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useAppStore&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;loadingJobId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setLoadingJobId&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setSource&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;sourceOptions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setSourceOptions&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;city&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;code&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}[]&lt;/span&gt;
  &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;([]);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;destination&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setDestination&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;destinationOptions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setDestinationOptions&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;city&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;code&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}[]&lt;/span&gt;
  &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;([]);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;flightDate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setFlightDate&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;today&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;today&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toISOString&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;T&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleSourceChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;matchingCities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cityAirportCode&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(([,&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toLowerCase&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toLowerCase&lt;/span&gt;&lt;span class="p"&gt;()))&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(([&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt; &lt;span class="p"&gt;}))&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;splice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="nf"&gt;setSourceOptions&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;matchingCities&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;destinationChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;matchingCities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cityAirportCode&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(([,&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toLowerCase&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toLowerCase&lt;/span&gt;&lt;span class="p"&gt;()))&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(([&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;city&lt;/span&gt; &lt;span class="p"&gt;}))&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;splice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="nf"&gt;setDestinationOptions&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;matchingCities&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;startScraping&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;destination&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;flightDate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;USER_API_ROUTES&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;FLIGHT_SCRAPE&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;?source=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;amp;destination=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;destination&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;amp;date=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;flightDate&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nf"&gt;setLoadingJobId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nf"&gt;setScraping&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nf"&gt;setScrapingType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flight&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="nf"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loadingJobId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;checkIfJobCompleted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;USER_API_ROUTES&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;FLIGHT_SCRAPE_STATUS&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;?jobId=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;loadingJobId&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kd"&gt;set&lt;/span&gt;

&lt;span class="nc"&gt;ScrappedFlights&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;flights&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nf"&gt;clearInterval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;jobIntervalRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nf"&gt;setScraping&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nf"&gt;setScrapingType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`/flights?data=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;flightDate&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;};&lt;/span&gt;
      &lt;span class="nx"&gt;jobIntervalRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;setInterval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;checkIfJobCompleted&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;clearInterval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;jobIntervalRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;loadingJobId&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"h-[90vh] flex items-center justify-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"absolute left-0 top-0 h-[100vh] w-[100vw] max-w-[100vw] overflow-hidden overflow-x-hidden"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Image&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/flight-search.png"&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt; &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Search"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"absolute h-[50vh] w-[60vw] flex flex-col gap-5"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* UI and functionality for flight search */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;SearchFlights&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 9: Flight Search Page UI
&lt;/h3&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%2F54bkhpea27fkzg4vlur1.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%2F54bkhpea27fkzg4vlur1.png" alt="Flight Search Page" width="800" height="631"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Displaying Flight Search Results
&lt;/h3&gt;

&lt;p&gt;After successfully scraping flight data, the next crucial step is to present these results to the users in a user-friendly manner. The Flights component in your Next.js application is designed for this purpose.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;use client&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useAppStore&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@/store&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;USER_API_ROUTES&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@/utils/api-routes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@nextui-org/react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;axios&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Image&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next/image&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useRouter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useSearchParams&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next/navigation&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FaChevronLeft&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-icons/fa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;MdOutlineFlight&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-icons/md&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Flights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;router&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useRouter&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;searchParams&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useSearchParams&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;searchParams&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;date&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;scrappedFlights&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;userInfo&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useAppStore&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;getRandomNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;41&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bookFLight&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;flightId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{};&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m-10 px-[20vw] min-h-[80vh]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Button&lt;/span&gt;
        &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;my-5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="nx"&gt;variant&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shadow&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;primary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;lg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/search-flights&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;FaChevronLeft&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;Go&lt;/span&gt; &lt;span class="nx"&gt;Back&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex-col flex gap-5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;scrappedFlights&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex items-center justify-center py-5 px-10 mt-10 rounded-lg text-red-500 bg-red-100 font-medium&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="nx"&gt;No&lt;/span&gt; &lt;span class="nx"&gt;Flights&lt;/span&gt; &lt;span class="nx"&gt;found&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="p"&gt;)}&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;scrappedFlights&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="na"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;any&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;seatsLeft&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;getRandomNumber&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
          &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;
              &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
              &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;grid grid-cols-12 border bg-gray-200 rounded-xl font-medium drop-shadow-md&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
            &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;col-span-9 bg-white rounded-l-xl p-10 flex flex-col gap-5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;grid grid-cols-4 gap-4&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex flex-col gap-3 font-medium&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;relative w-20 h-16&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Image&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;logo&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;airline name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;fill&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;col-span-3 flex justify-between&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex flex-col gap-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-blue-600&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;From&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-3xl&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;strong&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;departureTime&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/strong&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex flex-col items-center justify-center gap-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bg-violet-100 w-max p-3 text-4xl text-blue-600 rounded-full&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;MdOutlineFlight&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-lg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;strong&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Non&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;stop&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/strong&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex flex-col gap-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-blue-600&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;To&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-3xl&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;strong&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;arrivalTime&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/strong&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex justify-center gap-10 bg-violet-100 p-3 rounded-lg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Airplane&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nx"&gt;nbsp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nx"&gt;nbsp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-blue-600 font-semibold&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span class="nx"&gt;Boeing&lt;/span&gt; &lt;span class="mi"&gt;787&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Travel&lt;/span&gt; &lt;span class="na"&gt;Class&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nx"&gt;nbsp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nx"&gt;nbsp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-blue-600 font-semibold&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Economy&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex justify-between font-medium&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="nx"&gt;Refundable&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-blue-600&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;$5&lt;/span&gt; &lt;span class="nx"&gt;ecash&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;
                    &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;
                      &lt;span class="nx"&gt;seatsLeft&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-green-500&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-red-500&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                    &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="nx"&gt;Only&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;seatsLeft&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;Seats&lt;/span&gt; &lt;span class="nx"&gt;Left&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;cursor-pointer&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Flight&lt;/span&gt; &lt;span class="nx"&gt;Details&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;col-span-3 bg-violet-100 rounded-r-xl h-full flex flex-col items-center justify-center gap-5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;line-through font-light&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;price&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;140&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex items-center gap-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-5xl font-bold&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;price&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-blue-600&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nx"&gt;OFF&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Button&lt;/span&gt;
                  &lt;span class="nx"&gt;variant&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ghost&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                  &lt;span class="nx"&gt;radius&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;full&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                  &lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;lg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                  &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;primary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                  &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;userInfo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;bookFLight&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;flight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                  &lt;span class="p"&gt;}}&lt;/span&gt;
                &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;userInfo&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Book Now&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Login to Book&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;})}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Flights&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  Flight Search Results
&lt;/h4&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%2Fcxufusoyrf6hgtrrcmsw.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%2Fcxufusoyrf6hgtrrcmsw.png" alt="Flight Search Results" width="800" height="854"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Discover the Complete Guide and Codebase
&lt;/h3&gt;

&lt;p&gt;The sections and code snippets shared above represent just a fraction of the full functionality and code necessary to build a robust flight data scraping and search application using Next.js. To grasp the entirety of this project, including advanced features, optimizations, and best practices, I invite you to dive deeper through my comprehensive resources available online.&lt;/p&gt;
&lt;h4&gt;
  
  
  Watch the Detailed Explanation on YouTube
&lt;/h4&gt;

&lt;p&gt;For a step-by-step video guide that walks you through the development process, coding nuances, and functionality of this application, check out my YouTube video. This tutorial is designed to provide you with a deeper understanding of the concepts, allowing you to follow along at your own pace and gain valuable insights into Next.js application development.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ZWVhk0fxHM0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;h4&gt;
  
  
  Explore the Full Code on GitHub
&lt;/h4&gt;

&lt;p&gt;If you're eager to explore the code in its entirety, head over to my GitHub repository. There, you'll find the complete codebase, including all the components, utilities, and setup instructions you need to get this application running on your own machine.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/koolkishan" rel="noopener noreferrer"&gt;
        koolkishan
      &lt;/a&gt; / &lt;a href="https://github.com/koolkishan/nextjs-travel-planner" rel="noopener noreferrer"&gt;
        nextjs-travel-planner
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 id="user-content-title" class="heading-element"&gt;Arklyte Travel Planner&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/938ba2452f9e406b587fe1fe7ce2965213f267931dd2fb40618d7cc830cfb390/68747470733a2f2f736f6369616c6966792e6769742e63692f6b6f6f6c6b697368616e2f6e6578746a732d74726176656c2d706c616e6e65722f696d6167653f666f6e743d52616c6577617926666f726b733d31266c616e67756167653d31266e616d653d31266f776e65723d31267061747465726e3d536f6c69642670756c6c733d31267374617267617a6572733d31267468656d653d4461726b"&gt;&lt;img src="https://camo.githubusercontent.com/938ba2452f9e406b587fe1fe7ce2965213f267931dd2fb40618d7cc830cfb390/68747470733a2f2f736f6369616c6966792e6769742e63692f6b6f6f6c6b697368616e2f6e6578746a732d74726176656c2d706c616e6e65722f696d6167653f666f6e743d52616c6577617926666f726b733d31266c616e67756167653d31266e616d653d31266f776e65723d31267061747465726e3d536f6c69642670756c6c733d31267374617267617a6572733d31267468656d653d4461726b" alt="project-image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p id="user-content-description"&gt;Travel Planner App with Live Web Scraping from various sources using Bright Data scraping browser.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Project Screenshots:&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/koolkishan/nextjs-travel-planner/blob/main/screenshots/ARKLYTE%20(3).png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fkoolkishan%2Fnextjs-travel-planner%2Fraw%2Fmain%2Fscreenshots%2FARKLYTE%2520%283%29.png" alt="project-screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🧐 Features&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Here are some of the project's best features:&lt;/p&gt;


&lt;ul&gt;

&lt;li&gt;🚀 Next.js 14 App Directory with Tailwind CSS - Experience the sleek and modern UI powered by the latest Next.js 14 and styled with Tailwind CSS for that perfect look and feel.&lt;/li&gt;

&lt;li&gt;🔗 API Routes &amp;amp; Server Actions - Dive into seamless backend integration with Next.js 14's API routes and server actions ensuring efficient data handling and server-side logic execution.&lt;/li&gt;

&lt;li&gt;🕷 Scraping with Puppeteer Redis and BullMQ - Harness the power of Puppeteer for advanced web scraping with Redis and BullMQ managing queues and jobs for robust backend operations.&lt;/li&gt;

&lt;li&gt;🔑 JWT Tokens for Authentication and Authorization - Secure your app with JWT tokens providing a reliable method for authentication and authorization across your platform.&lt;/li&gt;

&lt;li&gt;💳 Stripe for Payment Gateways -…&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/koolkishan/nextjs-travel-planner" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Building a comprehensive application like the flight data scraping and search tool with Next.js showcases the power and versatility of modern web development tools and frameworks. Whether you're a seasoned developer looking to refine your skills or a beginner eager to dive into web development, these resources are tailored to support your journey. Watch the detailed tutorial on YouTube, explore the full code on GitHub, and join the conversation to enhance your development expertise and contribute to the vibrant developer community.&lt;/p&gt;

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>node</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🟣 Compilation of Best Full Stack Clones: Amazon, Airbnb, Fiverr, Whatsapp, Netflix, Spotify, Youtube, Zoom &amp; Candy Crush</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Mon, 16 Oct 2023 12:04:04 +0000</pubDate>
      <link>https://dev.to/kishansheth/compilation-of-best-full-stack-clones-amazon-airbnb-fiverr-whatsapp-netflix-spotify-youtube-zoom-candy-crush-3b8n</link>
      <guid>https://dev.to/kishansheth/compilation-of-best-full-stack-clones-amazon-airbnb-fiverr-whatsapp-netflix-spotify-youtube-zoom-candy-crush-3b8n</guid>
      <description>&lt;p&gt;I am thrilled to share an incredible web development and innovation journey in this blog post. Over time, I have embarked on a quest to recreate and reimagine some of the most popular web applications, resulting in a diverse collection of full-stack clones that reflect my passion for coding and technology.&lt;/p&gt;

&lt;p&gt;From the e-commerce giant Amazon to the real-time messaging platform WhatsApp, each clone is a testament to my dedication to mastering various technologies and showcasing their capabilities. In this post, we'll delve into the features and functionalities of these remarkable clones, offering a glimpse into the world of web development and the endless possibilities it presents.&lt;/p&gt;

&lt;p&gt;Most of the codes of these clones are open source. You can check it from my GitHub account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/koolkishan" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Source Codes&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;If you like this blog post and my work, don't forget to subscribe to my YouTube channel. It would help me a lot. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/@KishanSheth21/videos" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Subscribe ⭐&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Full Stack Amazon Clone
&lt;/h3&gt;

&lt;p&gt;✅ Built using Next.js&lt;/p&gt;

&lt;p&gt;✅ Styled with Tailwind CSS&lt;/p&gt;

&lt;p&gt;✅ Backend generated using Amplication&lt;/p&gt;

&lt;p&gt;✅ State Management with Zustand&lt;/p&gt;

&lt;p&gt;✅ Typescript for type safety&lt;/p&gt;

&lt;p&gt;✅ Login Signup using JWT Tokens&lt;/p&gt;

&lt;p&gt;✅ API calls using Axios&lt;/p&gt;

&lt;p&gt;✅ Recharts for charts&lt;/p&gt;

&lt;p&gt;✅ Next UI for excellent prebuilt components&lt;/p&gt;

&lt;p&gt;✅ React Pro Sidebar for prebuilt excellent sidebar.&lt;/p&gt;

&lt;p&gt;✅ Admin Panel&lt;/p&gt;

&lt;p&gt;✅ Table Pagination&lt;/p&gt;

&lt;p&gt;✅ Categories CRUD (Create/Read/Update/Delete)&lt;/p&gt;

&lt;p&gt;✅ Products CRUD (Create/Read/Update/Delete)&lt;/p&gt;

&lt;p&gt;✅ Order Management&lt;/p&gt;

&lt;p&gt;✅ Dashboard for Admin&lt;/p&gt;

&lt;p&gt;✅ Admin Login&lt;/p&gt;

&lt;p&gt;✅ User Login &amp;amp; Signup&lt;/p&gt;

&lt;p&gt;✅ User view products&lt;/p&gt;

&lt;p&gt;✅ User search products&lt;/p&gt;

&lt;p&gt;✅ User adds products to the cart&lt;/p&gt;

&lt;p&gt;✅ User place order&lt;/p&gt;

&lt;p&gt;✅ And many more features that you can watch from the video below&lt;/p&gt;

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

&lt;h3&gt;
  
  
  2. Full Stack Airbnb Clone
&lt;/h3&gt;

&lt;p&gt;✅ Built using Next.js&lt;/p&gt;

&lt;p&gt;✅ Styled with Tailwind CSS&lt;/p&gt;

&lt;p&gt;✅ Backend generated using Amplication&lt;/p&gt;

&lt;p&gt;✅ State Management with Zustand&lt;/p&gt;

&lt;p&gt;✅ Realtime Maps using Mapbox API &lt;/p&gt;

&lt;p&gt;✅ Login Signup using JWT Tokens&lt;/p&gt;

&lt;p&gt;✅ API calls using Axios&lt;/p&gt;

&lt;p&gt;✅ Create Listings&lt;/p&gt;

&lt;p&gt;✅ View Listings&lt;/p&gt;

&lt;p&gt;✅ Book Listings&lt;/p&gt;

&lt;p&gt;✅ Delete Listings&lt;/p&gt;

&lt;p&gt;✅ Add Listing to Wishlist&lt;/p&gt;

&lt;p&gt;✅ Remove Listing from Wishlist&lt;/p&gt;

&lt;p&gt;✅ View booked Listings&lt;/p&gt;

&lt;p&gt;✅ Search Listings&lt;/p&gt;

&lt;p&gt;✅ Search Listings using Map&lt;/p&gt;

&lt;p&gt;✅ View Listings Data on Map&lt;/p&gt;

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

&lt;h3&gt;
  
  
  3. Full Stack Fiverr Clone
&lt;/h3&gt;

&lt;p&gt;✅ Built with Next.js&lt;/p&gt;

&lt;p&gt;✅ Used Prisma For ORM&lt;/p&gt;

&lt;p&gt;✅ PostgreSQL for DB&lt;/p&gt;

&lt;p&gt;✅ Node.js for backend&lt;/p&gt;

&lt;p&gt;✅ Express for Node.js framework&lt;/p&gt;

&lt;p&gt;✅ Firebase for Login&lt;/p&gt;

&lt;p&gt;✅ Styled using Tailwind CSS&lt;/p&gt;

&lt;p&gt;✅ Axios for API Calls&lt;/p&gt;

&lt;p&gt;✅ Stripe for Payment Gateway&lt;/p&gt;

&lt;p&gt;✅ Typescript for type Safety&lt;/p&gt;

&lt;p&gt;✅ Cookies and JWT for Auth Management&lt;/p&gt;

&lt;p&gt;✅ Multer for Image Upload&lt;/p&gt;

&lt;p&gt;✅ Create Gigs&lt;/p&gt;

&lt;p&gt;✅ View Gigs&lt;/p&gt;

&lt;p&gt;✅ Search Gigs&lt;/p&gt;

&lt;p&gt;✅ Rate Gigs&lt;/p&gt;

&lt;p&gt;✅ Order Gigs&lt;/p&gt;

&lt;p&gt;✅ Chat with Admin/User&lt;/p&gt;

&lt;p&gt;✅ Revenue Analytics&lt;/p&gt;

&lt;p&gt;✅ Payment with Stripe&lt;/p&gt;

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

&lt;h3&gt;
  
  
  4. Full Stack Whatsapp Clone
&lt;/h3&gt;

&lt;p&gt;✅ Next.js For Frontend&lt;/p&gt;

&lt;p&gt;✅ Node.js with Express as Backend&lt;/p&gt;

&lt;p&gt;✅ Prisma as ORM with PostgreSQL&lt;/p&gt;

&lt;p&gt;✅ Google Login Using Firebase&lt;/p&gt;

&lt;p&gt;✅ Socket.io for Messages&lt;/p&gt;

&lt;p&gt;✅ Styled using Tailwind CSS&lt;/p&gt;

&lt;p&gt;✅ Context for State Management&lt;/p&gt;

&lt;p&gt;✅ Wavesurfer for live Audio Waveforms&lt;/p&gt;

&lt;p&gt;✅ Login with Google using Firebase: Seamlessly sign in with your Google account via Firebase integration.&lt;/p&gt;

&lt;p&gt;✅ Switch between multiple databases using Prisma: Customize your database preferences to suit your needs effortlessly.&lt;/p&gt;

&lt;p&gt;✅ Send and Receive Messages using Sockets: Real-time messaging capabilities using Socket.io for instant communication.&lt;/p&gt;

&lt;p&gt;✅ Voice Call and Video Call Feature: Enjoy crystal clear voice and video calls within the app.&lt;/p&gt;

&lt;p&gt;✅ Voice Notes with Live Audio Waveforms: Send and receive voice notes accompanied by live audio waveforms for an enhanced messaging experience.&lt;/p&gt;

&lt;p&gt;✅ Support for Emoji: Express yourself with a wide range of emojis to add fun and emotions to your conversations.&lt;/p&gt;

&lt;p&gt;✅ Send Images: Share images with your friends and loved ones effortlessly.&lt;/p&gt;

&lt;p&gt;✅ Online/Offline Functionality: Identify your contacts' online and offline status.&lt;/p&gt;

&lt;p&gt;✅ Search Messages: Quickly find specific messages using the search functionality.&lt;/p&gt;

&lt;p&gt;✅ Capture Photo From Camera: Take instant photos using your device's camera and send them instantly.&lt;/p&gt;

&lt;p&gt;✅ Message Read Status: Know when your recipients have read your messages.&lt;/p&gt;

&lt;p&gt;✅ Message Time: Stay updated with the time stamps of messages for better organization.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  5. Full Stack Netflix Clone
&lt;/h3&gt;

&lt;p&gt;✅ Built with React&lt;/p&gt;

&lt;p&gt;✅ Used TMBD API for movie data&lt;/p&gt;

&lt;p&gt;✅ React Router DOM for navigation&lt;/p&gt;

&lt;p&gt;✅ Axios for API Calls&lt;/p&gt;

&lt;p&gt;✅ Redux Toolkit for State Management&lt;/p&gt;

&lt;p&gt;✅ Firebase for Login using Google&lt;/p&gt;

&lt;p&gt;✅ Backend in Node.js with Express&lt;/p&gt;

&lt;p&gt;✅ Mongoose and MongoDB for DB&lt;/p&gt;

&lt;p&gt;✅ Styled using Styled Components&lt;/p&gt;

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

&lt;h3&gt;
  
  
  6. Spotify Clone with Spotify API
&lt;/h3&gt;

&lt;p&gt;✅ Built with React&lt;/p&gt;

&lt;p&gt;✅ Styled with Styled Components&lt;/p&gt;

&lt;p&gt;✅ Used Spotify API for Using Real-Time Data&lt;/p&gt;

&lt;p&gt;✅ Used Context for State Management&lt;/p&gt;

&lt;p&gt;✅ Used Spotify API for player Controls&lt;/p&gt;

&lt;p&gt;✅ Play/Pause Track&lt;/p&gt;

&lt;p&gt;✅ View Spotify Account Playlist&lt;/p&gt;

&lt;p&gt;✅ Play Track from Playlist&lt;/p&gt;

&lt;p&gt;✅ Forward/Backward Track&lt;/p&gt;

&lt;p&gt;✅ Volume Increase/Decrease &lt;/p&gt;

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

&lt;h3&gt;
  
  
  7. YouTube Clone with YouTube Data API
&lt;/h3&gt;

&lt;p&gt;✅ Built using React&lt;/p&gt;

&lt;p&gt;✅ Styled with Tailwind CSS&lt;/p&gt;

&lt;p&gt;✅ Typescript for Type Safety&lt;/p&gt;

&lt;p&gt;✅ Redux Toolkit for State Management&lt;/p&gt;

&lt;p&gt;✅ Axios for API calls&lt;/p&gt;

&lt;p&gt;✅ React Router for Routing&lt;/p&gt;

&lt;p&gt;✅ Infinite Scroll For Infinitely Scrolling of videos&lt;/p&gt;

&lt;p&gt;✅ Used YouTube Data API to get the videos&lt;/p&gt;

&lt;p&gt;✅ Search Videos&lt;/p&gt;

&lt;p&gt;✅ Random Home Page Videos&lt;/p&gt;

&lt;p&gt;✅ View the Video Page with all the details&lt;/p&gt;

&lt;p&gt;✅ Metadata of videos&lt;/p&gt;

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

&lt;h3&gt;
  
  
  8. Zoom Clone
&lt;/h3&gt;

&lt;p&gt;✅ Built with React&lt;/p&gt;

&lt;p&gt;✅ Firebase for login using Google&lt;/p&gt;

&lt;p&gt;✅ Firestore for storing the data and making the app serverless&lt;/p&gt;

&lt;p&gt;✅ React Router for Routing&lt;/p&gt;

&lt;p&gt;✅ Typescript for type safety&lt;/p&gt;

&lt;p&gt;✅ Redux Toolkit for State Management&lt;/p&gt;

&lt;p&gt;✅ Elastic UI for ready-made components&lt;/p&gt;

&lt;p&gt;✅ Zegocloud prebuilt UI for Video Meetings&lt;/p&gt;

&lt;p&gt;✅ You can schedule different types of meetings and join them&lt;/p&gt;

&lt;p&gt;✅ Change Meetings Info&lt;/p&gt;

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

&lt;h2&gt;
  
  
  9 Candy Crush in React
&lt;/h2&gt;

&lt;p&gt;✅ Created using React&lt;/p&gt;

&lt;p&gt;✅ Used Redux Toolkit for State Management&lt;/p&gt;

&lt;p&gt;✅ Styled with Tailwind CSS&lt;/p&gt;

&lt;p&gt;✅ Typescript for Type Safety&lt;/p&gt;

&lt;p&gt;✅ Fully Functional Candy Crush Game using React&lt;/p&gt;

&lt;p&gt;✅ You will learn various best practices&lt;/p&gt;

&lt;p&gt;✅ You will learn how to implement complex Logic&lt;/p&gt;

&lt;p&gt;✅ Logic for valid and invalid moves developed&lt;/p&gt;

&lt;p&gt;✅ Candies with 3 or 4 matches can be poped.&lt;/p&gt;

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

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

&lt;p&gt;I am working on these Clones next and will create a video before the end of the year.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Full Stack Discord Clone&lt;/li&gt;
&lt;li&gt;Full Stack Instagram Clone&lt;/li&gt;
&lt;li&gt;Full Stack ChatGPT Clone&lt;/li&gt;
&lt;li&gt;Full Stack Twitter Clone&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can check the status of these clones on my Discord Server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://discord.gg/JjKwqn6Tm4" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Join Discord 🟣&lt;/a&gt;
&lt;/p&gt;

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

&lt;p&gt;As the author of this blog post, I'm delighted to share this exciting array of full-stack clones. They stand as a testament to the endless possibilities of web development, showcasing the power of technology and innovation. Whether you're a seasoned developer or just starting your coding journey, I hope these clones inspire you to explore, learn, and create. Stay tuned for more exciting projects on the horizon in the world of full-stack development.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>nextjs</category>
      <category>javascript</category>
    </item>
    <item>
      <title>🚀 Supercharge Your Next.js App with Stunning Images! Learn the Ultimate Cloudinary Image Upload Hack 🔥</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Sat, 14 Oct 2023 06:36:36 +0000</pubDate>
      <link>https://dev.to/kishansheth/supercharge-your-nextjs-app-with-stunning-images-learn-the-ultimate-cloudinary-image-upload-hack-31ja</link>
      <guid>https://dev.to/kishansheth/supercharge-your-nextjs-app-with-stunning-images-learn-the-ultimate-cloudinary-image-upload-hack-31ja</guid>
      <description>&lt;p&gt;In today's digital world, where images and videos are pivotal in web applications, optimizing the media delivery process is essential for a seamless user experience. One powerful solution for managing and serving media assets is &lt;a href="https://cloudinary.com/" rel="noopener noreferrer"&gt;Cloudinary&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;In this blog post, we'll explore how to integrate Cloudinary into your Next.js application using the &lt;code&gt;next-cloudinary&lt;/code&gt; package. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is Cloudinary?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://cloudinary.com/" rel="noopener noreferrer"&gt;Cloudinary&lt;/a&gt; is a cloud-based media management platform that provides an end-to-end solution for storing, managing, optimizing, and delivering media assets such as images, videos, and documents. It offers a robust set of features for transforming and serving media efficiently. Cloudinary also helps developers handle tasks like resizing, cropping, and format conversion without the need for complex server-side code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use Cloudinary with Next.js?
&lt;/h2&gt;

&lt;p&gt;Integrating Cloudinary with your Next.js application brings several benefits:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Optimized Image and Video Delivery:&lt;/strong&gt; Cloudinary optimizes media assets for faster loading, improving your website's performance and user experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Media Transformation:&lt;/strong&gt; Cloudinary allows you to dynamically transform images and videos to suit various device screen sizes and resolutions, reducing the need for manual asset preparation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CDN and Caching:&lt;/strong&gt; Cloudinary leverages a Content Delivery Network (CDN) to deliver assets quickly and efficiently. It also provides caching options for faster load times.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Secure Storage:&lt;/strong&gt; Cloudinary provides secure and scalable cloud-based storage, reducing the complexity of managing media files on your servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Seamless Integration:&lt;/strong&gt; With the &lt;code&gt;next-cloudinary&lt;/code&gt; package, you can easily integrate Cloudinary into your Next.js project.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Setting Up a Next.js Project
&lt;/h2&gt;

&lt;p&gt;Before we integrate Cloudinary, ensure you have a Next.js project up and running. If not, you can create one using the following steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Install Node.js if you haven't already. You can download it &lt;br&gt;
from the &lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;official website&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a new Next.js project using the following commands:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   npx create-next-app my-next-cloudinary-app
   &lt;span class="nb"&gt;cd &lt;/span&gt;my-next-cloudinary-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Run the development server with &lt;code&gt;npm run dev&lt;/code&gt;. Your Next.js app should now be running at &lt;code&gt;http://localhost:3000&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Integrating Cloudinary with Next.js using &lt;code&gt;next-cloudinary&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;To integrate Cloudinary with your Next.js application, we'll use the &lt;code&gt;next-cloudinary&lt;/code&gt; package, which streamlines the process. Follow these steps:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Install the &lt;code&gt;next-cloudinary&lt;/code&gt; Package
&lt;/h3&gt;

&lt;p&gt;In your Next.js project directory, install the &lt;code&gt;next-cloudinary&lt;/code&gt; package using npm or yarn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Copy code
npm &lt;span class="nb"&gt;install &lt;/span&gt;next-cloudinary
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add next-cloudinary
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Set Up a Cloudinary Account
&lt;/h3&gt;

&lt;p&gt;If you haven't already, create a &lt;a href="https://cloudinary.com/signup" rel="noopener noreferrer"&gt;Cloudinary account&lt;/a&gt; and obtain your API credentials, including your cloud name and image preset.&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%2F3ozaxtr3rhr20e3wf16v.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%2F3ozaxtr3rhr20e3wf16v.png" alt="Cloudianry Homepage" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Get the Cloud name
&lt;/h3&gt;

&lt;p&gt;After logging in to your Cloudinary account, you will see the dashboard.&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%2Fnjwvzjyiek57y6icpzr5.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%2Fnjwvzjyiek57y6icpzr5.png" alt="Cloudinary Dashboard" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Grab your cloud name and copy it in the environment variables of &lt;code&gt;next.config.js&lt;/code&gt; file in your nextjs app.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;reactStrictMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;*******&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure that you name the variable as &lt;code&gt;NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME&lt;/code&gt; as the next-cloudinary package automatically reads this environment variable.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Get an Unsigned Upload Preset
&lt;/h3&gt;

&lt;p&gt;Now, we will need an Upload Preset to upload images.&lt;/p&gt;

&lt;p&gt;Click on the settings icon in the left sidebar in your Cloudinary Account.&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%2F45vtxb4jhqhjqxbbd9ds.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%2F45vtxb4jhqhjqxbbd9ds.png" alt="Cloudianry Settings Icon" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, you will see the Accounts Page. Click on the Upload Tab from the left sidebar to head over to upload settings.&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%2F3ox4le9s8zrmj9eto2os.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%2F3ox4le9s8zrmj9eto2os.png" alt="Cloudianry Settings Page" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, you will see the upload page. On this page, you will see the Upload Presets section. Click &lt;code&gt;Enable unsigned uploading&lt;/code&gt; from there to get an unsigned upload preset.&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%2Fx0wh9wmqj8mxuogn6ugj.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%2Fx0wh9wmqj8mxuogn6ugj.png" alt="Cloudianry Uplaod Settings" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As soon as you click it, you will see an upload preset. Copy that upload preset.&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%2F9sxxjyzwyktne4ldc6w5.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%2F9sxxjyzwyktne4ldc6w5.png" alt="Upload Preset" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste this upload preset as an environment variable in the &lt;code&gt;next.config.js&lt;/code&gt; file in your next.js app.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;reactStrictMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;********&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;NEXT_PUBLIC_CLOUDINARY_PRESET_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;********&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We are going to name the environment variable as &lt;code&gt;NEXT_PUBLIC_CLOUDINARY_PRESET_NAME&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That's it. We have all the things that are required for the setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Add Cloudinary in the allowed domains
&lt;/h3&gt;

&lt;p&gt;In Next.js applications, when you serve images from a domain that differs from the current domain of your application, you need to specify the external domain in the &lt;code&gt;next.config.js&lt;/code&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;reactStrictMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;********&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;NEXT_PUBLIC_CLOUDINARY_PRESET_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;********&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;images&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;domains&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;res.cloudinary.com&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the &lt;code&gt;res.cloudinary.com&lt;/code&gt; in the images section.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Use &lt;code&gt;next-cloudinary&lt;/code&gt; in Your Components
&lt;/h3&gt;

&lt;p&gt;Now, we can use Cloudinary in our components to upload the images.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;next-cloudinary&lt;/code&gt; package exposes a component named as &lt;code&gt;CldUploadButton&lt;/code&gt;. We are going to use that component for image upload. Here's the code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;use client&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;CldUploadButton&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;next-cloudinary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Photos&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;    
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;CldUploadButton&lt;/span&gt;
        &lt;span class="nx"&gt;options&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;multiple&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
        &lt;span class="nx"&gt;uploadPreset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NEXT_PUBLIC_CLOUDINARY_PRESET_NAME&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="nx"&gt;Upload&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/CldUploadButton&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Make sure that you have the environment variable in place for uploadPreset.&lt;/p&gt;

&lt;p&gt;And that's it. With this, we have completed the setup for Cloudianry to upload the images.&lt;/p&gt;

&lt;p&gt;Here's a demo&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%2Fehb3d2ikywn6nplpsviw.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%2Fehb3d2ikywn6nplpsviw.png" alt="Cloudianry Image Upload" width="800" height="642"&gt;&lt;/a&gt;&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%2Fs9a73f3ljklnff0vmnkz.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%2Fs9a73f3ljklnff0vmnkz.png" alt="Cloudianry Image Upload Results" width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;In this comprehensive guide, we've covered the benefits of integrating &lt;a href="https://cloudinary.com/" rel="noopener noreferrer"&gt;Cloudinary&lt;/a&gt; with Next.js and provided a step-by-step tutorial on using the &lt;code&gt;next-cloudinary&lt;/code&gt; package to easily manage and serve media assets. Following these steps can enhance your web application's performance, optimize media delivery, and provide a superior user experience. Cloudinary is a powerful tool for managing media, and when combined with Next.js, it becomes a dynamic duo for building efficient and visually stunning web applications. Start harnessing the power of Cloudinary in your Next.js project today!&lt;/p&gt;

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How to deploy Full Stack Amazon Clone with Next.js, Tailwind CSS, Zustand, and Nest.js on Aptible</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Tue, 10 Oct 2023 09:50:08 +0000</pubDate>
      <link>https://dev.to/kishansheth/how-to-deploy-full-stack-amazon-clone-with-nextjs-tailwind-css-zustand-and-nestjs-on-aptible-4i2j</link>
      <guid>https://dev.to/kishansheth/how-to-deploy-full-stack-amazon-clone-with-nextjs-tailwind-css-zustand-and-nestjs-on-aptible-4i2j</guid>
      <description>&lt;p&gt;In this blog post, we'll guide you through deploying an Amazon Clone application on &lt;a href="https://www.aptible.com" rel="noopener noreferrer"&gt;Aptible&lt;/a&gt;, showcasing how this platform can simplify and secure the process. We'll cover essential steps, from creating an Aptible account to provisioning a PostgreSQL database, setting up the backend and frontend applications, configuring environment variables, and deploying your applications.&lt;/p&gt;

&lt;p&gt;By following this comprehensive guide, developers can gain valuable experience in deploying web applications on Aptible, a secure and scalable cloud infrastructure platform. The provided instructions and code snippets will simplify the deployment process and help you understand how to harness cloud infrastructure effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of the Amazon Clone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built using Next.js&lt;/li&gt;
&lt;li&gt;Styled with Tailwind CSS&lt;/li&gt;
&lt;li&gt;Backend generated using Amplication&lt;/li&gt;
&lt;li&gt;State Management with Zustand&lt;/li&gt;
&lt;li&gt;Typescript for type safety&lt;/li&gt;
&lt;li&gt;Login Signup using JWT Tokens&lt;/li&gt;
&lt;li&gt;API calls using Axios&lt;/li&gt;
&lt;li&gt;Recharts for charts&lt;/li&gt;
&lt;li&gt;Next UI for amazing prebuilt components&lt;/li&gt;
&lt;li&gt;React Pro Sidebar for prebuilt amazing sidebar.&lt;/li&gt;
&lt;li&gt;Admin Panel&lt;/li&gt;
&lt;li&gt;Table Pagination&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Functionalities of the Amazon Clone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Categories CRUD (Create/Read/Update/Delete)&lt;/li&gt;
&lt;li&gt;Products CRUD (Create/Read/Update/Delete)&lt;/li&gt;
&lt;li&gt;Order Management&lt;/li&gt;
&lt;li&gt;Dashboard for Admin&lt;/li&gt;
&lt;li&gt;Admin Login&lt;/li&gt;
&lt;li&gt;User Login &amp;amp; Signup&lt;/li&gt;
&lt;li&gt;User view products&lt;/li&gt;
&lt;li&gt;User search products&lt;/li&gt;
&lt;li&gt;User adds products to the cart&lt;/li&gt;
&lt;li&gt;User place order&lt;/li&gt;
&lt;li&gt;And many more features that you can watch from the video below&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This blog post is a part of my YouTube video. Check out the amazing video.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Introducing Aptible: Simplify and Secure Your Application Deployment
&lt;/h2&gt;

&lt;p&gt;Before diving into the details of deploying your Amazon Clone application on &lt;a href="https://www.aptible.com" rel="noopener noreferrer"&gt;Aptible&lt;/a&gt;, let's take a moment to introduce Aptible and understand why it's an excellent choice for hosting your web applications.&lt;/p&gt;

&lt;p&gt;Aptible is a cloud platform designed to simplify and streamline the deployment and management of web applications, particularly for developers and teams who prioritize security and compliance. With Aptible, you can focus on building and scaling your applications while leaving the complexities of infrastructure, security, and compliance to the platform.&lt;/p&gt;

&lt;p&gt;One of Aptible's standout features is its commitment to security. It provides robust security controls and compliance certifications, making it an ideal choice for applications that handle sensitive data or need to meet regulatory requirements. Aptible takes care of security updates, data encryption, and access controls, allowing you to focus on your application code.&lt;/p&gt;

&lt;p&gt;Now let's get started.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create a new Aptible Account.
&lt;/h3&gt;

&lt;p&gt;Head over to Aptible and click the login button to create a new account and sign up.&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%2Fmny73ihrdiowqqyk595s.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%2Fmny73ihrdiowqqyk595s.png" alt="Aptible Home Page" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the signup process, you will be redirected to the Aptible Environments page.&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%2Fws95widf0d911dlhbtpw.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%2Fws95widf0d911dlhbtpw.png" alt="Aptible Environments" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Choose Environment
&lt;/h3&gt;

&lt;p&gt;Now you will see the environments that you've created on this page.&lt;/p&gt;

&lt;h4&gt;
  
  
  What are Environments?
&lt;/h4&gt;

&lt;p&gt;Environments live within Stacks and provide logical isolation of resources. Environments on the same Stack share networks and underlying hosts.&lt;/p&gt;

&lt;p&gt;Now choose your environment and click on it.&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%2Fotocv4ri0gr7ccswigso.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%2Fotocv4ri0gr7ccswigso.png" alt="Choose Aptible Environment" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is your environment screen. From here you can manage your apps, and databases, see your activity, backups, and many more settings.&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%2Fqfelwjsn7ka9s7mea2y2.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%2Fqfelwjsn7ka9s7mea2y2.png" alt="Environment Screen" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Provision a new PostgreSQL Database
&lt;/h3&gt;

&lt;p&gt;Now we have used the PostgreSQL Database for our Amazon clone so let's provision a new Database on Aptible.&lt;/p&gt;

&lt;p&gt;Click on the Database Tab.&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%2Fsf0t6lxckmv5kc9l5kh1.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%2Fsf0t6lxckmv5kc9l5kh1.png" alt="Aptible Database Tab" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you will be able to see the Database screen. From here you can manage and provision new databases in your Aptible Environment. &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%2F9a2sheghn4qua8ihoqnw.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%2F9a2sheghn4qua8ihoqnw.png" alt="Aptible Database screen" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now click on the New Database button to start creating a new database.&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%2F3eylij0uzfw5ipqgy9u9.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%2F3eylij0uzfw5ipqgy9u9.png" alt="New DB" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see the UI change to Choose a database selection as soon as you click it.&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%2Fq8tx57wgn8qyhcnf0gqb.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%2Fq8tx57wgn8qyhcnf0gqb.png" alt="NEW DB Selction" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we need to select a database. Click on the database selection dropdown. It will show you all the supported databases by Aptible.&lt;/p&gt;

&lt;p&gt;Currently, Aptible supports the following Database types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CouchDB&lt;/li&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;Redis&lt;/li&gt;
&lt;li&gt;Elasticsearch&lt;/li&gt;
&lt;li&gt;InfluxDB&lt;/li&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;li&gt;SFTP&lt;/li&gt;
&lt;li&gt;RabbitMQ&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can check out their &lt;a href="https://www.aptible.com/docs/supported-databases" rel="noopener noreferrer"&gt;supported database page&lt;/a&gt; to know if they have added more databases.&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%2Fxuptoonk2giqky2kdye3.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%2Fxuptoonk2giqky2kdye3.png" alt="Supported Database" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now from the list of databases select PostgreSQL 14.&lt;/p&gt;

&lt;p&gt;As soon as you select it you can see a field as a database handle.&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%2Fa8s1yumjv7yvvfnjzedy.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%2Fa8s1yumjv7yvvfnjzedy.png" alt="Database handle" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can name the database of your choice using this field.&lt;/p&gt;

&lt;p&gt;We are going to name it &lt;code&gt;amazon-db&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now click on the &lt;code&gt;Save changes&lt;/code&gt; button.&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%2F7f0jsb8cu115ypz49uxo.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%2F7f0jsb8cu115ypz49uxo.png" alt="DB Save changes" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now Aptible will start provisioning your database. Wait for it to complete.&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%2Fv95m6tj1dvr45kr6m4yt.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%2Fv95m6tj1dvr45kr6m4yt.png" alt="Database Provision" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While the database is being provisioned let's move on to the next step as this will run in the background and will be completed in a few minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Setup Amazon Clone backend on Aptible
&lt;/h3&gt;

&lt;p&gt;Now let's deploy our backend app on Aptible.&lt;/p&gt;

&lt;p&gt;Head over to the &lt;code&gt;Apps&lt;/code&gt; tab and click on &lt;code&gt;New App&lt;/code&gt;.&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%2Flctl87hozb1702of4hm3.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%2Flctl87hozb1702of4hm3.png" alt="New App" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you will see the new app creation window. &lt;/p&gt;

&lt;p&gt;In this window, you need to provide the name of your app.&lt;/p&gt;

&lt;p&gt;We are going to name it &lt;code&gt;amazon-backend&lt;/code&gt;.&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%2Fincravwinq6ug13ekv2w.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%2Fincravwinq6ug13ekv2w.png" alt="app name" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now click on the &lt;code&gt;Create App button&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now Aptible will start creating your app inside the selected environment.&lt;/p&gt;

&lt;p&gt;Now you will need to paste your SSH key in this step.&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%2F2n88v5a3vlxhflsjfys8.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%2F2n88v5a3vlxhflsjfys8.png" alt="Aptible SSH Key" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to generate a new SSH key or want to learn how Aptible uses your key, visit &lt;a href="https://www.aptible.com/docs/public-key-authentication" rel="noopener noreferrer"&gt;Aptible SSH Docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After pasting your SSH key click on &lt;code&gt;Save key&lt;/code&gt;. This will store your SSH key in Aptible, so that the next time you create an app in Aptible, you don't have to repeat the process.&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%2F47vjfxbrnfdpbzg16bh7.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%2F47vjfxbrnfdpbzg16bh7.png" alt="Save key" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we need to push our code to Aptible's git repo.&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%2Fb6zhgx3x70ajgpoyfexc.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%2Fb6zhgx3x70ajgpoyfexc.png" alt="Aptible Git Repo" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For this step, we would be required to create a &lt;code&gt;Dockerfile&lt;/code&gt; inside the root of our server code.&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%2Ftcdazn4geaqaoaczrj0y.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%2Ftcdazn4geaqaoaczrj0y.png" alt="Dockerfile" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to copy the following snippet inside the &lt;code&gt;Dockerfile&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Development Dockerfile&lt;/span&gt;
&lt;span class="c"&gt;# This Dockerfile is intended for development use and includes development dependencies and tools.&lt;/span&gt;

&lt;span class="c"&gt;# Use a Node.js base image with development tools&lt;/span&gt;
FROM node:16.0.0 AS development

&lt;span class="c"&gt;# Create a directory where the application will be built&lt;/span&gt;
WORKDIR /app

&lt;span class="c"&gt;# Copy over the dependency manifests, both the package.json&lt;/span&gt;
&lt;span class="c"&gt;# and the package-lock.json are copied over&lt;/span&gt;
COPY package&lt;span class="k"&gt;*&lt;/span&gt;.json ./

&lt;span class="c"&gt;# Install packages and their dependencies&lt;/span&gt;
RUN npm &lt;span class="nb"&gt;install&lt;/span&gt;


&lt;span class="c"&gt;# Copy over the Prisma schema&lt;/span&gt;
COPY prisma/schema.prisma ./prisma/

&lt;span class="c"&gt;# Generate the Prisma client based on the schema&lt;/span&gt;
RUN npm run prisma:generate

&lt;span class="c"&gt;# Copy over the code base&lt;/span&gt;
COPY &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;

RUN npx prisma db push
&lt;span class="c"&gt;# Create the bundle of the application&lt;/span&gt;
RUN npm run build

&lt;span class="c"&gt;# Expose a specific port on the Docker container for development purposes&lt;/span&gt;
ENV &lt;span class="nv"&gt;PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3000
EXPOSE &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;PORT&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;# Start the development server using the previously built application&lt;/span&gt;
CMD &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"npm"&lt;/span&gt;, &lt;span class="s2"&gt;"start"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Now open up your terminal and write the following steps:&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Create a git repo
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git init&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2: Stage all files
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3: Commit the changes
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git commit -m "Initial Commit for backend code.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After you have committed your changes you need to copy the Aptible remote url and add it to your repo.&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%2Fh5l4sqxwezyiqjx7iw5d.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%2Fh5l4sqxwezyiqjx7iw5d.png" alt="Aptible Git Remote" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git remote add aptible git@beta.aptible.com:youtube-a32/amazon-backend.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After this step, we would need to push the code to the Aptible's scan branch.&lt;/p&gt;

&lt;p&gt;Copy the scan command from Aptible and paste it into your terminal.&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%2Ffn99u4enwi429bpdwv1l.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%2Ffn99u4enwi429bpdwv1l.png" alt="Aptible Scan command" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push aptible main:aptible-scan&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now this will push our code to Aptible's git repository.&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%2Feqobsynsf6j1k5bufyr2.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%2Feqobsynsf6j1k5bufyr2.png" alt="git push output" width="800" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now in Aptible, it will show you this screen.&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%2Fepkxwvwza32yibi0ckzl.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%2Fepkxwvwza32yibi0ckzl.png" alt="Aptible DB Setup" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From here we can configure our environment variables and DB for the app.&lt;/p&gt;

&lt;p&gt;Let's select a DB.&lt;/p&gt;

&lt;p&gt;Click on the &lt;code&gt;Connect Existing Database&lt;/code&gt; button.&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%2Ft9u38hqq6etjtkite3dl.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%2Ft9u38hqq6etjtkite3dl.png" alt="Connect existing DB" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now select the &lt;code&gt;amazon-db&lt;/code&gt; that we created in the previous step and name the environment variable as &lt;code&gt;db_url&lt;/code&gt;.&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%2Fspi9t2b87k11ctn9hv0q.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%2Fspi9t2b87k11ctn9hv0q.png" alt="DB Selection" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now click on the &lt;code&gt;Save and Deploy&lt;/code&gt; button to start the deployment process.&lt;/p&gt;

&lt;p&gt;This will start the deployment process.&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%2Fkr3xcla8x8ljnfv3n3yi.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%2Fkr3xcla8x8ljnfv3n3yi.png" alt="Aptible deployment process" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This process may take a certain time. Wait for it to complete.&lt;/p&gt;

&lt;p&gt;Now our app has been deployed successfully. &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%2Fyg8xumdarc8jyw0dsuhz.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%2Fyg8xumdarc8jyw0dsuhz.png" alt="App deployement successfull" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we need to run the docker command.&lt;/p&gt;

&lt;p&gt;Select the cmd and click on the &lt;code&gt;Create Endpoint&lt;/code&gt; button. &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%2Fk2r71dpqa048q3pwt09h.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%2Fk2r71dpqa048q3pwt09h.png" alt="Create Endpoint" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now Aptible will start provisioning your endpoint.&lt;/p&gt;

&lt;p&gt;Our endpoint was successfully provisioned.&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%2F5c9v4vext9s6p9di7sw7.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%2F5c9v4vext9s6p9di7sw7.png" alt="Successfull Endpoint provision" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's head over to the endpoint.&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%2F3srvtcju5zv3ppa0ndt1.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%2F3srvtcju5zv3ppa0ndt1.png" alt="Aptible Node.js" width="800" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And you can see that we have successfully deployed our Node server to Aptible.&lt;/p&gt;

&lt;p&gt;Now let's do the same for our Next app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Deploy Amazon Clone Frontend to Aptible
&lt;/h3&gt;

&lt;p&gt;Deploying the frontend is quite simple. We will follow all the previous steps and deploy our app to Aptible.&lt;/p&gt;

&lt;p&gt;Now you need to replace the &lt;code&gt;next.config.js&lt;/code&gt; file in your next app with the code below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="cm"&gt;/** @type {import('next').NextConfig} */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;reactStrictMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dctahvizk&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;NEXT_PUBLIC_API&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;app-61711.on-aptible.com&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;images&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;domains&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;res.cloudinary.com&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="c1"&gt;// typescript: {&lt;/span&gt;
  &lt;span class="c1"&gt;//   ignoreBuildErrors: true,&lt;/span&gt;
  &lt;span class="c1"&gt;// },&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we have added the &lt;code&gt;NEXT_PUBLIC_API&lt;/code&gt; environment variable.&lt;/p&gt;

&lt;p&gt;Make sure that you replace it with your endpoint.&lt;/p&gt;

&lt;p&gt;Now create a new Aptible app and name it &lt;code&gt;amazon-next-app&lt;/code&gt;.&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%2Famcqak5410xzhdhpza8k.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%2Famcqak5410xzhdhpza8k.png" alt=" " width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before moving forward let's add the &lt;code&gt;Dockerfile&lt;/code&gt; for your next app.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Use an official Node.js runtime as the base image&lt;/span&gt;
FROM node:18

&lt;span class="c"&gt;# Set the working directory inside the container&lt;/span&gt;
WORKDIR /app

&lt;span class="c"&gt;# Copy package.json and package-lock.json (if available)&lt;/span&gt;
COPY package&lt;span class="k"&gt;*&lt;/span&gt;.json ./

&lt;span class="c"&gt;# Install dependencies&lt;/span&gt;
RUN npm &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;span class="c"&gt;# Copy the rest of your app's source code&lt;/span&gt;
COPY &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="c"&gt;# Build the production version of the app&lt;/span&gt;
RUN npm run build

&lt;span class="c"&gt;# Expose the port your Next.js app will run on&lt;/span&gt;
EXPOSE 3000

&lt;span class="c"&gt;# Start your Next.js app&lt;/span&gt;
CMD &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"npm"&lt;/span&gt;, &lt;span class="s2"&gt;"start"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create the &lt;code&gt;Dockerfile&lt;/code&gt; at the root level of your app and paste this code.&lt;/p&gt;

&lt;p&gt;Now open up your terminal and write the following steps:&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Create a git repo
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git init&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2: Stage all files
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3: Commit the changes
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git commit -m "Initial Commit for frontend code.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After you have committed your changes you need to copy the Aptible remote url and add it to your repo.&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%2For3gdi5wv44t37cj81xl.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%2For3gdi5wv44t37cj81xl.png" alt="Aptible Git Remote" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git remote add aptible git@beta.aptible.com:youtube-a32/amazon-next-app.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After this step, we would need to push the code to the Aptible's scan branch.&lt;/p&gt;

&lt;p&gt;Copy the scan command from Aptible and paste it into your terminal.&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%2Ff1gdbxod6bjrz1ivz6ea.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%2Ff1gdbxod6bjrz1ivz6ea.png" alt="Aptible Scan" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push aptible main:aptible-scan&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Our code was pushed to Aptible.&lt;/p&gt;

&lt;p&gt;Now let's deploy it. Click on the &lt;code&gt;Save &amp;amp; Deploy&lt;/code&gt; button.&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%2Fpx6nmpskorj42kxduwwq.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%2Fpx6nmpskorj42kxduwwq.png" alt="Save &amp;amp; Deploy" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our Deployment was successful.&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%2F9osfqq2kzlw6gfp513wc.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%2F9osfqq2kzlw6gfp513wc.png" alt="deployment successfull" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's run the docker cmd and provision an endpoint.&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%2F5xibegfdnh8fehb9x10a.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%2F5xibegfdnh8fehb9x10a.png" alt="Docker cmd" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now our endpoint was successfully provisioned.&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%2Fsslvaotleukpsfdril8h.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%2Fsslvaotleukpsfdril8h.png" alt=" " width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open the endpoint in your browser.&lt;/p&gt;

&lt;p&gt;And you can see that our Next app was successfully deployed on Aptible.&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%2Fkzojd8cyxnkhb5k9ea9e.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%2Fkzojd8cyxnkhb5k9ea9e.png" alt="Next app" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;In conclusion, this blog post has provided a comprehensive guide on deploying an Amazon Clone application on the Aptible platform. We have covered essential steps such as creating an Aptible account, provisioning a PostgreSQL database, setting up the backend and frontend applications, configuring environment variables, and deploying the applications.&lt;/p&gt;

&lt;p&gt;By following this guide, developers can gain valuable experience in deploying web applications on Aptible, a secure and scalable cloud infrastructure platform. The provided instructions and code snippets simplify the deployment process and help developers understand how to leverage cloud infrastructure effectively.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.aptible.com" rel="noopener noreferrer"&gt;Aptible&lt;/a&gt; offers a robust environment for hosting web applications, making it an excellent choice for developers looking to deploy and manage their projects securely. This tutorial equips developers with the knowledge and practical skills needed to take advantage of Aptible's capabilities for deploying web applications.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>devops</category>
    </item>
    <item>
      <title>⚛️ Full Stack Amazon Clone with Next.js, Typescript, Tailwind CSS, Zustand, Next UI, Recharts and Amplication 🚀</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Mon, 02 Oct 2023 16:49:54 +0000</pubDate>
      <link>https://dev.to/kishansheth/full-stack-amazon-clone-with-nextjs-typescript-tailwind-css-zustand-next-ui-recharts-and-amplication-1h89</link>
      <guid>https://dev.to/kishansheth/full-stack-amazon-clone-with-nextjs-typescript-tailwind-css-zustand-next-ui-recharts-and-amplication-1h89</guid>
      <description>&lt;p&gt;In this blog post you'll learn how to create a Full Stack Amazon Clone using Amplication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of the Amazon Clone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built using Next.js&lt;/li&gt;
&lt;li&gt;Styled with Tailwind CSS&lt;/li&gt;
&lt;li&gt;Backend generated using Amplication&lt;/li&gt;
&lt;li&gt;State Management with Zustand&lt;/li&gt;
&lt;li&gt;Typescript for type safety&lt;/li&gt;
&lt;li&gt;Login Signup using JWT Tokens&lt;/li&gt;
&lt;li&gt;API Call's using Axios&lt;/li&gt;
&lt;li&gt;Recharts for charts&lt;/li&gt;
&lt;li&gt;Next UI for amazing prebuilt components&lt;/li&gt;
&lt;li&gt;React Pro Sidebar for prebuilt amazing sidebar.&lt;/li&gt;
&lt;li&gt;Admin Panel&lt;/li&gt;
&lt;li&gt;Table Pagination&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Functionalites of the Amazon Clone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Categories CRUD (Create/Read/Update/Delete)&lt;/li&gt;
&lt;li&gt;Products CRUD (Create/Read/Update/Delete)&lt;/li&gt;
&lt;li&gt;Order Management&lt;/li&gt;
&lt;li&gt;Dashbord for Admin&lt;/li&gt;
&lt;li&gt;Admin Login&lt;/li&gt;
&lt;li&gt;User Login &amp;amp; Signup&lt;/li&gt;
&lt;li&gt;User view products&lt;/li&gt;
&lt;li&gt;User search products&lt;/li&gt;
&lt;li&gt;User add products to cart&lt;/li&gt;
&lt;li&gt;User place order&lt;/li&gt;
&lt;li&gt;And many more features that you can watch it from the video below&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This blog post is a part of my Youtube video. Check out the amazing video.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Unleashing Amplication's Potential: Streamlining Software Development Efforts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://amplication.com" rel="noopener noreferrer"&gt;Amplication&lt;/a&gt;, is a powerful open-source backend development tool engineered to streamline and accelerate web application creation. It offers a user-friendly interface and a comprehensive feature set, making it a valuable resource for developers and organizations aiming to swiftly develop robust, scalable applications while conserving time and resources.&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%2F4ko6hzxkaowc8u5qp0gl.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%2F4ko6hzxkaowc8u5qp0gl.png" alt="SpongeBob" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At its core, Amplication revolves around the concept of a low-code backend development environment. This innovative approach allows developers to construct applications by configuring and connecting pre-built building blocks, eliminating the need for extensive manual coding. Consequently, development teams can direct their efforts towards crafting business logic and delivering a polished final product with greater efficiency.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/amplication/amplication" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;⭐ Give Amplication a Star! ⭐&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create new github repository
&lt;/h3&gt;

&lt;p&gt;Amplication connects to our github repo and pushes the code to a branch and creates a pull request.&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%2Flo1lwhuv32hijfm9kbgi.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%2Flo1lwhuv32hijfm9kbgi.png" alt="Github Repo" width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Head over to &lt;a href="https://amplication.com/" rel="noopener noreferrer"&gt;amplication&lt;/a&gt; and click on Start Now button.
&lt;/h3&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%2F1phvgyzy1dlenbmbqu5p.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%2F1phvgyzy1dlenbmbqu5p.png" alt="Amplication homepage" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Continue with Github Account
&lt;/h3&gt;

&lt;p&gt;In this step click on the continue with Github to start the connecting amplication with your Github account.&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%2Fwl6quhp51nyjhy6azul0.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%2Fwl6quhp51nyjhy6azul0.png" alt="Amplication login page" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Create your first service
&lt;/h3&gt;

&lt;p&gt;Now you need to create a service for amplication which in turn generate your backend code. Give it a meaningful name.&lt;/p&gt;

&lt;p&gt;We are going to name it amazon-backend and hit continue.&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%2Ffn9cdv81wvr4p2ebe9hi.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%2Ffn9cdv81wvr4p2ebe9hi.png" alt="amplication service" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Connect with Github and Select Repository
&lt;/h3&gt;

&lt;p&gt;Now you need to connect with Git. There are various options available but we are going to use Github for our git provider.&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%2Ffwy573zbl15d4ea7u0gr.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%2Ffwy573zbl15d4ea7u0gr.png" alt="Git Providers" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you connect with github you need to select a repository. Select the amazon-clone repo.&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%2Fhueutwz1mocniwyik11o.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%2Fhueutwz1mocniwyik11o.png" alt="Repo selection" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repo would be selected now.&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%2Fbtwqujyfrrgoxdi9xqcg.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%2Fbtwqujyfrrgoxdi9xqcg.png" alt="amazon clone repo" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now hit continue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Selecting GraphQL / RestAPI &amp;amp; Swagger UI / Admin UI
&lt;/h3&gt;

&lt;p&gt;In this step you can enable the options for support of the GraphQL API, the REST API &amp;amp; Swagger UI and the Admin UI provided by Amplication.&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%2F6kuts1n86jn0t38w8s7d.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%2F6kuts1n86jn0t38w8s7d.png" alt="API Selection" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are going to enable all the options here. Though we will not be using the GraphQL API for the app but for the demo purposes we are enabling it.&lt;/p&gt;

&lt;p&gt;We are going to use the REST API's through out the Amazon clone. Also we will be using Swagger to test out the API's.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Selecting the type of backend structure generated by Amplication.
&lt;/h3&gt;

&lt;p&gt;Amplication provides two types of structure for the generated code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Polyrepo&lt;br&gt;
If you are using a polyrepo, Amplication will push the code to the root of the repo in separate folders for the server and the admin-ui.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Monorepo&lt;br&gt;
If you are using a monorepo, you can select the folder where you want to save the code of the service. “apps”, “packages”, “ee/packages” all are valid.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are going to use the Polyrepo option for this project.&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%2Fpows8dile0svxg81gg58.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%2Fpows8dile0svxg81gg58.png" alt="amplication polyrepo selection" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 8: Select the database.
&lt;/h3&gt;

&lt;p&gt;Amplication provides three types of database at the moment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;/ul&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%2Fvxat2r5e1g7ip48hhmix.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%2Fvxat2r5e1g7ip48hhmix.png" alt="Amplication databases" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Amplication generates the service with all the required configuration and code to start working with a DB.&lt;/p&gt;

&lt;p&gt;You can easily change the type of the DB later in the plugins page&lt;/p&gt;

&lt;p&gt;For this Amazon Clone we are going to use the PostrgreSQL DB.&lt;/p&gt;

&lt;p&gt;Now hit continue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 9: Selecting a Templates for your Project
&lt;/h3&gt;

&lt;p&gt;Amplication provides two options for your entities.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Empty&lt;br&gt;
Manually define your own entities and fields&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use a Template&lt;br&gt;
Pre-defined set of entities and fields Address, Orders, User&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can start from scratch or select a demo template.&lt;/p&gt;

&lt;p&gt;We are going to select the empty option here.&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%2F2bvgzoa5wk3ntbhfri8i.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%2F2bvgzoa5wk3ntbhfri8i.png" alt="Templates" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hit continue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 10: Selecting Auth Services
&lt;/h3&gt;

&lt;p&gt;Amplication provides in built auth module that pre generates code for you authorization and authentication.&lt;/p&gt;

&lt;p&gt;For this Amplication provides two options&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Include Auth Module&lt;br&gt;
Generate the code needed for authentication and authorization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Skip Authentication&lt;br&gt;
Do not include code for authentication&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For our Amazon clone we are going to use the auth module provided by Amplication so we are going to select Include Auth Module Option.&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%2Fa9doyp8mw9aixkgadxwq.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%2Fa9doyp8mw9aixkgadxwq.png" alt="Amplication Auth" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now hit continue &lt;/p&gt;

&lt;p&gt;All the initial setup is done and now Amplication will generate the code. Wait for it to generate. This may take a minute or two.&lt;/p&gt;

&lt;p&gt;You will see the success page.&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%2Forinfyqzm92wbihyauns.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%2Forinfyqzm92wbihyauns.png" alt="Amplication Setup Success" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have successfully setup your Amplication app.&lt;/p&gt;

&lt;p&gt;Now click on create entities option to create entities.&lt;/p&gt;

&lt;p&gt;Entities are like table in DB.&lt;/p&gt;

&lt;p&gt;Now there is a predefined entity here which is for users in your application.&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%2Fe8rui5aqr8jahu7ebpfr.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%2Fe8rui5aqr8jahu7ebpfr.png" alt="User entity" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up Amplication Entities
&lt;/h2&gt;

&lt;p&gt;We will be using four entities in our Amazon Clone&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;user:&lt;/strong&gt;
Manages all users with their details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;products:&lt;/strong&gt;
This will store all products created by admin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;category:&lt;/strong&gt;
This will store all the categories of the products.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;reviews:&lt;/strong&gt;
After the user buys a product they can add reviews for the product. This entity will store the reviews of the products.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;orders:&lt;/strong&gt;
This will store the orders of the products.&lt;/li&gt;
&lt;/ul&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%2Faulu90ne8so6m2s784uu.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%2Faulu90ne8so6m2s784uu.png" alt="Amplication Entities" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup Users
&lt;/h3&gt;

&lt;p&gt;The user entity is already created. Click on it to view the fields of user.&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%2F9hmhb6910c8cuq4vr8ao.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%2F9hmhb6910c8cuq4vr8ao.png" alt="user entity" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;isAdmin&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;Now we want to add a new field here name as &lt;code&gt;isAdmin&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Click on the add field on the left sidebar.&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%2Fs688v4fkd4jhea23w13z.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%2Fs688v4fkd4jhea23w13z.png" alt="user entity sidebar" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now here type the name of entity and press the plus icon beside it which will create the entity.&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%2F36egx9vwx2by7op8qcj0.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%2F36egx9vwx2by7op8qcj0.png" alt="new field" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you click on it the field would be created and you can configure it from the right side field settings. &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%2F5qzfdo69vmz25g4yhqze.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%2F5qzfdo69vmz25g4yhqze.png" alt="Field Settings" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This field will let us know if the current logged in user is a admin. It's datatype is &lt;code&gt;boolean&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now click back the setup for the user entity is complete.&lt;/p&gt;

&lt;h3&gt;
  
  
  Products entity
&lt;/h3&gt;

&lt;p&gt;This entity will store all products with their details&lt;/p&gt;

&lt;p&gt;Now let's create a new entity for products.&lt;/p&gt;

&lt;p&gt;Click on the Add Entity button.&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%2Fw2lh94rbvxkq07kcfb4i.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%2Fw2lh94rbvxkq07kcfb4i.png" alt="add entity" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will open up a modal. Type the name of the entity as &lt;code&gt;products&lt;/code&gt; and press create entity.&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%2F68hckvrtbpkd2rq7xjxj.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%2F68hckvrtbpkd2rq7xjxj.png" alt="new entity modal" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will create the new entity. Now let's add all the required fields.&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%2Fw35r4ubnwj0hdy04ed2y.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%2Fw35r4ubnwj0hdy04ed2y.png" alt="products entity" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;title&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;Write title as the name and click on + right beside it.&lt;/p&gt;

&lt;p&gt;You can see that the the new field is created and there are various options to configure.&lt;/p&gt;

&lt;p&gt;We are going to mark this field as &lt;code&gt;required&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Also we will select the Data Type as &lt;code&gt;Single Line Text&lt;/code&gt; from the dropdown.&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%2Fnlfok93g2osruvb9e68u.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%2Fnlfok93g2osruvb9e68u.png" alt="New Entity Config" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Amplication provides various Data Type according to your needs an takes care of the constraints on your code as needed according to the data type.&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%2Fdlq12sa9sk54fs0a4iel.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%2Fdlq12sa9sk54fs0a4iel.png" alt="Types of data types" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now amplication auto saves everything after each change so your selections are already selected&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;description&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;Do the same process for description, but for the datatype we will change to &lt;code&gt;Json&lt;/code&gt; because we will have multiple descriptions for the product.&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%2Fep6o5w66qdvqgq91tcfi.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%2Fep6o5w66qdvqgq91tcfi.png" alt="json datatype" width="450" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;salePrice&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This will store the orignal price of the product. The datatype of this field will be &lt;code&gt;Decimal Number&lt;/code&gt;&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%2F1kjq3rqrrky6pamd9v3p.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%2F1kjq3rqrrky6pamd9v3p.png" alt="Decimal Number datatype" width="436" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;discountPrice&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This will store the discounted price of the product. We will have the datatype of this field as &lt;code&gt;Decimal Number&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;colors&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This will store the colors of the products. We will be able to store multiple colors so we will be using the &lt;code&gt;Json&lt;/code&gt; datatype for this field.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;variants&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store all the different variants of the product. For example the size of a clothes, storage of digital devices, etc. We will be able to store multiple values for variants so we will use the &lt;code&gt;Json&lt;/code&gt; datatype for this field as well.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;images&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;We will upload the images to &lt;a href="https://cloudinary.com/" rel="noopener noreferrer"&gt;Cloudinary&lt;/a&gt;. Cloudinary will return us the URL's of the uploaded images. We will have an array of images; we will be using the &lt;code&gt;Json&lt;/code&gt; datatype for the &lt;code&gt;images&lt;/code&gt; field as well.&lt;/p&gt;

&lt;p&gt;If you want to learn how to upload images to Cloudinary using Next.js check out my detailed blog post &lt;a href="https://dev.to/kishansheth/supercharge-your-nextjs-app-with-stunning-images-learn-the-ultimate-cloudinary-image-upload-hack-31ja"&gt;here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all for the products entity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category entity
&lt;/h3&gt;

&lt;p&gt;This entity will store the category of all the products.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;name&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the name of the category. Datatype for this field will be &lt;code&gt;Single Line Text&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;products&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store all the products associated with the category.&lt;/p&gt;

&lt;p&gt;We will name this field as &lt;code&gt;products&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This field's datatype will be &lt;code&gt;Relation to Entity&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the related entity dropdown select &lt;code&gt;products&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And for relation selct &lt;code&gt;One 'category' can be related to many 'products'&lt;/code&gt; option.&lt;/p&gt;

&lt;p&gt;This means that one category can have more than one products.&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%2Fzxfw78cqgya7zquytie9.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%2Fzxfw78cqgya7zquytie9.png" alt="product relation field" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all for the category entity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reviews entity
&lt;/h3&gt;

&lt;p&gt;This will store the reviews of the products.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;rating&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the number of rating the review has.&lt;/p&gt;

&lt;p&gt;The datatype for the &lt;code&gt;rating&lt;/code&gt; field would be &lt;code&gt;Whole Number&lt;/code&gt;.&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%2F2quqs6zxi1f6rtc1dqje.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%2F2quqs6zxi1f6rtc1dqje.png" alt="rating datatype" width="443" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;description&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the text of the review. &lt;/p&gt;

&lt;p&gt;The datatype of the &lt;code&gt;description&lt;/code&gt; field will be &lt;code&gt;Multi Line Text&lt;/code&gt;.&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%2F6cs3727dlmbkdcy2lbnk.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%2F6cs3727dlmbkdcy2lbnk.png" alt="description datatype" width="451" height="91"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;products&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store all the products associated with the review.&lt;/p&gt;

&lt;p&gt;We will name this field as &lt;code&gt;products&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This field's datatype will be &lt;code&gt;Relation to Entity&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the related entity dropdown select &lt;code&gt;products&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And for relation selct &lt;code&gt;One 'reviews' can be related to one 'products'&lt;/code&gt; option.&lt;/p&gt;

&lt;p&gt;This means that one product can have more than one reviews.&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%2F5erojeh8d8kbhrcsxvht.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%2F5erojeh8d8kbhrcsxvht.png" alt="product relation" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;user&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the user associated with the review.&lt;/p&gt;

&lt;p&gt;Let's name this field as &lt;code&gt;user&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This field's datatype will be &lt;code&gt;Relation to Entity&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the related entity dropdown select &lt;code&gt;users&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And for relation selct &lt;code&gt;One 'reviews' can be related to one 'user'&lt;/code&gt; option.&lt;/p&gt;

&lt;p&gt;This means that one review can only have one user associated with it.&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%2Fpd3tyf9f86xmflwmi7vd.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%2Fpd3tyf9f86xmflwmi7vd.png" alt="Review User" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all for the reviews entity.&lt;/p&gt;

&lt;h3&gt;
  
  
  orders entity
&lt;/h3&gt;

&lt;p&gt;This will store all orders that has been created by the user.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;user&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the user associated with theorder.&lt;/p&gt;

&lt;p&gt;Let's name this field as &lt;code&gt;user&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This field's datatype will be &lt;code&gt;Relation to Entity&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the related entity dropdown select &lt;code&gt;users&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And for relation selct &lt;code&gt;One 'orders' can be related to one 'user'&lt;/code&gt; option.&lt;/p&gt;

&lt;p&gt;This means that one order can only have one user associated with it.&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%2F5kds4msckwfy5f024k1d.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%2F5kds4msckwfy5f024k1d.png" alt="Order user field" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;products&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store all the products associated with the order.&lt;/p&gt;

&lt;p&gt;We will name this field as &lt;code&gt;products&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This field's datatype will be &lt;code&gt;Relation to Entity&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the related entity dropdown select &lt;code&gt;products&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And for relation selct &lt;code&gt;One 'order' can be related to many 'products'&lt;/code&gt; option.&lt;/p&gt;

&lt;p&gt;This means that one product can have more than one reviews.&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%2Fm9mf5o3rcx8agm0ll8dv.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%2Fm9mf5o3rcx8agm0ll8dv.png" alt="product field" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;price&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the total amount of all the products in the order.&lt;/p&gt;

&lt;p&gt;The datatype for the &lt;code&gt;price&lt;/code&gt; field would be &lt;code&gt;Decimal Number&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;status&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the status of the order.&lt;/p&gt;

&lt;p&gt;The datatype for this field would be &lt;code&gt;Json&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;paymentIntent&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will store the payment data by payment gateway.&lt;/p&gt;

&lt;p&gt;The datatype for this field would be &lt;code&gt;Single Line Text&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;paymentStatus&lt;/code&gt; field
&lt;/h4&gt;

&lt;p&gt;This field will let us know the status of the payment.&lt;/p&gt;

&lt;p&gt;The datatype for this field would be &lt;code&gt;Boolean&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That's all for the orders entity.&lt;/p&gt;

&lt;p&gt;Now we have created all the entities that is required and we can build our app and push the code over to github.&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%2F1p5kbugb77lj36ib4xwu.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%2F1p5kbugb77lj36ib4xwu.png" alt="All Entites" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Build and publish the code to Github
&lt;/h2&gt;

&lt;p&gt;You can see that we have some pending changes in the right sidebar. We need to push these changes to github to integrate it with our app.&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%2F1ayq8pswszzmc49x4psy.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%2F1ayq8pswszzmc49x4psy.png" alt="Pending Changes" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the &lt;code&gt;Commit Changes &amp;amp; build&lt;/code&gt; button.&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%2Fe3ejwa84mw2qsibjs8v9.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%2Fe3ejwa84mw2qsibjs8v9.png" alt="Commit Changes" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this Amplication will start building your code.&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%2Fmdazk58gzccpru1zttuh.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%2Fmdazk58gzccpru1zttuh.png" alt="Build Screen" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As soon as the build would be successfull the code would be pushed over to the Github.&lt;/p&gt;

&lt;p&gt;Now head over to your github repository.&lt;/p&gt;

&lt;p&gt;Now click on the Pull requests&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%2Fqd9va6g1lb9s4k2ru174.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%2Fqd9va6g1lb9s4k2ru174.png" alt="Pull Requests" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the pending pull request that is generated by the Amplication bot.&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%2Fve3a9izh6g28to738ecr.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%2Fve3a9izh6g28to738ecr.png" alt="Pull request" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you will see the request page. You can either check the code or merge the pull request to merge it with the main source code.&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%2F77to5dkp98ezft5h74xr.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%2F77to5dkp98ezft5h74xr.png" alt="PR Page" width="800" height="982"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we have successfully generated the backend code with Amplication.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup Local App
&lt;/h3&gt;

&lt;p&gt;Now we need to setup the app on our local machine.&lt;/p&gt;

&lt;p&gt;For that clone the repository or pull your source code from git.&lt;/p&gt;

&lt;p&gt;Now to setup the app we need to install the dependencies.&lt;/p&gt;

&lt;p&gt;Let's create a &lt;code&gt;package.json&lt;/code&gt; file int the root of your app and paste the following code in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"amazon-clone"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"main"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"index.js"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"start:admin"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npm --prefix admin-ui start"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"start:backend"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npm --prefix server start"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"postinstall"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npm i --prefix admin-ui &amp;amp;&amp;amp; npm i --prefix server"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"devDependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"cross-env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^7.0.3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"npm-run-all"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^4.1.5"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"repository"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"git"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"git+https://github.com/koolkishan/nextjs-amazon-clone.git"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"author"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"license"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ISC"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"bugs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://github.com/koolkishan/nextjs-amazon-clone/issues"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"homepage"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://github.com/koolkishan/nextjs-amazon-clone#readme"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"dependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"qs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^6.11.2"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you need to run &lt;code&gt;npm install&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This will install the root dependencies.&lt;/p&gt;

&lt;p&gt;After this you need to run the &lt;code&gt;npm run postinstall&lt;/code&gt; script to install the frontend, backend and the admin-ui dependencies.&lt;/p&gt;

&lt;p&gt;After the process is completed your app is successfully setup with the backend code generated with Amplication.&lt;/p&gt;

&lt;p&gt;Now for starting the app you can run &lt;code&gt;npm run start&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Amplication REST API's with Swagger
&lt;/h2&gt;

&lt;p&gt;If you want to check the API's generated by Amplication, head over to &lt;code&gt;http://localhost:3000/api&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This will open the Swagger UI with all the API's. You can test out API's here.&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%2F7yab6h2jp2qtulrk7ndm.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%2F7yab6h2jp2qtulrk7ndm.png" alt="Amplication API's" width="800" height="806"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Amplication Discord Server
&lt;/h3&gt;

&lt;p&gt;If you're stuck anywhere in the process or have any issues regarding amplication or just want to particapte in thier monthly giveaways join their discord server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://amplication.com/discord" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;🟣 Join Amplication Discord 🟣&lt;/a&gt;
&lt;/p&gt;

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

&lt;p&gt;This blog post has provided a comprehensive guide on how to create a Full Stack Amazon Clone using Amplication, a powerful open-source backend development tool. The Amazon Clone features a range of functionalities and technologies, including Next.js, Tailwind CSS, Zustand for state management, TypeScript for type safety, JWT token-based authentication, Axios for API calls, Recharts for charts, Next UI for prebuilt components, and React Pro Sidebar for a sidebar. It also includes an Admin Panel and Table Pagination.&lt;/p&gt;

&lt;p&gt;Amplication's potential in streamlining software development efforts has been highlighted. It offers a low-code backend development environment that allows developers to build applications by configuring and connecting pre-built building blocks, saving time and resources.&lt;/p&gt;

&lt;p&gt;The step-by-step guide covers setting up a GitHub repository, connecting Amplication with GitHub, creating a service, selecting the database, and defining entities for the Amazon Clone. It explains how to configure various fields for entities like users, products, categories, reviews, and orders.&lt;/p&gt;

&lt;p&gt;The blog also outlines the process of building and publishing the code to GitHub and setting up the local app for development. It provides a package.json file for dependency management and offers instructions for starting the app.&lt;/p&gt;

&lt;p&gt;Finally, the blog mentions how you can explore and test the REST APIs generated by Amplication using Swagger UI.&lt;/p&gt;

&lt;p&gt;Overall, this comprehensive guide empowers developers to create a feature-rich Amazon Clone efficiently using Amplication, demonstrating the tool's capabilities in simplifying backend development for web applications.&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%2F0one9fml57tzkosrgowz.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%2F0one9fml57tzkosrgowz.gif" alt="End" width="498" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Netflix System Design Using AWS Services</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Wed, 23 Aug 2023 06:48:31 +0000</pubDate>
      <link>https://dev.to/kishansheth/netflix-system-design-using-aws-services-27d6</link>
      <guid>https://dev.to/kishansheth/netflix-system-design-using-aws-services-27d6</guid>
      <description>&lt;p&gt;In the digital age of streaming, Netflix has revolutionized how we consume content. Behind its user-friendly interface lies a complex system designed to seamlessly onboard new content and deliver it to millions of users across various devices. In this article, we will take an in-depth look at the intricate processes that power Netflix's content management and delivery, while exploring the AWS concepts that underpin its architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Watch my youtube video for in depth explanation of Netflix System Design
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Eraser.io: Redefining Diagramming Simplicity
&lt;/h2&gt;

&lt;p&gt;In the world of visual communication and system design, clarity is key. Introducing Eraser.io, a cutting-edge platform that simplifies diagramming and empowers users to convey complex ideas with remarkable ease. By leveraging the innovative tools provided by Eraser.io, intricate concepts can be effortlessly transformed into clear and concise diagrams. Whether you're mapping out system architectures, illustrating workflows, or creating visual aids for presentations, Eraser.io offers a seamless experience that streamlines the process of translating intricate thoughts into striking visuals. Let's delve into the features and benefits that set Eraser.io apart, enhancing the way we visualize and share ideas. To explore this transformative platform further, visit their website at &lt;a href="https://www.eraser.io" rel="noopener noreferrer"&gt;eraser.io&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I have used eraser for diagram illustrations for the blog post. You can check out the entire diagram on eraser's canvas from the link below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://app.eraser.io/workspace/HiSEdr91QbThk5MVkhlw" rel="noopener noreferrer"&gt;Netflix System Design&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Part 1: How Netflix Onboards New Content
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Uploading and Storing Metadata
&lt;/h3&gt;

&lt;p&gt;The journey begins when Netflix administrators upload new content along with metadata like tags, titles, and descriptions. This metadata is essential for organizing and categorizing content, enabling efficient search functionality. Netflix stores this metadata in Elasticsearch/OpenSearch databases, which provide lightning-fast search capabilities.&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%2Fivd0tfl4r5j4jt2ci6y6.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%2Fivd0tfl4r5j4jt2ci6y6.png" alt="Uploading and Storing Metadata" width="800" height="810"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Video Upload and Processing
&lt;/h3&gt;

&lt;p&gt;Once uploaded, the video content resides in an Amazon S3 bucket. To ensure optimal user experiences across devices, the video undergoes a conversion process. AWS Elemental MediaConvert steps in here, converting the video into various formats and resolutions tailored to different devices and network conditions. This adaptive streaming approach guarantees a smooth playback experience.&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%2Fq0lybqoplovay2tgm64c.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%2Fq0lybqoplovay2tgm64c.png" alt="Video Upload and Processing" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Content Analysis using AI
&lt;/h3&gt;

&lt;p&gt;As part of quality control, Netflix employs AWS Rekognition, an AI service, to analyze uploaded videos for sensitive content like explicit material. This automated content analysis helps maintain the platform's integrity and safety.&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%2Flfx79uhq10r8veoghjjo.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%2Flfx79uhq10r8veoghjjo.png" alt="Content Analysis using AI" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Parallel Processing with Step Functions
&lt;/h3&gt;

&lt;p&gt;Netflix ensures efficiency by employing AWS Step Functions for parallel processing. This orchestrates multiple tasks, like content conversion and AI analysis, simultaneously. The parallel execution reduces processing time and enhances overall system performance.&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%2Fm91cqadnfny2rtgo57q2.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%2Fm91cqadnfny2rtgo57q2.png" alt="Parallel Processing with Step Functions" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Storage for Frequent and Infrequent Access
&lt;/h3&gt;

&lt;p&gt;Following processing, the content moves to a frequently accessed Amazon S3 bucket. However, to manage costs effectively, content not frequently viewed is transferred to an infrequent access S3 bucket. This hierarchical storage approach optimizes resource utilization.&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%2Frh1rbto0qyvr0anflyc4.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%2Frh1rbto0qyvr0anflyc4.png" alt="Storage for Frequent and Infrequent Access" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Cold Storage in Glacier
&lt;/h3&gt;

&lt;p&gt;For content with minimal viewership, Netflix employs Amazon S3 Glacier, a cost-effective cold storage solution. This tiered storage model ensures that content is stored in the most cost-efficient manner based on its popularity.&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%2Fxuhcl7ml7xkj4avf1s5a.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%2Fxuhcl7ml7xkj4avf1s5a.png" alt="Cold Storage in Glacier" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Content Delivery through CDN
&lt;/h3&gt;

&lt;p&gt;Netflix's content delivery network (CDN), known as Open Connect, plays a crucial role in delivering content seamlessly. The CDN caches frequently requested content, reducing latency and ensuring rapid content access.&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%2F9bnvb9qceh213yxeeu3k.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%2F9bnvb9qceh213yxeeu3k.png" alt="Content Delivery through CDN" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 8: Analytics with ELK Stack
&lt;/h3&gt;

&lt;p&gt;To gain insights into user behavior and system performance, Netflix uses the ELK stack, comprising Elasticsearch, Logstash, and Kibana. Elasticsearch indexes and stores logs, Logstash processes and pipelines data, and Kibana offers visualization tools. This powerful combination enables data-driven decisions and system improvements.&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%2F0qkjautlu5icdwuupuzb.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%2F0qkjautlu5icdwuupuzb.png" alt="Analytics with ELK Stack" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Part 2: How Netflix Serves Content to Users
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: User Access via Devices
&lt;/h3&gt;

&lt;p&gt;Netflix's versatility lies in its compatibility with various devices—smartphones, televisions, laptops, and gaming consoles. This multi-device access requires a responsive and uniform user experience.&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%2Ft4w2vpv61dt4y6eyydoo.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%2Ft4w2vpv61dt4y6eyydoo.png" alt="User Access via Devices" width="800" height="1150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Frontend and CDN Interaction
&lt;/h3&gt;

&lt;p&gt;Upon accessing Netflix, users interact with the frontend website developed using React.js. This dynamic JavaScript library ensures an engaging user interface. The CDN connects users to this frontend, delivering a seamless experience.&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%2Fjawxmjp2olsa2y807rvu.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%2Fjawxmjp2olsa2y807rvu.png" alt="Frontend and CDN Interaction" width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Seamless Search Experience
&lt;/h3&gt;

&lt;p&gt;When users search for content, the website communicates with the CDN, which interacts with Netflix's backend through API gateways and microservices. A lambda function is triggered, querying the database for relevant video metadata based on the search query.&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%2Fgvmwfh0hsybkgwfwfe5u.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%2Fgvmwfh0hsybkgwfwfe5u.png" alt="Seamless Search Experience" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Video Delivery via CDN
&lt;/h3&gt;

&lt;p&gt;The CDN retrieves the video's metadata from the database and simultaneously connects to another S3 bucket storing the actual video content. Both metadata and video are cached within the CDN, optimizing subsequent access requests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Enabling Smooth Playback
&lt;/h3&gt;

&lt;p&gt;Thanks to cached content within the CDN, users can access frequently requested content with minimal latency. This caching mechanism ensures smooth playback, regardless of the user's location.&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%2Foxcanu4h8z654rh5iz5a.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%2Foxcanu4h8z654rh5iz5a.png" alt="Enabling Smooth Playback" width="800" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Netflix's content onboarding and delivery system is a technological marvel. By leveraging AWS services like Elemental MediaConvert, Rekognition, and Step Functions, Netflix optimizes content processing while maintaining quality and security. The tiered storage strategy, combined with the Open Connect CDN and ELK stack analytics, ensures a cost-effective, low-latency, and highly available streaming experience. As users continue to access Netflix across diverse devices, the platform's commitment to seamless content delivery remains unwavering.&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%2Fp9v6ju5nhskigpv2f5l1.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%2Fp9v6ju5nhskigpv2f5l1.jpg" alt="Netflix System Design" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
    </item>
    <item>
      <title>Full Stack Airbnb Clone with Next.js, Tailwind CSS, Zustand and Amplication</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Mon, 14 Aug 2023 10:33:47 +0000</pubDate>
      <link>https://dev.to/kishansheth/full-stack-airbnb-clone-with-nextjs-tailwind-css-zustand-and-amplication-125b</link>
      <guid>https://dev.to/kishansheth/full-stack-airbnb-clone-with-nextjs-tailwind-css-zustand-and-amplication-125b</guid>
      <description>&lt;p&gt;In this blog post you'll learn how to create a Full Stack Airbnb Clone using Amplication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of the AirBnb Clone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built using Next.js&lt;/li&gt;
&lt;li&gt;Styled with Tailwind CSS&lt;/li&gt;
&lt;li&gt;Backend generated using Amplication&lt;/li&gt;
&lt;li&gt;State Management with Zustand&lt;/li&gt;
&lt;li&gt;Realtime Maps using Mapbox API &lt;/li&gt;
&lt;li&gt;Login Signup using JWT Tokens&lt;/li&gt;
&lt;li&gt;API Call's using Axios&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Functionalites of the AirBnb Clone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create Listings&lt;/li&gt;
&lt;li&gt;View Listings&lt;/li&gt;
&lt;li&gt;Book Listings&lt;/li&gt;
&lt;li&gt;Delete Listings&lt;/li&gt;
&lt;li&gt;Add Listing to Wishlist&lt;/li&gt;
&lt;li&gt;Remove Listing from Wishlist&lt;/li&gt;
&lt;li&gt;View booked Listings&lt;/li&gt;
&lt;li&gt;Search Listings&lt;/li&gt;
&lt;li&gt;Search Listings using Map&lt;/li&gt;
&lt;li&gt;View Listings Data on Map&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This blog post is a part of my Youtube video. Check out the amazing video.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Unleashing the Power of Amplication: Accelerating Software Development with Ease
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://amplication.com/" rel="noopener noreferrer"&gt;Amplication&lt;/a&gt; is an open-source development tool designed to simplify and expedite the process of building web applications. With its user-friendly interface and a wealth of features, Amplication empowers both developers and organizations to create robust and scalable applications quickly, saving valuable time and resources in the process.&lt;/p&gt;

&lt;p&gt;The platform is centered around the concept of a low-code development environment, which allows developers to build applications by configuring and connecting pre-built building blocks rather than writing code from scratch. This approach dramatically reduces the amount of manual coding required, enabling teams to focus on creating business logic and delivering a polished end product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Fork the starter git repository:
&lt;/h3&gt;

&lt;p&gt;Clone this &lt;a href="https://github.com/koolkishan/nextjs-airbnb-clone-starter" rel="noopener noreferrer"&gt;git repository&lt;/a&gt; to get starter files for the Airbnb Clone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Create a amplication account
&lt;/h3&gt;

&lt;p&gt;Head over to &lt;a href="https://app.amplication.com/login" rel="noopener noreferrer"&gt;amplication login&lt;/a&gt; and connect your github.&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%2Fz9x4nuy88unfzoxwnz44.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%2Fz9x4nuy88unfzoxwnz44.png" alt="Amplication login page" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Create your first service
&lt;/h3&gt;

&lt;p&gt;Now you need to create a service for amplication which in turn generate your backend code. Give it a meaningful name.&lt;/p&gt;

&lt;p&gt;We are going to name it AirBnb and hit continue.&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%2Fetr3m647nhe2fmmat7l1.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%2Fetr3m647nhe2fmmat7l1.png" alt="Amplication Service" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Connect with Github and Select Repository
&lt;/h3&gt;

&lt;p&gt;Now you need to connect with Git. There are various options available but we are going to use Github for our git provider.&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%2Ffwy573zbl15d4ea7u0gr.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%2Ffwy573zbl15d4ea7u0gr.png" alt="Git Providers" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you connect with github you need to select a repository. Select the airbnb repo.&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%2Feidwznfp3n75rt2o85es.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%2Feidwznfp3n75rt2o85es.png" alt="Selected Git Repo" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now hit continue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Selecting GraphQL / RestAPI &amp;amp; Swagger UI / Admin UI
&lt;/h3&gt;

&lt;p&gt;In this step you can enable the options for support of the GraphQL API, the REST API &amp;amp; Swagger UI and the Admin UI provided by Amplication.&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%2F6kuts1n86jn0t38w8s7d.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%2F6kuts1n86jn0t38w8s7d.png" alt="API Selection" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are going to enable all the options here. Though we will not be using the GraphQL API for the app but for the demo purposes we are enabling it.&lt;/p&gt;

&lt;p&gt;We are going to use the REST API's through out the AirBnb clone. Also we will be using Swagger to test out the API's.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Selecting the type of backend structure generated by Amplication.
&lt;/h3&gt;

&lt;p&gt;Amplication provides two types of structure for the generated code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Polyrepo&lt;br&gt;
If you are using a polyrepo, Amplication will push the code to the root of the repo in separate folders for the server and the admin-ui.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Monorepo&lt;br&gt;
If you are using a monorepo, you can select the folder where you want to save the code of the service. “apps”, “packages”, “ee/packages” all are valid.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are going to use the Polyrepo option for this project.&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%2F3xn1qvuywcwsenh2946m.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%2F3xn1qvuywcwsenh2946m.png" alt="Amplication Polyrepo" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will generate two folders into the root of our repository, named as server and admin-ui&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%2F0cgq6d0go066sxk28m69.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%2F0cgq6d0go066sxk28m69.png" alt="Code Directory" width="429" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now hit continue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Select the database.
&lt;/h3&gt;

&lt;p&gt;Amplication provides three types of database at the moment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;/ul&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%2Fvxat2r5e1g7ip48hhmix.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%2Fvxat2r5e1g7ip48hhmix.png" alt="Amplication databases" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Amplication generates the service with all the required configuration and code to start working with a DB.&lt;/p&gt;

&lt;p&gt;You can easily change the type of the DB later in the plugins page&lt;/p&gt;

&lt;p&gt;For this AirBnb Clone we are going to use the PostrgreSQL DB.&lt;/p&gt;

&lt;p&gt;Now hit continue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 8: Selecting a Templates for your Project
&lt;/h3&gt;

&lt;p&gt;Amplication provides two options for your entities.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Empty&lt;br&gt;
Manually define your own entities and fields&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use a Template&lt;br&gt;
Pre-defined set of entities and fields Address, Orders, User&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can start from scratch or select a demo template.&lt;/p&gt;

&lt;p&gt;We are going to select the empty option here.&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%2F2bvgzoa5wk3ntbhfri8i.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%2F2bvgzoa5wk3ntbhfri8i.png" alt="Templates" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hit continue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 9: Selecting Auth Services
&lt;/h3&gt;

&lt;p&gt;Amplication provides in built auth module that pre generates code for you authorization and authentication.&lt;/p&gt;

&lt;p&gt;For this Amplication provides two options&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Include Auth Module&lt;br&gt;
Generate the code needed for authentication and authorization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Skip Authentication&lt;br&gt;
Do not include code for authentication&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For our AirBnb clone we are going to use the auth module provided by Amplication so we are going to select Include Auth Module Option.&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%2Fa9doyp8mw9aixkgadxwq.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%2Fa9doyp8mw9aixkgadxwq.png" alt="Amplication Auth" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now hit continue &lt;/p&gt;

&lt;p&gt;All the initial setup is done and now Amplication will generate the code. Wait for it to generate. This may take a minute or two.&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%2Fl4etoxaf8t681ghzqhol.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%2Fl4etoxaf8t681ghzqhol.png" alt="Amplication code generated" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the code is generated you can see the following screen that the code has been generated.&lt;/p&gt;

&lt;p&gt;Now you select view my code button and it will redirect you to the Github Page&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 10: Merge the pull request generated by amplication
&lt;/h3&gt;

&lt;p&gt;Now after every change in Amplication service it will generate a new pull request that needs to be merged in Github  with our code.&lt;/p&gt;

&lt;p&gt;Now on the Github Pull Request page you have to merge the code with Merge pull Request button.&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%2Fry0s969fh8pmoth7nqtc.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%2Fry0s969fh8pmoth7nqtc.png" alt="Merge Pull Request" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also check the code generated by Amplication by clicking the Files Changed Option&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%2F12xx1itbynetzewm0xbh.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%2F12xx1itbynetzewm0xbh.png" alt="Github Files Changed" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will show you all the code generated by Amplication.&lt;/p&gt;

&lt;p&gt;Now head over to the amplication tab and hit continue.&lt;/p&gt;

&lt;p&gt;You will see the success page.&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%2Fw08agk6klwfj9xf68s3e.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%2Fw08agk6klwfj9xf68s3e.png" alt="Amplication Setup Success" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have successfully setup your Amplication app.&lt;/p&gt;

&lt;p&gt;Now click on create entities option to create entities.&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%2Fyny1pu8km90o6f2iw662.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%2Fyny1pu8km90o6f2iw662.png" alt="Amplication Create Entities Option" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Entities are like table in DB.&lt;/p&gt;

&lt;p&gt;Now there is a predefined entity here which is for users in your application.&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%2Fk17bpvo4552zm82ol73v.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%2Fk17bpvo4552zm82ol73v.png" alt="User Entity" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up Amplication Entities
&lt;/h2&gt;

&lt;p&gt;We will be using four entities in our AirBnb Clone&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;user:&lt;/strong&gt;
Manages all users with their details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;listings:&lt;/strong&gt;
This will store all entities created by a user.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;trips:&lt;/strong&gt;
If a user books a listing then it would be stored in this entity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;wishlists:&lt;/strong&gt;
If a user add a listing into their wihshlists then this would be stored in the Wishlists entity.&lt;/li&gt;
&lt;/ul&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%2Fviuhctfs3vev6irkceuh.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%2Fviuhctfs3vev6irkceuh.png" alt="Amplication Entities" width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup Listings
&lt;/h3&gt;

&lt;p&gt;Now click on Add Entity button on Top Right Corner&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%2F4dpn8pvslwj0s8ep9wvz.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%2F4dpn8pvslwj0s8ep9wvz.png" alt="Create Entity" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the new Entity Modal screen type listings as the name of new entity and hit create entity.&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%2F2bkhq1tkfae2geqask1n.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%2F2bkhq1tkfae2geqask1n.png" alt="New entity modal" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you will be redirected to the listings entity details page.&lt;/p&gt;

&lt;p&gt;From here you can add new fields to your entity or even give granular permissions to the entity according to the roles.&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%2F19y2gyrw1bhpsftychqo.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%2F19y2gyrw1bhpsftychqo.png" alt="Listings Entity Details" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now from here we need to create some fields that we are going to use for our AirBnb Clone.&lt;/p&gt;

&lt;h3&gt;
  
  
  title Field
&lt;/h3&gt;

&lt;p&gt;Click on the add field button &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%2Few8mg3wgoutqcgrzdrzw.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%2Few8mg3wgoutqcgrzdrzw.png" alt="Entity Add Field" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Write title as the name and click on + right beside it.&lt;/p&gt;

&lt;p&gt;You can see that the the new field is created and there are various options to configure.&lt;/p&gt;

&lt;p&gt;We are going to mark this field as &lt;code&gt;required&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Also we will select the Data Type as &lt;code&gt;Single Line Text&lt;/code&gt; from the dropdown.&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%2Fiwwjjdazibgcpytgaipc.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%2Fiwwjjdazibgcpytgaipc.png" alt="New Entity Config" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Amplication provides various Data Type according to your needs an takes care of the constraints on your code as needed according to the data type.&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%2F0npx5s247djcpl2gq5xk.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%2F0npx5s247djcpl2gq5xk.png" alt="Types of data types" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now amplication auto saves everything after each change so your selections are already selected&lt;/p&gt;

&lt;h3&gt;
  
  
  description Field
&lt;/h3&gt;

&lt;p&gt;Do the same process for description, but for the datatype we will change to &lt;code&gt;Multi Line Text&lt;/code&gt;.&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%2F5e1k20suxyiwu93h3wnh.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%2F5e1k20suxyiwu93h3wnh.png" alt="Multi Line Text" width="445" height="88"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  locationType Field
&lt;/h3&gt;

&lt;p&gt;This field will store the type of location of the listing, whethere it is a house, flat, bunglow, etc.&lt;/p&gt;

&lt;p&gt;Do the same process as we followed for the title field.&lt;/p&gt;

&lt;h3&gt;
  
  
  placeType Field
&lt;/h3&gt;

&lt;p&gt;This field will store the details like if there is a full room to this place, is this place shared, etc. &lt;/p&gt;

&lt;p&gt;Do the same process as we followed for the title field.&lt;/p&gt;

&lt;h3&gt;
  
  
  price Field
&lt;/h3&gt;

&lt;p&gt;This field will store the price of the listing.&lt;/p&gt;

&lt;p&gt;For the datatype we will use the &lt;code&gt;Whole Number&lt;/code&gt; type.&lt;/p&gt;

&lt;p&gt;The minimum and maximum value would be set by default. We do not need to change it.&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%2Fotg6npj1l1ecf7aj8t1g.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%2Fotg6npj1l1ecf7aj8t1g.png" alt="price field" width="420" height="233"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  mapData Field
&lt;/h3&gt;

&lt;p&gt;This field will store the maps cordinates for the Mapbox to load the specific location with the accurate marker.&lt;/p&gt;

&lt;p&gt;For this field we will select the datatype as the &lt;code&gt;Json&lt;/code&gt; type, because we will have json data inside of it.&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%2Fuf2e1bzg867pxk7u1kd6.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%2Fuf2e1bzg867pxk7u1kd6.png" alt="mapdata field" width="431" height="83"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  locationData Field
&lt;/h3&gt;

&lt;p&gt;This field will store the location Data like the pincode, address, city, etc.&lt;/p&gt;

&lt;p&gt;This will be a &lt;code&gt;Json&lt;/code&gt; data type.&lt;/p&gt;

&lt;h3&gt;
  
  
  placeSpace Field
&lt;/h3&gt;

&lt;p&gt;This will store the total rooms and total guests the place can have.&lt;/p&gt;

&lt;p&gt;This will be a &lt;code&gt;Json&lt;/code&gt; data type.&lt;/p&gt;

&lt;h3&gt;
  
  
  photos Field
&lt;/h3&gt;

&lt;p&gt;This will store the links of the photos for the listings.&lt;/p&gt;

&lt;p&gt;This will be a &lt;code&gt;Json&lt;/code&gt; data type.&lt;/p&gt;

&lt;h3&gt;
  
  
  listingCreatedBy field
&lt;/h3&gt;

&lt;p&gt;This field will store the data of the user that created this listing.&lt;/p&gt;

&lt;p&gt;This would be relation to the User entiity.&lt;/p&gt;

&lt;p&gt;Select the data type as &lt;code&gt;Relation to entiity&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the Relation Entity Dropdown Select the &lt;code&gt;User&lt;/code&gt; Entity.&lt;/p&gt;

&lt;p&gt;And select the &lt;code&gt;One 'listings' can be related to one 'listingCreatedBy'&lt;/code&gt; option.&lt;/p&gt;

&lt;p&gt;This means that one user can create many listings.&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%2Fevc9q94xck2l5mt5lh5n.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%2Fevc9q94xck2l5mt5lh5n.png" alt="Relation" width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it. With this we have created our listings Entity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup Wishlists
&lt;/h3&gt;

&lt;p&gt;This entity will store the wishlists of the user.&lt;/p&gt;

&lt;h3&gt;
  
  
  user field
&lt;/h3&gt;

&lt;p&gt;This will store which user has added the listing.&lt;/p&gt;

&lt;p&gt;The data type will be &lt;code&gt;Relation to Entity&lt;/code&gt; with the user, with the &lt;code&gt;One 'wishlists' can be related to one 'user'&lt;/code&gt; option toggled.&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%2F5rs1bhzgdj27tcvykjqk.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%2F5rs1bhzgdj27tcvykjqk.png" alt="user field" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  listing Field
&lt;/h3&gt;

&lt;p&gt;This will store which listing has added by the user.&lt;/p&gt;

&lt;p&gt;The data type will be &lt;code&gt;Relation to Entity&lt;/code&gt; with the user, with the &lt;code&gt;One 'wishlists' can be related to one 'listing'&lt;/code&gt; option toggled.&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%2F3s0zp1673i332zsi6d0t.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%2F3s0zp1673i332zsi6d0t.png" alt="listing entity" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it for the wishlists entity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup Trips
&lt;/h3&gt;

&lt;p&gt;This will store the trips that has been booked by the user.&lt;/p&gt;

&lt;p&gt;We will follow the same procedure for the trips as we did for the wishlists with the same field names and same relations.&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%2Frwo96dqkm05334vvram9.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%2Frwo96dqkm05334vvram9.png" alt="Trips" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And that's all for the Trips entity.&lt;/p&gt;

&lt;p&gt;Now we have created all the entities that is required and we can build our app and push the code over to github.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build and publish the code to Github
&lt;/h2&gt;

&lt;p&gt;You can see that we have some pending changes in the right sidebar. We need to push these changes to github to integrate it with our app.&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%2Fnb9qidcv5h1cqhx897zv.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%2Fnb9qidcv5h1cqhx897zv.png" alt="Pending Changes" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the &lt;code&gt;Commit Changes &amp;amp; build&lt;/code&gt; button.&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%2Fhk732c0r9b0nod0szbqu.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%2Fhk732c0r9b0nod0szbqu.png" alt="Commit Changes" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this Amplication will start building your code.&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%2Fycz2jpi69td91oa9gmc3.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%2Fycz2jpi69td91oa9gmc3.png" alt="Build Screen" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As soon as the build would be successfull the code would be pushed over to the Github.&lt;/p&gt;

&lt;p&gt;Now head over to your github repository.&lt;/p&gt;

&lt;p&gt;Now click on the Pull requests&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%2F3xxawwavebvhprff36a2.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%2F3xxawwavebvhprff36a2.png" alt="Pull Requests" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the pending pull request that is generated by the Amplication bot.&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%2Fipcnuj9mnyd1da3ryfue.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%2Fipcnuj9mnyd1da3ryfue.png" alt="Pull request" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you will see the request page. You can either check the code or merge the pull request to merge it with the main source code.&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%2Fxw3da2ib7fizk5w17knu.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%2Fxw3da2ib7fizk5w17knu.png" alt="Repoi" width="800" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we have successfully generated the backend code with Amplication.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup Local App
&lt;/h3&gt;

&lt;p&gt;Now we need to setup the app on our local machine.&lt;/p&gt;

&lt;p&gt;For that clone the repository or pull your source code from git.&lt;/p&gt;

&lt;p&gt;Now to setup the app we need to install the dependencies.&lt;/p&gt;

&lt;p&gt;For this there's already a pacakge.json file created in the root of the directory.&lt;/p&gt;

&lt;p&gt;You need to run &lt;code&gt;npm install&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This will install the root dependencies.&lt;/p&gt;

&lt;p&gt;After this you need to run the &lt;code&gt;npm run postinstall&lt;/code&gt; script to install the frontend, backend and the admin-ui dependencies.&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%2Fakzqz7c138ivjvu0vhhw.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%2Fakzqz7c138ivjvu0vhhw.png" alt="Package.json file" width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the process is completed your app is successfully setup with the backend code generated with Amplication.&lt;/p&gt;

&lt;p&gt;Now for starting the app you can run &lt;code&gt;npm run start&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Amplication REST API's with Swagger
&lt;/h2&gt;

&lt;p&gt;If you want to check the API's generated by Amplication, head over to &lt;code&gt;http://localhost:3000/api&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This will open the Swagger UI with all the API's. You can test out API's here.&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%2Filxcbquq12khrv9wmcrl.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%2Filxcbquq12khrv9wmcrl.png" alt="API's" width="800" height="981"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But wait there's something more,&lt;/p&gt;

&lt;h2&gt;
  
  
  Amplication introduces a groundbreaking feature: Upload Prisma Schema.
&lt;/h2&gt;

&lt;p&gt;If you find yourself in the midst of the development phase and wish to seamlessly transition to Amplication's services, this powerful tool will be a game-changer.&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%2F1pgx01fyaebbbw5h9cdf.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%2F1pgx01fyaebbbw5h9cdf.png" alt="Prisma Upload Schema" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagine having the ability to effortlessly import your Prisma schema into Amplication, enabling the automatic generation of entities and relationships required for your application. This simplifies the migration process, saving you time and effort while ensuring a smooth transition to Amplication's services.&lt;/p&gt;

&lt;p&gt;With Amplication's Upload Prisma Schema feature, you can take your development project to the next level, leveraging the platform's robust capabilities to accelerate your app's progress. The integration of your existing Prisma schema will pave the way for a more efficient and productive development experience.&lt;/p&gt;

&lt;p&gt;Here's what the process looks like,&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%2Fg74b8bsmwr2702i78tao.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%2Fg74b8bsmwr2702i78tao.png" alt="Prisma upload schema process" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This feature is still in beta mode and would be available to end users shortly.&lt;/p&gt;

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

&lt;p&gt;This blog post has taken you through the process of creating a Full Stack Airbnb Clone using Amplication, a powerful open-source development tool. With Amplication's low-code development environment, developers can build web applications by configuring and connecting pre-built building blocks, reducing the amount of manual coding required. The post covered the various features and functionalities of the Airbnb Clone, including real-time maps, JWT-based authentication, API calls using Axios, and more.&lt;/p&gt;

&lt;p&gt;The step-by-step guide walked you through setting up the project using Amplication, creating entities for listings, wishlists, and trips, and how to push the code to GitHub for integration. Additionally, it demonstrated how to test the REST APIs generated by Amplication using Swagger UI.&lt;/p&gt;

&lt;p&gt;By leveraging Amplication's capabilities, developers and organizations can accelerate software development, saving valuable time and resources, and deliver robust and scalable applications. Whether you're a seasoned developer or just starting, Amplication provides a user-friendly platform for building impressive web applications with ease. So, go ahead and unleash the power of Amplication in your next development project! Happy coding!&lt;/p&gt;

&lt;p&gt;This tutorial was a part of my Youtube video. Check out the entire video.&lt;/p&gt;

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

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Optimizing SEO in Next.js: Advanced Techniques for Better Search Engine Visibility</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Fri, 30 Jun 2023 08:46:25 +0000</pubDate>
      <link>https://dev.to/kishansheth/optimizing-seo-in-nextjs-advanced-techniques-for-better-search-engine-visibility-54kf</link>
      <guid>https://dev.to/kishansheth/optimizing-seo-in-nextjs-advanced-techniques-for-better-search-engine-visibility-54kf</guid>
      <description>&lt;p&gt;In today's digital landscape, search engine optimization (SEO) plays a crucial role in driving organic traffic to websites. Next.js, a powerful React framework, provides developers with a solid foundation for building performant and SEO-friendly web applications. In this blog post, we will explore advanced techniques for optimizing SEO in Next.js to enhance search engine visibility and attract more organic traffic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Understanding SEO Basics&lt;/li&gt;
&lt;li&gt;Next.js and SEO: A Winning Combination&lt;/li&gt;
&lt;li&gt;Key SEO Factors to Consider in Next.js

&lt;ol&gt;
&lt;li&gt;Meta Tags and Title Optimization&lt;/li&gt;
&lt;li&gt;Structured Data Markup&lt;/li&gt;
&lt;li&gt;URL Structure and Canonical URLs&lt;/li&gt;
&lt;li&gt;Sitemap Generation&lt;/li&gt;
&lt;li&gt;Responsive and Mobile-Friendly Design&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;Advanced SEO Techniques in Next.js

&lt;ol&gt;
&lt;li&gt;Dynamic Meta Tags and Titles&lt;/li&gt;
&lt;li&gt;Server-Side Rendering (SSR) for SEO&lt;/li&gt;
&lt;li&gt;Implementing Open Graph and Twitter Cards&lt;/li&gt;
&lt;li&gt;Handling Pagination for SEO&lt;/li&gt;
&lt;li&gt;Optimizing Images for Search Engines&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;Monitoring and Analyzing SEO Performance

&lt;ol&gt;
&lt;li&gt;Integrating Google Analytics&lt;/li&gt;
&lt;li&gt;Utilizing Search Console for Insights&lt;/li&gt;
&lt;li&gt;Monitoring SERP Rankings and Click-Through Rates (CTR)&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;Technical SEO Considerations for Next.js

&lt;ol&gt;
&lt;li&gt;Properly Handling Redirects&lt;/li&gt;
&lt;li&gt;Managing Duplicate Content and Canonicalization&lt;/li&gt;
&lt;li&gt;Implementing Pagination and Rel="next/prev"&lt;/li&gt;
&lt;li&gt;Managing 404 Errors and Custom Error Pages&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;Performance Optimization and SEO

&lt;ol&gt;
&lt;li&gt;Fast Page Load Times&lt;/li&gt;
&lt;li&gt;Lazy Loading and Code Splitting&lt;/li&gt;
&lt;li&gt;Optimizing HTML and CSS&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;Staying Up-to-Date with SEO Best Practices

&lt;ol&gt;
&lt;li&gt;Keeping Up with Algorithm Updates&lt;/li&gt;
&lt;li&gt;Engaging in Link Building and Content Marketing&lt;/li&gt;
&lt;li&gt;Enhancing User Experience (UX) Signals&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;h3&gt;
  
  
  Introducing Zegocloud
&lt;/h3&gt;

&lt;p&gt;ZEGOCLOUD is a cloud-based &lt;a href="https://www.zegocloud.com/" rel="noopener noreferrer"&gt;video call platform&lt;/a&gt; that provides developers with a set of APIs and SDKs to easily build video calling applications.&lt;/p&gt;

&lt;p&gt;Read my awesome article about how to &lt;a href="https://dev.to/koolkishan/build-a-video-call-app-in-10-minutes-with-zegocloud-and-react-em0"&gt;create a Video Call App using Zegocloud&lt;/a&gt; in less than 10 Minutes&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding SEO Basics:
&lt;/h3&gt;

&lt;p&gt;Before diving into Next.js-specific techniques, let's quickly review some essential SEO principles. Meta tags, structured data markup, URL structure, and sitemaps are crucial factors for search engines to understand and rank your web pages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next.js and SEO: A Winning Combination:
&lt;/h3&gt;

&lt;p&gt;Next.js is an excellent choice for building SEO-friendly applications due to its server-side rendering (SSR) capabilities, which provide search engines with fully-rendered HTML content. Additionally, Next.js comes with built-in optimizations, such as automatic code splitting and prefetching, that contribute to better SEO performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key SEO Factors to Consider in Next.js:
&lt;/h3&gt;

&lt;p&gt;To optimize SEO in Next.js, let's dive into specific factors to consider:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Meta Tags and Title Optimization:
&lt;/h4&gt;

&lt;p&gt;Next.js allows dynamic generation of meta tags and titles for each page. By leveraging the &lt;code&gt;next/head&lt;/code&gt; component, you can customize these tags based on the page's content dynamically. Here's an example of how to set dynamic meta tags and titles:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Head&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/head&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;MyPage&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;My Page | Next.js SEO&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"This is the meta description for My Page"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Additional meta tags */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Page content */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  2. Structured Data Markup:
&lt;/h4&gt;

&lt;p&gt;Structured data helps search engines understand the context of your content. Next.js allows you to add structured data using the &lt;code&gt;next-seo&lt;/code&gt; package. Refer to the Next.js documentation on &lt;a href="https://nextjs.org/docs/basic-features/image-optimization#adding-structured-data" rel="noopener noreferrer"&gt;structured data with &lt;code&gt;next-seo&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. URL Structure and Canonical URLs:
&lt;/h4&gt;

&lt;p&gt;Next.js generates clean URLs by default based on the page structure. You can further optimize URLs by customizing them to include relevant keywords. Additionally, you should set canonical URLs to avoid duplicate content issues. The Next.js documentation on &lt;a href="https://nextjs.org/docs/routing/dynamic-routes" rel="noopener noreferrer"&gt;dynamic routes&lt;/a&gt; can help you structure your URLs effectively.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Sitemap Generation:
&lt;/h4&gt;

&lt;p&gt;A sitemap helps search engines discover and index your web pages more efficiently. Next.js provides a way to generate a sitemap using the &lt;code&gt;sitemap&lt;/code&gt; package. Check out the Next.js documentation on &lt;a href="https://nextjs.org/docs/advanced-features/sitemap-generation" rel="noopener noreferrer"&gt;sitemap generation&lt;/a&gt; for detailed instructions.&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Responsive and Mobile-Friendly Design:
&lt;/h4&gt;

&lt;p&gt;Having a responsive and mobile-friendly design is crucial for SEO. Next.js, being a React framework, encourages building responsive layouts using CSS frameworks like Tailwind CSS or responsive design principles with CSS media queries.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advanced SEO Techniques in Next.js:
&lt;/h3&gt;

&lt;p&gt;Now, let's explore some advanced techniques to further optimize SEO in Next.js:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Dynamic Meta Tags and Titles:
&lt;/h4&gt;

&lt;p&gt;Next.js allows you to dynamically generate meta tags and titles based on the content of each page. You can utilize server-side data fetching and pass the required information to the &lt;code&gt;next/head&lt;/code&gt; component. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Head&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/head&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Article&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;article&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;article&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; | Next.js SEO&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;article&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;excerpt&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Additional meta

 tags */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Article content */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getServerSideProps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Fetch article data based on the context&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;article&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetchArticle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;article&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  2. Server-Side Rendering (SSR) for SEO:
&lt;/h4&gt;

&lt;p&gt;Next.js's server-side rendering (SSR) capabilities provide search engines with fully-rendered HTML content, improving SEO visibility. By using the &lt;code&gt;getServerSideProps&lt;/code&gt; function, you can fetch data during the server-side rendering process and pass it as props to your pages. This ensures search engines see the complete content of your pages. Here's an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getServerSideProps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Fetch data from an external API&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.example.com/data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3. Implementing Open Graph and Twitter Cards:
&lt;/h4&gt;

&lt;p&gt;Open Graph and Twitter Cards enhance how your web pages are displayed when shared on social media platforms. Next.js provides an easy way to configure these using the &lt;code&gt;next-seo&lt;/code&gt; package. Refer to the Next.js documentation on &lt;a href="https://nextjs.org/docs/basic-features/image-optimization#open-graph-and-twitter-cards" rel="noopener noreferrer"&gt;Open Graph and Twitter Cards&lt;/a&gt; for detailed instructions.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Handling Pagination for SEO:
&lt;/h4&gt;

&lt;p&gt;If your application implements pagination, it's essential to handle it properly for SEO. Next.js provides support for pagination using the &lt;code&gt;next/link&lt;/code&gt; component and the &lt;code&gt;rel="next/prev"&lt;/code&gt; attribute. Refer to the Next.js documentation on &lt;a href="https://nextjs.org/docs/advanced-features/pagination" rel="noopener noreferrer"&gt;pagination&lt;/a&gt; for more information.&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Optimizing Images for Search Engines:
&lt;/h4&gt;

&lt;p&gt;Images can significantly impact SEO. Next.js provides built-in image optimization capabilities. You can optimize images by specifying attributes such as &lt;code&gt;alt&lt;/code&gt; text, dimensions, and file size. Check out the Next.js documentation on &lt;a href="https://nextjs.org/docs/basic-features/image-optimization" rel="noopener noreferrer"&gt;image optimization&lt;/a&gt; for detailed instructions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Monitoring and Analyzing SEO Performance:
&lt;/h3&gt;

&lt;p&gt;To monitor and analyze the SEO performance of your Next.js application, you can utilize various tools and techniques:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Integrating Google Analytics:
&lt;/h4&gt;

&lt;p&gt;Integrate Google Analytics into your Next.js application to track and analyze traffic, user behavior, and conversion rates. The Next.js documentation provides a guide on &lt;a href="https://nextjs.org/docs/advanced-features/google-analytics" rel="noopener noreferrer"&gt;integrating Google Analytics&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Utilizing Google Search Console for Insights:
&lt;/h4&gt;

&lt;p&gt;Google Search Console provides valuable insights into your website's organic performance, including search queries, click-through rates, and crawl errors. Verify your Next.js website with Google Search Console and leverage its data for SEO improvements.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Monitoring SERP Rankings and Click-Through Rates (CTR):
&lt;/h4&gt;

&lt;p&gt;Track your website's rankings in search engine results pages (SERPs) and monitor the click-through rates (CTR) using SEO tools like SEMrush, Ahrefs, or Moz. Analyzing these metrics can help you identify areas for optimization.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technical SEO Considerations for Next.js:
&lt;/h3&gt;

&lt;p&gt;To ensure technical SEO best practices in your Next.js application, consider the following:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Properly Handling Redirects:
&lt;/h4&gt;

&lt;p&gt;Implement proper redirects, such as 301 (permanent) and 302 (temporary) redirects, to avoid broken links and maintain link equity. You can handle redirects in Next.js using server-side logic or frameworks like &lt;code&gt;next-routes&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Managing Duplicate Content and Canonicalization:
&lt;/h4&gt;

&lt;p&gt;Duplicate content can harm your SEO rankings. Implement canonical tags in your Next.js application to specify the preferred version of a web page when duplicate content exists.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Implementing Pagination and &lt;code&gt;rel="next/prev"&lt;/code&gt;:
&lt;/h4&gt;

&lt;p&gt;For paginated content, use the &lt;code&gt;rel="next/prev"&lt;/code&gt; attribute to signal to search engines the relationship between paginated pages. This helps search engines understand the pagination structure.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Managing 404 Errors and Custom Error Pages:
&lt;/h4&gt;

&lt;p&gt;Properly handle 404 errors by creating custom error pages that provide helpful information to users and search engines. Next.js allows you to create custom 404 error pages by creating a &lt;code&gt;pages/404.js&lt;/code&gt; file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance Optimization and SEO:
&lt;/h3&gt;

&lt;p&gt;Optimizing the performance of your Next.js application directly impacts SEO. Here are some techniques to consider:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Fast Page Load Times:
&lt;/h4&gt;

&lt;p&gt;Improve page load times by leveraging Next.js's built-in optimizations, such as automatic code splitting and prefetching. Additionally, optimize asset sizes, leverage browser caching, and use CDNs to deliver content efficiently.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Lazy Loading and Code Splitting:
&lt;/h4&gt;

&lt;p&gt;Lazy load and code split your Next.js application to load only the necessary components and assets when required. This reduces initial load times and improves the user experience.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Optimizing HTML and CSS:
&lt;/h4&gt;

&lt;p&gt;Minify HTML and CSS files to reduce their sizes. Remove unnecessary code, comments, and whitespace to optimize loading times. Additionally, leverage Next.js's support for CSS frameworks like Tailwind CSS to streamline CSS delivery.&lt;/p&gt;

&lt;h3&gt;
  
  
  Staying Up-to-Date with SEO Best Practices:
&lt;/h3&gt;

&lt;p&gt;To ensure ongoing SEO success, keep up with the latest SEO best practices:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Keeping Up with Algorithm Updates:
&lt;/h4&gt;

&lt;p&gt;Stay informed about major search engine algorithm updates, such as Google's Core Updates, and adapt your SEO strategies accordingly. Follow reputable SEO resources, industry blogs, and official search engine webmaster guidelines.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Engaging in Link Building and Content Marketing:
&lt;/h4&gt;

&lt;p&gt;Build high-quality backlinks to your Next.js application through content marketing, guest blogging, and influencer collaborations. Quality backlinks from authoritative sources can significantly improve search engine visibility.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Enhancing User Experience (UX) Signals:
&lt;/h4&gt;

&lt;p&gt;Focus on improving user experience on your Next.js application. Factors such as site speed, mobile-friendliness, intuitive navigation, and engaging content all contribute to positive UX signals that can boost SEO performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion:
&lt;/h3&gt;

&lt;p&gt;Optimizing SEO in Next.js requires a combination of technical implementation, content optimization, and ongoing monitoring. By leveraging advanced techniques, such as dynamic meta tags, SSR, structured data markup, and performance optimization, you can significantly improve search engine visibility and attract more organic traffic to your Next.js applications.&lt;/p&gt;

&lt;p&gt;Remember to regularly review and update your SEO strategies as search engine algorithms and best practices evolve. By staying informed, implementing advanced techniques, and consistently monitoring performance, you can maintain a strong SEO presence for your Next.js applications and drive sustainable organic traffic.&lt;/p&gt;

&lt;p&gt;Also don't forget to check out ZEGOCLOUD services for your next project. &lt;/p&gt;

&lt;p&gt;ZEGOCLOUD is a &lt;a href="https://www.zegocloud.com/" rel="noopener noreferrer"&gt;cloud-native solution&lt;/a&gt; designed for facilitating video calls. By granting developers access to a comprehensive suite of APIs and SDKs, ZEGOCLOUD empowers them to effortlessly construct their own video calling applications. &lt;/p&gt;

&lt;p&gt;Furthermore, you can explore an informative article detailing the process of swiftly creating a &lt;a href="https://dev.to/koolkishan/build-a-video-call-app-in-10-minutes-with-zegocloud-and-react-em0"&gt;Video Call App utilizing the capabilities of ZEGOCLOUD&lt;/a&gt;, all within a time frame of fewer than 10 minutes.&lt;/p&gt;

&lt;p&gt;Apart from the post you can also check out my Youtube video where I have created a detailed 10+ hours guide on creating whatsapp clone which is powered by &lt;a href="https://www.zegocloud.com/" rel="noopener noreferrer"&gt;ZEGOCLOUD&lt;/a&gt; for the &lt;a href="https://www.zegocloud.com/product/video-call" rel="noopener noreferrer"&gt;video call&lt;/a&gt; and &lt;a href="https://www.zegocloud.com/product/voice-call" rel="noopener noreferrer"&gt;voice call&lt;/a&gt; services.&lt;/p&gt;

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

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>🔴 Build a Whatsapp Clone (Realtime Chat) using Next.js, Socket.io, Tailwind CSS, Node.js, Express, Prisma and Zegocloud</title>
      <dc:creator>Kishan Sheth</dc:creator>
      <pubDate>Wed, 28 Jun 2023 04:08:39 +0000</pubDate>
      <link>https://dev.to/kishansheth/build-a-whatsapp-clone-realtime-chat-using-nextjs-socketio-tailwind-css-nodejs-express-and-prisma-1j0k</link>
      <guid>https://dev.to/kishansheth/build-a-whatsapp-clone-realtime-chat-using-nextjs-socketio-tailwind-css-nodejs-express-and-prisma-1j0k</guid>
      <description>&lt;p&gt;Features of the WhatsApp Clone:&lt;br&gt;
This comprehensive WhatsApp clone comes packed with a range of awesome features to give you an authentic messaging experience. Here are some highlights:&lt;/p&gt;

&lt;p&gt;✅ Login with Google using Firebase: Seamlessly sign in with your Google account via Firebase integration.&lt;/p&gt;

&lt;p&gt;✅ Switch between multiple databases using Prisma: Customize your database preferences to suit your needs effortlessly.&lt;/p&gt;

&lt;p&gt;✅ Send and Receive Messages using Sockets: Real-time messaging capabilities using Socket.io for instant communication.&lt;/p&gt;

&lt;p&gt;✅ Voice Call and Video Call Feature: Enjoy crystal clear voice and video calls within the app.&lt;/p&gt;

&lt;p&gt;✅ Voice Notes with Live Audio Waveforms: Send and receive voice notes accompanied by live audio waveforms for an enhanced messaging experience.&lt;/p&gt;

&lt;p&gt;✅ Support for Emoji: Express yourself with a wide range of emojis to add fun and emotions to your conversations.&lt;/p&gt;

&lt;p&gt;✅ Send Images: Share images with your friends and loved ones effortlessly.&lt;/p&gt;

&lt;p&gt;✅ Online/Offline Functionality: Easily identify the online and offline status of your contacts.&lt;/p&gt;

&lt;p&gt;✅ Search Messages: Quickly find specific messages using the search functionality.&lt;/p&gt;

&lt;p&gt;✅ Capture Photo From Camera: Take instant photos using your device's camera and send them instantly.&lt;/p&gt;

&lt;p&gt;✅ Message Read Status: Know when your messages have been read by your recipients.&lt;/p&gt;

&lt;p&gt;✅ Message Time: Stay updated with the time stamps of messages for better organization.&lt;/p&gt;

&lt;p&gt;And many more awesome features await you in this WhatsApp clone!&lt;/p&gt;

&lt;p&gt;Check out the full 10+ Hour Video on my &lt;a href="https://www.youtube.com/@KishanSheth21" rel="noopener noreferrer"&gt;youtube channel.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more such Full Stack Clones subscribe to my youtube channel.&lt;/p&gt;

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

&lt;p&gt;This clone uses &lt;a href="https://www.zegocloud.com/" rel="noopener noreferrer"&gt;Zegocloud&lt;/a&gt; for Voice and Video Functionality.&lt;/p&gt;

&lt;p&gt;ZEGOCLOUD is a cloud-based &lt;a href="https://www.zegocloud.com/product/video-call" rel="noopener noreferrer"&gt;video call platform&lt;/a&gt; that provides developers with a set of APIs and SDKs to easily build video calling applications. &lt;/p&gt;

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
