<?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: Ashish prajapati</title>
    <description>The latest articles on DEV Community by Ashish prajapati (@anticoder03).</description>
    <link>https://dev.to/anticoder03</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1980090%2F4795ddaa-747b-4400-996c-d9b6ad841839.png</url>
      <title>DEV Community: Ashish prajapati</title>
      <link>https://dev.to/anticoder03</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anticoder03"/>
    <language>en</language>
    <item>
      <title>🚀 Spring Boot Journey – Day 3: Mastering CRUD Operations, Lombok &amp; JPA Query Methods</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Mon, 13 Jul 2026 17:14:37 +0000</pubDate>
      <link>https://dev.to/anticoder03/spring-boot-journey-day-3-mastering-crud-operations-lombok-jpa-query-methods-ank</link>
      <guid>https://dev.to/anticoder03/spring-boot-journey-day-3-mastering-crud-operations-lombok-jpa-query-methods-ank</guid>
      <description>&lt;p&gt;Welcome to &lt;strong&gt;Day 3&lt;/strong&gt; of my Spring Boot learning journey! 💚&lt;/p&gt;

&lt;p&gt;Today's session was packed with practical concepts that are used in almost every real-world Spring Boot application. I moved beyond creating simple APIs and started building a complete CRUD application while learning how Spring Boot simplifies backend development.&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 What I Learned Today
&lt;/h2&gt;

&lt;p&gt;Today I implemented the complete &lt;strong&gt;CRUD (Create, Read, Update, Delete)&lt;/strong&gt; functionality for my Student Management application.&lt;/p&gt;

&lt;p&gt;The REST APIs now support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;➕ Create a Student&lt;/li&gt;
&lt;li&gt;📖 Read all Students&lt;/li&gt;
&lt;li&gt;🔍 Read a single Student&lt;/li&gt;
&lt;li&gt;✏️ Update Student details&lt;/li&gt;
&lt;li&gt;❌ Delete a Student&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also learned how different HTTP methods map to REST APIs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;POST&lt;/strong&gt; → Create Data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GET&lt;/strong&gt; → Fetch Data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PUT&lt;/strong&gt; → Update Data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DELETE&lt;/strong&gt; → Remove Data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding these methods helped me see how backend APIs communicate with frontend applications.&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 Adding Multiple Records
&lt;/h2&gt;

&lt;p&gt;Instead of inserting one record at a time, I learned how to save &lt;strong&gt;multiple student records&lt;/strong&gt; using a single API request.&lt;/p&gt;

&lt;p&gt;Spring Data JPA provides the &lt;code&gt;saveAll()&lt;/code&gt; method, making bulk insertion extremely simple and efficient.&lt;/p&gt;

&lt;p&gt;This feature is especially useful when importing large datasets.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ Making Code Cleaner with Lombok
&lt;/h2&gt;

&lt;p&gt;One of my favorite topics today was &lt;strong&gt;Lombok&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Previously, every entity required writing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constructors&lt;/li&gt;
&lt;li&gt;Getters&lt;/li&gt;
&lt;li&gt;Setters&lt;/li&gt;
&lt;li&gt;&lt;code&gt;toString()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;equals()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hashCode()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, with just a few annotations like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@Data&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@NoArgsConstructor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@AllArgsConstructor&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lombok generates all that code automatically.&lt;/p&gt;

&lt;p&gt;This makes the project cleaner, shorter, and much easier to maintain.&lt;/p&gt;




&lt;h2&gt;
  
  
  🗄️ Repository Layer with Spring Data JPA
&lt;/h2&gt;

&lt;p&gt;Today I explored the power of &lt;strong&gt;Spring Data JPA&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of writing SQL queries manually, Spring Boot generates queries automatically based on method names.&lt;/p&gt;

&lt;p&gt;Some custom repository methods I added include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find students by department&lt;/li&gt;
&lt;li&gt;Find students whose date of birth is after a given date&lt;/li&gt;
&lt;li&gt;Find students whose date of birth is before a given date&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It was amazing to see that simply naming methods correctly allows Spring Boot to generate the required SQL behind the scenes.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 JPA Query Methods
&lt;/h2&gt;

&lt;p&gt;Today I learned about &lt;strong&gt;Query Method Naming&lt;/strong&gt; in Spring Data JPA.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;findByDepartment()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;findByDobAfter()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;findByDobBefore()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Spring Boot automatically understands these method names and creates the appropriate database queries without requiring any SQL.&lt;/p&gt;

&lt;p&gt;This is one of the features that makes Spring Data JPA so powerful and developer-friendly.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ Exception Handling
&lt;/h2&gt;

&lt;p&gt;Applications should never fail silently.&lt;/p&gt;

&lt;p&gt;To improve my project, I implemented exception handling for situations where a student record doesn't exist.&lt;/p&gt;

&lt;p&gt;Now, instead of unexpected behavior, the application returns a meaningful error message when someone tries to access or delete a student that isn't available.&lt;/p&gt;

&lt;p&gt;This improves both reliability and user experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Project Architecture
&lt;/h2&gt;

&lt;p&gt;My project now follows the standard layered architecture:&lt;/p&gt;

&lt;p&gt;Client Request&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Controller&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Service&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Repository&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;MySQL Database&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Response&lt;/p&gt;

&lt;p&gt;Keeping responsibilities separated makes the application easier to understand, test, and maintain.&lt;/p&gt;




&lt;h2&gt;
  
  
  📖 Key Concepts Covered Today
&lt;/h2&gt;

&lt;p&gt;✅ CRUD Operations&lt;/p&gt;

&lt;p&gt;✅ HTTP Methods (GET, POST, PUT, DELETE)&lt;/p&gt;

&lt;p&gt;✅ Bulk Insert using &lt;code&gt;saveAll()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;✅ Lombok Annotations&lt;/p&gt;

&lt;p&gt;✅ Spring Data JPA Repository&lt;/p&gt;

&lt;p&gt;✅ JPA Query Methods&lt;/p&gt;

&lt;p&gt;✅ Filtering Data using Repository Methods&lt;/p&gt;

&lt;p&gt;✅ Exception Handling&lt;/p&gt;

&lt;p&gt;✅ Layered Architecture&lt;/p&gt;




&lt;h2&gt;
  
  
  💭 My Takeaway
&lt;/h2&gt;

&lt;p&gt;Today's session made me realize how much Spring Boot reduces repetitive work.&lt;/p&gt;

&lt;p&gt;With Lombok, I no longer need to write boilerplate code.&lt;/p&gt;

&lt;p&gt;With Spring Data JPA, I can fetch filtered data without writing SQL.&lt;/p&gt;

&lt;p&gt;And with proper exception handling, my APIs become much more reliable.&lt;/p&gt;

&lt;p&gt;Every day I'm getting closer to building production-ready backend applications, and it's exciting to see how everything connects together.&lt;/p&gt;

&lt;p&gt;Looking forward to learning more advanced Spring Boot concepts in the coming days! 🚀&lt;/p&gt;




&lt;h3&gt;
  
  
  #SpringBootJourney Day 3
&lt;/h3&gt;

&lt;p&gt;Today's progress:&lt;/p&gt;

&lt;p&gt;✔ CRUD Operations&lt;/p&gt;

&lt;p&gt;✔ Lombok&lt;/p&gt;

&lt;p&gt;✔ JPA Repository&lt;/p&gt;

&lt;p&gt;✔ Query Methods&lt;/p&gt;

&lt;p&gt;✔ Exception Handling&lt;/p&gt;

&lt;p&gt;One day. One project. One step closer to becoming a Java Backend Developer. 💚&lt;/p&gt;

</description>
      <category>java</category>
      <category>productivity</category>
      <category>tutorial</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🚀 Spring Boot Journey – Day 2: Setting Up My Development Environment &amp; Building My First REST API</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 11 Jul 2026 17:23:43 +0000</pubDate>
      <link>https://dev.to/anticoder03/spring-boot-journey-day-2-setting-up-my-development-environment-building-my-first-rest-api-30ho</link>
      <guid>https://dev.to/anticoder03/spring-boot-journey-day-2-setting-up-my-development-environment-building-my-first-rest-api-30ho</guid>
      <description>&lt;p&gt;Welcome to &lt;strong&gt;Day 2&lt;/strong&gt; of my Spring Boot learning journey! 👋&lt;/p&gt;

&lt;p&gt;After understanding the fundamentals of Spring Boot on Day 1, today I moved from theory to practice by setting up my complete development environment and building my very first Spring Boot application.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Development Environment
&lt;/h2&gt;

&lt;p&gt;To begin my Spring Boot development, I set up the following tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Eclipse IDE&lt;/strong&gt; – For writing and managing Java code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MySQL&lt;/strong&gt; – To store application data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spring Boot&lt;/strong&gt; – The backend framework.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maven&lt;/strong&gt; – For dependency management and project building.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With everything installed and configured, I was finally ready to write some code.&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Creating My First Entity: Product
&lt;/h2&gt;

&lt;p&gt;The first class I created was a simple &lt;code&gt;Product&lt;/code&gt; class.&lt;/p&gt;

&lt;p&gt;It contains three fields:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;price&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Along with that, I manually wrote:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constructors&lt;/li&gt;
&lt;li&gt;Getters&lt;/li&gt;
&lt;li&gt;Setters&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;toString()&lt;/code&gt; method&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first glance, the code looks quite lengthy because Java requires a lot of boilerplate code for a simple class.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Note:&lt;/strong&gt; In upcoming days, I'll learn &lt;strong&gt;Lombok&lt;/strong&gt;, which automatically generates constructors, getters, setters, and other methods, making the code much cleaner and easier to maintain.&lt;/p&gt;




&lt;h2&gt;
  
  
  🗂️ Understanding Spring Boot Project Structure
&lt;/h2&gt;

&lt;p&gt;To follow Spring Boot's layered architecture, I created three important layers:&lt;/p&gt;

&lt;h3&gt;
  
  
  📌 Controller Layer
&lt;/h3&gt;

&lt;p&gt;The Controller acts as the entry point for client requests.&lt;/p&gt;

&lt;p&gt;I created two REST endpoints:&lt;/p&gt;

&lt;h3&gt;
  
  
  GET &lt;code&gt;/get-all&lt;/code&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Retrieves all products.&lt;/li&gt;
&lt;li&gt;Returns a list of products wrapped inside a &lt;code&gt;ResponseEntity&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Sends an HTTP &lt;strong&gt;200 OK&lt;/strong&gt; status.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  POST &lt;code&gt;/save-prod&lt;/code&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Accepts a Product object using &lt;code&gt;@RequestBody&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Saves the product.&lt;/li&gt;
&lt;li&gt;Returns the saved product with HTTP &lt;strong&gt;201 CREATED&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using &lt;code&gt;ResponseEntity&lt;/code&gt; allows us to send both the response data and the appropriate HTTP status code.&lt;/p&gt;




&lt;h3&gt;
  
  
  📌 Repository Layer
&lt;/h3&gt;

&lt;p&gt;Next, I created a &lt;code&gt;ProductRepository&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Instead of writing SQL queries manually, I simply extended:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;JpaRepository&amp;lt;Product, Integer&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This provides several built-in database operations like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;save()&lt;/li&gt;
&lt;li&gt;findAll()&lt;/li&gt;
&lt;li&gt;findById()&lt;/li&gt;
&lt;li&gt;delete()&lt;/li&gt;
&lt;li&gt;update()&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;without writing any implementation code.&lt;/p&gt;

&lt;p&gt;That's one of the biggest advantages of Spring Data JPA.&lt;/p&gt;




&lt;h3&gt;
  
  
  📌 Service Layer
&lt;/h3&gt;

&lt;p&gt;The Service layer contains the application's business logic.&lt;/p&gt;

&lt;p&gt;Here, I created methods to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fetch all products.&lt;/li&gt;
&lt;li&gt;Save a new product.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The service communicates with the repository, while the controller communicates with the service.&lt;/p&gt;

&lt;p&gt;This layered architecture keeps the code organized and easier to maintain.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔄 Request Flow
&lt;/h2&gt;

&lt;p&gt;The complete flow of my application looks like this:&lt;/p&gt;

&lt;p&gt;Client Request&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Controller&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Service&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Repository&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;MySQL Database&lt;/p&gt;

&lt;p&gt;⬇️&lt;/p&gt;

&lt;p&gt;Response Back to Client&lt;/p&gt;

&lt;p&gt;This separation of responsibilities is one of the core principles of Spring Boot development.&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 Concepts I Learned Today
&lt;/h2&gt;

&lt;p&gt;✅ Setting up Eclipse for Spring Boot development&lt;/p&gt;

&lt;p&gt;✅ Configuring MySQL&lt;/p&gt;

&lt;p&gt;✅ Creating a Spring Boot project&lt;/p&gt;

&lt;p&gt;✅ Understanding layered architecture&lt;/p&gt;

&lt;p&gt;✅ Creating an Entity class&lt;/p&gt;

&lt;p&gt;✅ Building a Repository using JPA&lt;/p&gt;

&lt;p&gt;✅ Writing a Service layer&lt;/p&gt;

&lt;p&gt;✅ Creating REST APIs using &lt;code&gt;@GetMapping&lt;/code&gt; and &lt;code&gt;@PostMapping&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;✅ Using &lt;code&gt;@RequestBody&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;✅ Returning responses with &lt;code&gt;ResponseEntity&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💭 My Takeaway
&lt;/h2&gt;

&lt;p&gt;Today was my first real step into backend development with Spring Boot.&lt;/p&gt;

&lt;p&gt;Although the project is simple, it helped me understand how different layers of a Spring Boot application communicate with each other. I also realized why Spring Boot is so popular—it lets developers focus on application logic instead of writing repetitive code.&lt;/p&gt;

&lt;p&gt;There's still a lot to learn, but building something that actually runs and responds to API requests feels incredibly rewarding.&lt;/p&gt;

&lt;p&gt;Tomorrow I'll continue exploring more Spring Boot concepts and improve this project step by step.&lt;/p&gt;

&lt;p&gt;Thank you for following my journey! 🚀&lt;/p&gt;




&lt;h3&gt;
  
  
  #SpringBootJourney Day 2
&lt;/h3&gt;

&lt;p&gt;Learning never stops.&lt;/p&gt;

&lt;p&gt;One concept.&lt;/p&gt;

&lt;p&gt;One project.&lt;/p&gt;

&lt;p&gt;One day at a time. 💚&lt;/p&gt;

</description>
      <category>api</category>
      <category>beginners</category>
      <category>java</category>
      <category>springboot</category>
    </item>
    <item>
      <title>🚀 Spring Boot Journey - Day 1: Introduction to Spring Boot</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Fri, 10 Jul 2026 15:50:45 +0000</pubDate>
      <link>https://dev.to/anticoder03/spring-boot-journey-day-1-introduction-to-spring-boot-3ab5</link>
      <guid>https://dev.to/anticoder03/spring-boot-journey-day-1-introduction-to-spring-boot-3ab5</guid>
      <description>&lt;p&gt;Today I started my Spring Boot learning journey! 🌱&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 What is Spring Boot?
&lt;/h2&gt;

&lt;p&gt;Spring Boot is an extension of the Spring Framework that makes it easy to build Java applications quickly. It reduces boilerplate configuration and helps developers create production-ready applications with minimal setup.&lt;/p&gt;

&lt;p&gt;Instead of spending hours configuring XML files and dependencies, Spring Boot lets you focus on writing business logic.&lt;/p&gt;




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

&lt;p&gt;✅ Auto Configuration&lt;br&gt;
Automatically configures your application based on the dependencies you add.&lt;/p&gt;

&lt;p&gt;✅ Starter Dependencies&lt;br&gt;
Provides pre-configured dependency bundles like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;spring-boot-starter-web&lt;/li&gt;
&lt;li&gt;spring-boot-starter-data-jpa&lt;/li&gt;
&lt;li&gt;spring-boot-starter-security&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Embedded Servers&lt;br&gt;
No need to install Tomcat separately. Spring Boot comes with embedded servers like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tomcat (Default)&lt;/li&gt;
&lt;li&gt;Jetty&lt;/li&gt;
&lt;li&gt;Undertow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Production Ready&lt;br&gt;
Includes built-in features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Health Checks&lt;/li&gt;
&lt;li&gt;Metrics&lt;/li&gt;
&lt;li&gt;Monitoring&lt;/li&gt;
&lt;li&gt;Logging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Minimal Configuration&lt;br&gt;
Most configurations work out of the box using sensible defaults.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ How Spring Boot Works
&lt;/h2&gt;

&lt;p&gt;1️⃣ You create a Spring Boot project.&lt;br&gt;
2️⃣ Add the required starter dependencies.&lt;br&gt;
3️⃣ Write Java classes.&lt;br&gt;
4️⃣ Run the main application class.&lt;br&gt;
5️⃣ Spring Boot automatically configures the application and starts the embedded server.&lt;br&gt;
6️⃣ Your application is ready to serve requests.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Advantages
&lt;/h2&gt;

&lt;p&gt;✔ Faster Development&lt;br&gt;
✔ Less Configuration&lt;br&gt;
✔ Easy Dependency Management&lt;br&gt;
✔ Embedded Web Server&lt;br&gt;
✔ Microservice Friendly&lt;br&gt;
✔ Production Ready&lt;br&gt;
✔ Easy Testing&lt;br&gt;
✔ Large Community Support&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 What I Learned Today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Difference between Spring and Spring Boot&lt;/li&gt;
&lt;li&gt;Why Spring Boot is widely used&lt;/li&gt;
&lt;li&gt;Auto Configuration&lt;/li&gt;
&lt;li&gt;Starter Dependencies&lt;/li&gt;
&lt;li&gt;Embedded Servers&lt;/li&gt;
&lt;li&gt;Production-ready features&lt;/li&gt;
&lt;li&gt;Basic project structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is just Day 1 of my Spring Boot journey. Looking forward to exploring REST APIs, JPA, Hibernate, Microservices, Security, and much more in the coming days! 💻☕&lt;/p&gt;

&lt;h1&gt;
  
  
  SpringBoot #Java #BackendDevelopment #Programming #LearningInPublic #JavaDeveloper #100DaysOfCode #SoftwareDevelopment #CodingJourney #Developers
&lt;/h1&gt;

</description>
      <category>programming</category>
      <category>tutorial</category>
      <category>api</category>
      <category>java</category>
    </item>
    <item>
      <title>My GitHub Streak Broke</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 20 Jun 2026 03:35:21 +0000</pubDate>
      <link>https://dev.to/anticoder03/my-github-streak-broke-3gg7</link>
      <guid>https://dev.to/anticoder03/my-github-streak-broke-3gg7</guid>
      <description>&lt;h2&gt;
  
  
  My GitHub Streak Broke, and It Taught Me an Important Lesson
&lt;/h2&gt;

&lt;p&gt;Hi, I'm &lt;strong&gt;Anticoder03&lt;/strong&gt;, a developer who genuinely likes seeing GitHub turn green.&lt;/p&gt;

&lt;p&gt;I enjoy being consistent, building projects, learning new technologies, and contributing every day. Like many developers, I was dedicated to maintaining my GitHub streak.&lt;/p&gt;

&lt;p&gt;But one day, it broke.&lt;/p&gt;

&lt;p&gt;Not because I stopped loving development or because I lost motivation. I was simply exhausted from balancing classes, assignments, tests, and everything that comes with being a student.&lt;/p&gt;

&lt;p&gt;The streak was gone.&lt;/p&gt;

&lt;p&gt;At first, it felt disappointing. After spending so much time keeping it alive, losing it in a single day felt frustrating.&lt;/p&gt;

&lt;p&gt;Then I asked myself an important question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does a GitHub streak really define me as a developer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My answer is &lt;strong&gt;no&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Don't get me wrong. I know streaks have value. They encourage consistency, discipline, and the habit of showing up every day.&lt;/p&gt;

&lt;p&gt;But they also have limits.&lt;/p&gt;

&lt;p&gt;A number on GitHub cannot define how good you are as a developer.&lt;/p&gt;

&lt;p&gt;I remember there were times when I would make meaningless commits or simply update my profile README just to keep the streak alive.&lt;/p&gt;

&lt;p&gt;Looking back, I asked myself:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Did those commits actually matter?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not really.&lt;/p&gt;

&lt;p&gt;We are not bots designed to build streaks every day.&lt;/p&gt;

&lt;p&gt;We are human beings.&lt;/p&gt;

&lt;p&gt;We get tired.&lt;/p&gt;

&lt;p&gt;We experience burnout.&lt;/p&gt;

&lt;p&gt;We need breaks.&lt;/p&gt;

&lt;p&gt;Sometimes, taking a step away from the screen is more productive than forcing ourselves to make a commit just for the sake of preserving a number.&lt;/p&gt;

&lt;p&gt;I was so focused on maintaining the streak that I forgot the real purpose behind it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning. Building. Growing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So let me ask you another question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If your streak disappears tomorrow, does that mean you suddenly lose all your value as a developer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Absolutely not.&lt;/p&gt;

&lt;p&gt;You still know the technologies you've learned.&lt;/p&gt;

&lt;p&gt;You still know how to solve problems.&lt;/p&gt;

&lt;p&gt;You still know how to overcome challenges.&lt;/p&gt;

&lt;p&gt;Your skills don't disappear just because a green square does.&lt;/p&gt;

&lt;p&gt;Sometimes, losing something teaches us something new.&lt;/p&gt;

&lt;p&gt;And honestly, I'm glad my streak broke because it gave me a new perspective.&lt;/p&gt;

&lt;p&gt;Will I build another streak?&lt;/p&gt;

&lt;p&gt;Yes.&lt;/p&gt;

&lt;p&gt;But this time, I want every contribution to have meaning. I want to create things that add value, teach me something, or genuinely satisfy me as a developer.&lt;/p&gt;

&lt;p&gt;And if my streak breaks again in the future, it won't be because I failed.&lt;/p&gt;

&lt;p&gt;It will be because I chose to rest.&lt;/p&gt;

&lt;p&gt;I'm currently a Master's student learning AI and Data Science, and during this journey, I also took a long break from writing.&lt;/p&gt;

&lt;p&gt;When I returned, the first thing I did was read the comments people had left on my previous posts. Their words gave me new energy to start writing again.&lt;/p&gt;

&lt;p&gt;This post isn't only about technology.&lt;/p&gt;

&lt;p&gt;It's about balance.&lt;/p&gt;

&lt;p&gt;It's about remembering that behind every GitHub profile is a real person, not a machine.&lt;/p&gt;

&lt;p&gt;So if you've been stressing over your streak lately, this is your reminder:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build skills, not pressure.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create value, not meaningless commits.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Protect your passion, because consistency is important, but sustainability is even more important.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the end of the day, your GitHub profile is only a small reflection of your journey. It is not the definition of who you are as a developer.&lt;/p&gt;

&lt;p&gt;Thank you for reading. ❤️&lt;/p&gt;

</description>
      <category>github</category>
      <category>programming</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Why You Should Start Using Linux</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sun, 14 Jun 2026 18:30:19 +0000</pubDate>
      <link>https://dev.to/anticoder03/why-you-should-start-using-linux-1o0a</link>
      <guid>https://dev.to/anticoder03/why-you-should-start-using-linux-1o0a</guid>
      <description>&lt;p&gt;A few years ago, I thought Linux was only for hackers, programmers, and people who spent their entire day inside a terminal.&lt;/p&gt;

&lt;p&gt;I was wrong.&lt;/p&gt;

&lt;p&gt;Linux is one of the most powerful, flexible, and reliable operating systems available today, and it's becoming easier to use than ever before.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Performance Matters
&lt;/h3&gt;

&lt;p&gt;Many Linux distributions use significantly fewer system resources than Windows. Older laptops and desktops that struggle with modern operating systems often feel surprisingly fast again after switching to Linux.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔒 Better Security
&lt;/h3&gt;

&lt;p&gt;Linux is built with security in mind. Its permission system, open-source nature, and lower malware targeting make it a strong choice for users who care about protecting their data.&lt;/p&gt;

&lt;h3&gt;
  
  
  💰 Completely Free
&lt;/h3&gt;

&lt;p&gt;No expensive licenses. No activation keys. No forced upgrades.&lt;/p&gt;

&lt;p&gt;Most Linux distributions are completely free to download, use, and customize.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠 Perfect for Developers
&lt;/h3&gt;

&lt;p&gt;Whether you're working with web development, cloud computing, containers, AI, cybersecurity, or DevOps, Linux provides a development environment that's hard to beat.&lt;/p&gt;

&lt;p&gt;Many of the technologies powering the internet run on Linux servers.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎨 Freedom and Customization
&lt;/h3&gt;

&lt;p&gt;Want your desktop to look minimal? Modern? Futuristic?&lt;/p&gt;

&lt;p&gt;Linux gives you complete control over your system. You can customize nearly every aspect of your experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌍 Amazing Community
&lt;/h3&gt;

&lt;p&gt;One of Linux's biggest strengths is its community. Thousands of developers and enthusiasts contribute to improving the ecosystem and helping newcomers learn.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Linux Perfect?
&lt;/h3&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;Some specialized software and certain games may still work better on Windows. There can also be a learning curve when you're getting started.&lt;/p&gt;

&lt;p&gt;But if you're curious about technology, want more control over your computer, or simply want a faster and more secure experience, Linux is absolutely worth trying.&lt;/p&gt;

&lt;p&gt;You don't have to switch overnight.&lt;/p&gt;

&lt;p&gt;Start with beginner-friendly distributions like Ubuntu, Linux Mint, or Fedora. Experiment, explore, and learn.&lt;/p&gt;

&lt;p&gt;You might discover that the operating system you've been looking for has been open source all along.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>developers</category>
      <category>opensource</category>
      <category>techtalks</category>
    </item>
    <item>
      <title>Why CRUD Apps Are Slowly Dying</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Wed, 20 May 2026 16:17:06 +0000</pubDate>
      <link>https://dev.to/anticoder03/why-crud-apps-are-slowly-dying-14pn</link>
      <guid>https://dev.to/anticoder03/why-crud-apps-are-slowly-dying-14pn</guid>
      <description>&lt;p&gt;It’s been a while since I last wrote something technical.&lt;/p&gt;

&lt;p&gt;Academics, projects, and work kept me busy for quite some time, but now I finally have a little space to start writing and building consistently again.&lt;/p&gt;

&lt;p&gt;And honestly, there’s no better topic to restart with than this.&lt;/p&gt;




&lt;p&gt;For years, beginner developers were told to build &lt;strong&gt;CRUD applications&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Todo apps&lt;/li&gt;
&lt;li&gt;Inventory systems&lt;/li&gt;
&lt;li&gt;Basic dashboards&lt;/li&gt;
&lt;li&gt;Admin panels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly, that made sense.&lt;/p&gt;

&lt;p&gt;CRUD apps taught developers the fundamentals of software engineering:&lt;/p&gt;

&lt;p&gt;✅ Databases&lt;br&gt;
✅ APIs&lt;br&gt;
✅ Authentication&lt;br&gt;
✅ Backend logic&lt;br&gt;
✅ Frontend integration&lt;/p&gt;

&lt;p&gt;They became the foundation of modern web development.&lt;/p&gt;


&lt;h2&gt;
  
  
  But the Industry Has Changed
&lt;/h2&gt;

&lt;p&gt;Today, AI can generate a basic CRUD application in minutes.&lt;/p&gt;

&lt;p&gt;Need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a login system?&lt;/li&gt;
&lt;li&gt;a product dashboard?&lt;/li&gt;
&lt;li&gt;REST APIs?&lt;/li&gt;
&lt;li&gt;database models?&lt;/li&gt;
&lt;li&gt;admin panels?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI tools can now build most of it instantly.&lt;/p&gt;

&lt;p&gt;The barrier to creating repetitive software has collapsed.&lt;/p&gt;


&lt;h2&gt;
  
  
  Does That Mean Software Engineering Is Dead?
&lt;/h2&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;It means the &lt;strong&gt;value has shifted&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Companies are no longer impressed by applications that only perform:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Create → Read → Update → Delete&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Because CRUD is becoming &lt;em&gt;automation-friendly&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;What matters now is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;System architecture&lt;/li&gt;
&lt;li&gt;Scalability&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;AI integration&lt;/li&gt;
&lt;li&gt;Real-time systems&lt;/li&gt;
&lt;li&gt;Developer experience&lt;/li&gt;
&lt;li&gt;Performance optimization&lt;/li&gt;
&lt;li&gt;Solving actual business problems&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  The Real Shift Happening in Tech
&lt;/h2&gt;

&lt;p&gt;The developers who will thrive in the AI era are not the ones who can only build forms and tables.&lt;/p&gt;

&lt;p&gt;They are the ones who can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design scalable systems&lt;/li&gt;
&lt;li&gt;Build intelligent workflows&lt;/li&gt;
&lt;li&gt;Understand infrastructure&lt;/li&gt;
&lt;li&gt;Optimize performance&lt;/li&gt;
&lt;li&gt;Integrate AI into products&lt;/li&gt;
&lt;li&gt;Think beyond boilerplate code&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  CRUD Is Becoming a Feature — Not the Product
&lt;/h2&gt;

&lt;p&gt;That’s the biggest shift modern developers need to understand.&lt;/p&gt;

&lt;p&gt;Building software is no longer just about:&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="nf"&gt;createUser&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;updateProduct&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;deleteTask&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It’s about building systems that are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;intelligent&lt;/li&gt;
&lt;li&gt;scalable&lt;/li&gt;
&lt;li&gt;secure&lt;/li&gt;
&lt;li&gt;adaptive&lt;/li&gt;
&lt;li&gt;user-focused&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Skills That Matter More in 2026
&lt;/h2&gt;

&lt;p&gt;Modern developers should start learning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI-assisted development&lt;/li&gt;
&lt;li&gt;Cloud &amp;amp; Edge Computing&lt;/li&gt;
&lt;li&gt;DevSecOps&lt;/li&gt;
&lt;li&gt;Scalable backend architecture&lt;/li&gt;
&lt;li&gt;WebSockets &amp;amp; real-time systems&lt;/li&gt;
&lt;li&gt;Vector databases &amp;amp; RAG&lt;/li&gt;
&lt;li&gt;Cybersecurity fundamentals&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Final Thought
&lt;/h1&gt;

&lt;p&gt;AI is not replacing developers.&lt;/p&gt;

&lt;p&gt;It’s replacing repetitive development.&lt;/p&gt;

&lt;p&gt;The future belongs to developers who can:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;build systems, solve problems, and think architecturally.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;That shift is already happening.&lt;/p&gt;

&lt;p&gt;Feels good to finally start writing again.&lt;/p&gt;




</description>
      <category>ai</category>
      <category>programming</category>
      <category>career</category>
      <category>learning</category>
    </item>
    <item>
      <title>🚀 From Excel to Web App: How I Built a Smart Assignment Management System for 125 Students</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sun, 12 Oct 2025 06:46:38 +0000</pubDate>
      <link>https://dev.to/anticoder03/from-excel-to-web-app-how-i-built-a-smart-assignment-management-system-for-125-students-3jac</link>
      <guid>https://dev.to/anticoder03/from-excel-to-web-app-how-i-built-a-smart-assignment-management-system-for-125-students-3jac</guid>
      <description>&lt;h2&gt;
  
  
  👋 Introduction
&lt;/h2&gt;

&lt;p&gt;Hey everyone! I’m &lt;strong&gt;Ashish&lt;/strong&gt;, an &lt;strong&gt;MCA student&lt;/strong&gt; — and, like most developers, I can’t resist turning simple problems into full-on coding projects. 😅&lt;/p&gt;

&lt;p&gt;This semester, my &lt;strong&gt;Python professor&lt;/strong&gt; gave me a new role:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You’ll be the Python subject representative. Help manage assignments and track student progress.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounds easy, right? Well, not quite.&lt;/p&gt;

&lt;p&gt;My actual task was to &lt;strong&gt;monitor assignment progress for all 125 students&lt;/strong&gt;, help the professor &lt;strong&gt;communicate updates to the class&lt;/strong&gt;, and ensure that everyone’s &lt;strong&gt;assignments were properly submitted and tracked&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The professor suggested the old-school route —&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Just keep it all in an Excel sheet.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But come on... I’m a developer. Why settle for spreadsheets when I can build something better?&lt;/p&gt;

&lt;p&gt;So, I decided to &lt;strong&gt;turn this Excel nightmare into a full-fledged web application&lt;/strong&gt; that could handle everything — tracking, monitoring, communication, and analytics — all in one place.&lt;/p&gt;

&lt;p&gt;That’s how &lt;strong&gt;Assignment Checklist&lt;/strong&gt; was born. 🎯&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Idea: Turning Manual Management into a Smart Web App
&lt;/h2&gt;

&lt;p&gt;What started as a “track assignments” task quickly turned into something much bigger:&lt;br&gt;
A complete &lt;strong&gt;Assignment Management and Progress Monitoring System&lt;/strong&gt; for the entire class.&lt;/p&gt;

&lt;p&gt;The goal?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Make it easy for teachers and reps to manage assignments, monitor student performance, and communicate updates efficiently.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No Excel sheets. No manual status updates. Just clean, digital automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 What Is “Assignment Checklist”?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Assignment Checklist&lt;/strong&gt; is a &lt;strong&gt;web application&lt;/strong&gt; designed for &lt;strong&gt;teachers, subject representatives, and students&lt;/strong&gt; to simplify assignment tracking, class communication, and progress monitoring.&lt;/p&gt;

&lt;p&gt;Here’s what it can do:&lt;/p&gt;




&lt;h3&gt;
  
  
  ✨ Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🗂️ &lt;strong&gt;Assignment Management&lt;/strong&gt;&lt;br&gt;
Create, edit, and organize assignments with due dates and descriptions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;👨‍🎓 &lt;strong&gt;Student Progress Tracking (125+ Students)&lt;/strong&gt;&lt;br&gt;
Track every student’s assignment status — from &lt;em&gt;Uncompleted&lt;/em&gt; to &lt;em&gt;Pending&lt;/em&gt; to &lt;em&gt;Completed&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📢 &lt;strong&gt;Professor–Class Communication&lt;/strong&gt;&lt;br&gt;
The app helps professors and class reps share important updates or reminders directly — no separate WhatsApp chaos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📊 &lt;strong&gt;Live Analytics Dashboard&lt;/strong&gt;&lt;br&gt;
Visualize class-wide progress with interactive &lt;strong&gt;Chart.js&lt;/strong&gt; graphs and summaries.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔒 &lt;strong&gt;Secure Editing&lt;/strong&gt;&lt;br&gt;
Only authorized users (professors or reps) can modify student records or mark completion.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📈 &lt;strong&gt;Reports &amp;amp; Insights&lt;/strong&gt;&lt;br&gt;
Get instant overviews of overall performance — who’s on track and who’s falling behind.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💬 &lt;strong&gt;Simplified Collaboration&lt;/strong&gt;&lt;br&gt;
Makes it easy for the professor and subject rep to coordinate and track class-wide assignment flow.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PHP (Vanilla)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Backend logic and data handling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MySQL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Database for assignments &amp;amp; student records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Bootstrap 5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Clean, responsive user interface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Chart.js&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Interactive charts for progress tracking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FontAwesome&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Icons to improve UI clarity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HTML/CSS/JavaScript&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frontend structure and interactivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;XAMPP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local development and testing environment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;I kept it simple, lightweight, and deployable on any basic server — perfect for quick academic tools.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ⚙️ Architecture &amp;amp; Documentation (Coming Soon!)
&lt;/h2&gt;

&lt;p&gt;To make it scalable and maintainable, I’m documenting everything, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧾 &lt;strong&gt;DFD (Data Flow Diagram)&lt;/strong&gt; – Data movement between modules&lt;/li&gt;
&lt;li&gt;🧱 &lt;strong&gt;ER Diagram&lt;/strong&gt; – Entity relationships for assignments, students, and subjects&lt;/li&gt;
&lt;li&gt;🎭 &lt;strong&gt;Use Case Diagram&lt;/strong&gt; – Role-based system interactions&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;API Documentation&lt;/strong&gt; – For potential integration with student/teacher login systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All documentation will soon be available on the GitHub repo.&lt;/p&gt;




&lt;h2&gt;
  
  
  🖥️ Preview &amp;amp; Source Code
&lt;/h2&gt;

&lt;p&gt;📂 &lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/Anticoder03/assignment-management" rel="noopener noreferrer"&gt;Assignment Checklist Web App&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐&lt;strong&gt;Preview(Static)&lt;/strong&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%2Fwmrlc26jtgdaxj2aekgj.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%2Fwmrlc26jtgdaxj2aekgj.png" alt=" " width="800" height="472"&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%2Fbkq447sdhnkmn2pl17oi.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%2Fbkq447sdhnkmn2pl17oi.png" alt=" " width="800" height="368"&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%2F0m2y16miqk2oqe0i0cds.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%2F0m2y16miqk2oqe0i0cds.png" alt=" " width="800" height="260"&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%2Fv6ze7vq0ami27otb1wa3.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%2Fv6ze7vq0ami27otb1wa3.png" alt=" " width="800" height="389"&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%2Fl60qjk0aptsazix1gam5.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%2Fl60qjk0aptsazix1gam5.png" alt=" " width="800" height="284"&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%2Fbpo2wc3cllxn3a1kfrve.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%2Fbpo2wc3cllxn3a1kfrve.png" alt=" " width="800" height="503"&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%2Fak0w7snyhvye571eid25.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%2Fak0w7snyhvye571eid25.png" alt=" " width="800" height="560"&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%2F1o1ruwtmbt4udm3nthoq.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%2F1o1ruwtmbt4udm3nthoq.png" alt=" " width="800" height="279"&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%2Fuzlv7pf1qozbddcdf8w4.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%2Fuzlv7pf1qozbddcdf8w4.png" alt=" " width="800" height="394"&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%2Frxpjtosejkdwy50u4hkv.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%2Frxpjtosejkdwy50u4hkv.png" alt=" " width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Preview:&lt;/strong&gt;&lt;br&gt;
Coming soon! (Will update once deployed publicly.)&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Behind the Scenes: What I Learned
&lt;/h2&gt;

&lt;p&gt;This project taught me way more than I expected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Excel doesn’t scale&lt;/strong&gt; — especially for 125 students 😅&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI/UX matters&lt;/strong&gt; — teachers don’t want to “figure things out”; it has to &lt;em&gt;just work&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database design is the backbone&lt;/strong&gt; — normalization and relationships made progress tracking smooth&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation saves time&lt;/strong&gt; — what took hours in Excel now happens instantly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration needs structure&lt;/strong&gt; — the app became the single source of truth for all assignment updates&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💬 Future Plans
&lt;/h2&gt;

&lt;p&gt;I’m currently expanding &lt;strong&gt;Assignment Checklist&lt;/strong&gt; into something even more powerful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔐 &lt;strong&gt;User Authentication:&lt;/strong&gt; Separate dashboards for teachers, reps, and students&lt;/li&gt;
&lt;li&gt;📱 &lt;strong&gt;Mobile-First UI:&lt;/strong&gt; Redesign using Tailwind CSS for smoother mobile access&lt;/li&gt;
&lt;li&gt;📬 &lt;strong&gt;Automated Notifications:&lt;/strong&gt; Email/SMS alerts for pending or upcoming assignments&lt;/li&gt;
&lt;li&gt;📤 &lt;strong&gt;PDF Reports:&lt;/strong&gt; One-click export of student progress for professors&lt;/li&gt;
&lt;li&gt;☁️ &lt;strong&gt;Cloud Deployment:&lt;/strong&gt; Online hosting for real-time access&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 Contributing
&lt;/h2&gt;

&lt;p&gt;I’d love your thoughts, feedback, or pull requests!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fork the repo&lt;/li&gt;
&lt;li&gt;Create your feature branch&lt;/li&gt;
&lt;li&gt;Submit a PR with your improvement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also connect directly via &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;br&gt;
If you like the project, &lt;strong&gt;leave a ⭐ on the repo&lt;/strong&gt; — it really helps!&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 About the Author
&lt;/h2&gt;

&lt;p&gt;Hey, I’m &lt;strong&gt;Ashish (aka &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;Anticoder03&lt;/a&gt;)&lt;/strong&gt; — a coding enthusiast, anime lover, and someone who believes in building solutions that make everyday life easier.&lt;/p&gt;

&lt;p&gt;I enjoy taking small, repetitive academic tasks and turning them into creative coding projects. This one’s a perfect example — what started as “track Excel assignments” became a real working system that helps 125 students and my professor every day.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;💡 “If a task feels repetitive, automate it. If it feels boring, make it creative.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🏁 Final Words
&lt;/h2&gt;

&lt;p&gt;This project started as a small helper tool for my class, but it became something way bigger — a digital system that connects &lt;strong&gt;professors, reps, and students&lt;/strong&gt;, making academic coordination smoother and more efficient.&lt;/p&gt;

&lt;p&gt;If you’re a student, rep, or teacher tired of manually updating spreadsheets, take it from me — building your own web app might just be the best learning experience you’ll have this semester.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thanks for reading! ❤️&lt;/strong&gt;&lt;br&gt;
Let’s connect and collaborate —&lt;br&gt;
🔗 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub: Anticoder03&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧩 TL;DR
&lt;/h3&gt;

&lt;p&gt;Built a full web app to replace Excel-based assignment tracking and class communication for &lt;strong&gt;125 students&lt;/strong&gt; using PHP, MySQL, and Bootstrap — complete with analytics, reports, and secure access.&lt;/p&gt;

&lt;p&gt;Because… &lt;strong&gt;developers don’t just manage data — they build systems.&lt;/strong&gt; 💪&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>database</category>
      <category>learning</category>
    </item>
    <item>
      <title>🚀 Build Your Own Anime Explorer with HTML, Tailwind &amp; the Jikan API!</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Thu, 26 Jun 2025 05:25:19 +0000</pubDate>
      <link>https://dev.to/anticoder03/build-your-own-anime-explorer-with-html-tailwind-the-jikan-api-4jkd</link>
      <guid>https://dev.to/anticoder03/build-your-own-anime-explorer-with-html-tailwind-the-jikan-api-4jkd</guid>
      <description>&lt;p&gt;Are you an anime fan &lt;em&gt;and&lt;/em&gt; a web dev? Why not combine both and build something epic? 💥&lt;/p&gt;

&lt;p&gt;Introducing &lt;strong&gt;AnimeForge&lt;/strong&gt; – a fully responsive web app that shows top-rated anime, movies, and even lets you search and view detailed info using the &lt;strong&gt;Jikan API&lt;/strong&gt; (MyAnimeList Unofficial API). This project is built with &lt;strong&gt;HTML, Tailwind CSS, and JavaScript&lt;/strong&gt; – no frameworks, just clean code and otaku energy! ⚔️👨‍💻&lt;/p&gt;




&lt;h2&gt;
  
  
  🌟 Features
&lt;/h2&gt;

&lt;p&gt;✅ Explore top-rated anime series&lt;br&gt;&lt;br&gt;
✅ Browse anime movies&lt;br&gt;&lt;br&gt;
✅ View full anime details (genre, episodes, rating, synopsis, etc.)&lt;br&gt;&lt;br&gt;
✅ Dark / Light Theme Toggle 🌗&lt;br&gt;&lt;br&gt;
✅ Live Search functionality 🔍&lt;br&gt;&lt;br&gt;
✅ Responsive layout with Tailwind CSS&lt;br&gt;&lt;br&gt;
✅ Built with 🧠 and ❤️ by a fellow otaku&lt;/p&gt;


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

&lt;ul&gt;
&lt;li&gt;📄 &lt;strong&gt;HTML5&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Tailwind CSS&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔥 &lt;strong&gt;Vanilla JavaScript&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;📡 &lt;strong&gt;&lt;a href="https://jikan.moe/" rel="noopener noreferrer"&gt;Jikan API&lt;/a&gt;&lt;/strong&gt; – for anime data&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🖼️ Screenshots
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;All UI is responsive and works great on mobile &amp;amp; desktop.&lt;/p&gt;
&lt;/blockquote&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%2Fcem9qp3kch5pk06nhoi2.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%2Fcem9qp3kch5pk06nhoi2.png" alt="Home Page" width="800" height="424"&gt;&lt;/a&gt;&lt;br&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%2Fz3ur0qo8crg1kztsgomq.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%2Fz3ur0qo8crg1kztsgomq.png" alt="Home Page 2" width="800" height="348"&gt;&lt;/a&gt;&lt;br&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%2Fe11b12d9et7sqy4i4eom.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%2Fe11b12d9et7sqy4i4eom.png" alt="About Page" width="800" height="242"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FAnticoder03%2FAnimeForge%2Frefs%2Fheads%2Fmain%2Fscreenshort%2Fanime-1.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%2Fraw.githubusercontent.com%2FAnticoder03%2FAnimeForge%2Frefs%2Fheads%2Fmain%2Fscreenshort%2Fanime-1.png" alt="Anime Series" width="800" height="424"&gt;&lt;/a&gt;&lt;br&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%2Fjlkvub0oapw4is44pk9x.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%2Fjlkvub0oapw4is44pk9x.png" alt="Anime Movies" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  📂 Project Structure
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;AnimeForge/
├── index.html             &lt;span class="c"&gt;# Top Anime Page&lt;/span&gt;
├── movies.html            &lt;span class="c"&gt;# Movie Page&lt;/span&gt;
├── anime.html             &lt;span class="c"&gt;# Anime Details Page&lt;/span&gt;
├── about.html             &lt;span class="c"&gt;# About Me Page&lt;/span&gt;
├── theme_change.js        &lt;span class="c"&gt;# Dark mode logic&lt;/span&gt;
├── screenshorst/          &lt;span class="c"&gt;# Screenshots&lt;/span&gt;
└── README.md / LICENSE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🔧 How It Works
&lt;/h2&gt;

&lt;p&gt;We use the &lt;a href="https://jikan.moe/" rel="noopener noreferrer"&gt;Jikan REST API&lt;/a&gt; to fetch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📺 Top anime series → &lt;code&gt;https://api.jikan.moe/v4/top/anime?type=tv&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;🎬 Top anime movies → &lt;code&gt;https://api.jikan.moe/v4/anime?type=movie&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;🔍 Search anime by name → &lt;code&gt;https://api.jikan.moe/v4/anime?q={search}&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All cards are dynamically generated using plain JS DOM magic. Clicking on a card opens &lt;code&gt;anime.html?id=XXXX&lt;/code&gt;, fetches full info, and renders a beautiful detail view.&lt;/p&gt;


&lt;h2&gt;
  
  
  💡 Live Demo
&lt;/h2&gt;

&lt;p&gt;🚀 &lt;a href="https://animeforge.netlify.app/" rel="noopener noreferrer"&gt;https://animeforge.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📁 Or just clone it and run locally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Anticoder03/animeforge.git
&lt;span class="nb"&gt;cd &lt;/span&gt;animeforge
open index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🙋‍♂️ About the Developer
&lt;/h2&gt;

&lt;p&gt;Hey! I'm &lt;strong&gt;Ashish Prajapati&lt;/strong&gt; – a full-stack learner, anime lover, and terminal ninja from 🇮🇳&lt;br&gt;
Built this as a fun side project to combine code + anime 👨‍💻⚔️&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐙 GitHub: &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;Anticoder03&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📸 Instagram: &lt;a href="https://www.instagram.com/ashiah03_prajapati/" rel="noopener noreferrer"&gt;@ashiah03_prajapati&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Licensed under the MIT License. Use it, remix it, share it freely 🪄&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Anime taught me never to give up. Code made me unstoppable.”&lt;/em&gt; – &lt;strong&gt;Ashish (Anticoder03)&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ✨ Let’s Connect!
&lt;/h2&gt;

&lt;p&gt;💬 Drop a comment if you liked it or want more anime-themed dev content.&lt;br&gt;
💡 Thinking of building a React/GSAP version next — who’s in?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>api</category>
      <category>css</category>
    </item>
    <item>
      <title>🚀 Chrome 135 Brings `::scroll-button()` and `::scroll-marker()` — Say Goodbye to JavaScript Carousels</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Fri, 13 Jun 2025 05:00:18 +0000</pubDate>
      <link>https://dev.to/anticoder03/chrome-135-brings-scroll-button-and-scroll-marker-say-goodbye-to-javascript-529c</link>
      <guid>https://dev.to/anticoder03/chrome-135-brings-scroll-button-and-scroll-marker-say-goodbye-to-javascript-529c</guid>
      <description>&lt;p&gt;With the release of &lt;strong&gt;Chrome 135&lt;/strong&gt;, web developers finally get access to two powerful new pseudo-elements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;::scroll-button()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;::scroll-marker()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These pseudo-elements unlock &lt;strong&gt;fully functional carousels&lt;/strong&gt;, sliders, and scrollable components without a single line of JavaScript.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; These new features make interactive scroll experiences &lt;em&gt;accessible&lt;/em&gt;, &lt;em&gt;stylable&lt;/em&gt;, and &lt;em&gt;keyboard-friendly&lt;/em&gt; — all from your CSS file.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🆕 What Are &lt;code&gt;::scroll-button()&lt;/code&gt; and &lt;code&gt;::scroll-marker()&lt;/code&gt;?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;::scroll-button()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;This pseudo-element renders &lt;strong&gt;scroll control buttons&lt;/strong&gt; — left/right or up/down depending on the scroll direction. You can style them like any element, and users can interact with them out of the box.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;::scroll-marker()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Think of this like scrollable radio dots — showing the &lt;strong&gt;position of each scroll snap point&lt;/strong&gt;. They’re interactive, accessible, and visual indicators of your scroll progress.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why They're a Big Deal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Automatically accessible&lt;/strong&gt; (screen reader + keyboard support)&lt;/li&gt;
&lt;li&gt;✅ Pairs with &lt;code&gt;scroll-snap-type&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;No JavaScript needed&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;✅ Fully stylable using CSS&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 Real-World Carousel Example (JavaScript Fallback)
&lt;/h2&gt;

&lt;p&gt;Here’s a simple JavaScript-based carousel (for legacy support), which will soon be &lt;strong&gt;entirely CSS-driven&lt;/strong&gt; using &lt;code&gt;::scroll-button()&lt;/code&gt; and &lt;code&gt;::scroll-marker()&lt;/code&gt; in Chrome 135+:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://clever-cocada-9cd821.netlify.app/" rel="noopener noreferrer"&gt;Live Demo Here&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Full working demo with scroll + JS --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"carousel"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- Slides --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;[Full code example here... already shown above]&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 What This Will Look Like in Pure CSS
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.scroll-container&lt;/span&gt;&lt;span class="nd"&gt;::scroll-button&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;start&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&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="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.scroll-container&lt;/span&gt;&lt;span class="nd"&gt;::scroll-button&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;end&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&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="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-50%&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;No JavaScript. No event listeners. Just drop in a &lt;code&gt;scroll-snap&lt;/code&gt; container, and the browser handles it.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Why This Matters
&lt;/h2&gt;

&lt;p&gt;Using &lt;code&gt;::scroll-button()&lt;/code&gt; and &lt;code&gt;::scroll-marker()&lt;/code&gt; means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Native accessibility (no ARIA hoops to jump through)&lt;/li&gt;
&lt;li&gt;✅ Built-in keyboard support&lt;/li&gt;
&lt;li&gt;✅ Zero JS needed for sliders&lt;/li&gt;
&lt;li&gt;✅ Smaller bundle sizes, better perf&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 Browser Support (as of Chrome 135)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Browser&lt;/th&gt;
&lt;th&gt;Support&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;✅ Chrome 135+&lt;/td&gt;
&lt;td&gt;Full&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;⚠️ Edge (Chromium)&lt;/td&gt;
&lt;td&gt;Behind flag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;❌ Firefox&lt;/td&gt;
&lt;td&gt;Not yet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;❌ Safari&lt;/td&gt;
&lt;td&gt;Not yet&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To enable the feature in Chrome manually:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chrome://flags/#enable-experimental-web-platform-features
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧠 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This is a &lt;em&gt;huge leap&lt;/em&gt; for native web components. Once Firefox and Safari catch up, we’ll finally have fully accessible carousels and sliders &lt;strong&gt;without needing bloated libraries or JS hacks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Until then — &lt;strong&gt;progressive enhancement&lt;/strong&gt; is your best friend.&lt;/p&gt;




&lt;h2&gt;
  
  
  🙋‍♂️ Let’s Talk!
&lt;/h2&gt;

&lt;p&gt;What would &lt;em&gt;you&lt;/em&gt; build with &lt;code&gt;::scroll-button()&lt;/code&gt;?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A portfolio carousel?&lt;/li&gt;
&lt;li&gt;A product slider?&lt;/li&gt;
&lt;li&gt;An onboarding walkthrough?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Should developers &lt;strong&gt;ditch JS sliders forever&lt;/strong&gt;? Or is it too early?&lt;/p&gt;




&lt;p&gt;👉 &lt;strong&gt;Try the full responsive carousel demo:&lt;/strong&gt;&lt;br&gt;
🔗 &lt;a href="https://clever-cocada-9cd821.netlify.app/" rel="noopener noreferrer"&gt;https://clever-cocada-9cd821.netlify.app/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Follow me for more frontend deep dives!&lt;/strong&gt;&lt;br&gt;
#CSS #HTML #Chrome135 #Frontend #WebDev #Accessibility #scrollbutton #nativecarousel #DevTo&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>🧾 Build Your Own Modern Resume Builder with HTML, Tailwind CSS &amp; JavaScript</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sun, 04 May 2025 04:33:12 +0000</pubDate>
      <link>https://dev.to/anticoder03/build-your-own-modern-resume-builder-with-html-tailwind-css-javascript-3fk1</link>
      <guid>https://dev.to/anticoder03/build-your-own-modern-resume-builder-with-html-tailwind-css-javascript-3fk1</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou3gvd3kk8gh88x6o6tn.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%2Fou3gvd3kk8gh88x6o6tn.png" alt="Image description" width="800" height="1200"&gt;&lt;/a&gt;&lt;br&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%2Fw8ncuf8b4an9ltt1hmkm.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%2Fw8ncuf8b4an9ltt1hmkm.png" alt="Image description" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a professional resume shouldn't feel like a daunting task. That’s why I built a sleek, responsive &lt;strong&gt;Resume Builder&lt;/strong&gt; that allows anyone to craft beautiful resumes in minutes. Whether you’re a student, developer, or job-seeker — this tool is designed for you!&lt;/p&gt;




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

&lt;p&gt;✅ &lt;strong&gt;4 Unique Templates&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Form-based Input Interface&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;PDF Export Functionality&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Fully Responsive Design&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Tailwind-Powered UI&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Customizable &amp;amp; Open Source&lt;/strong&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; HTML5, Tailwind CSS, JavaScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF Library:&lt;/strong&gt; &lt;code&gt;html2pdf.js&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fonts:&lt;/strong&gt; Google Fonts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; GitHub Pages&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Why I Built This
&lt;/h2&gt;

&lt;p&gt;I noticed many resume builders out there are either too complex or behind a paywall. So I asked myself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why not build something simple, stylish, and open-source?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that's exactly what I did — a free, modern resume builder anyone can use and customize.&lt;/p&gt;




&lt;h2&gt;
  
  
  🖼️ Available Templates
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sidebar Design&lt;/strong&gt; — Neatly organized layout with personal info on the side.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Header Design&lt;/strong&gt; — Eye-catching header with a clean two-column format.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timeline Design&lt;/strong&gt; — Great for showcasing experience with a vertical timeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Card Design&lt;/strong&gt; — Minimal card layout with hover animations and clean typography.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📥 How It Works (Under the Hood)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🧾 1. User Input
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"resumeForm"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Full Name"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- More fields here --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🎨 2. Template Selection Logic
&lt;/h3&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;template&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;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;template&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`templates/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.html?&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="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  📄 3. PDF Generation
&lt;/h3&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;opt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;resume.pdf&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;image&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;jpeg&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;quality&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.98&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;html2canvas&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;scale&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;jsPDF&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;unit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;in&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;letter&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;orientation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;portrait&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;html2pdf&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;opt&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="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;resume-content&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nf"&gt;save&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📱 Responsive Design Sample
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.resume-container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;8.5in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;min-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;11in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="nb"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0.1&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;
  
  
  🚀 Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Anticoder03/resume-builder.git
&lt;span class="nb"&gt;cd &lt;/span&gt;resume-builder
open index.html  &lt;span class="c"&gt;# or just double click the file&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, just fill the form and generate your PDF!&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Development Process
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Planning Phase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Defined user needs &amp;amp; ideal features&lt;/li&gt;
&lt;li&gt;Created mockups &amp;amp; UI flows&lt;/li&gt;
&lt;li&gt;Designed responsive breakpoints&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Development Phase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Built input form with Tailwind CSS&lt;/li&gt;
&lt;li&gt;Added 4 switchable templates&lt;/li&gt;
&lt;li&gt;Implemented &lt;code&gt;html2pdf.js&lt;/code&gt; for download&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Testing &amp;amp; Optimization
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cross-browser &amp;amp; mobile tested&lt;/li&gt;
&lt;li&gt;Print styles refined&lt;/li&gt;
&lt;li&gt;PDF quality tuned&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Challenges &amp;amp; Solutions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🐞 PDF Rendering Glitches
&lt;/h3&gt;

&lt;p&gt;Fixed by optimizing &lt;code&gt;html2canvas&lt;/code&gt; settings and using &lt;code&gt;useCORS&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  📱 Mobile Responsiveness
&lt;/h3&gt;

&lt;p&gt;Used Tailwind's responsive classes and adjusted layout with breakpoints.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧪 Form Data Validation
&lt;/h3&gt;

&lt;p&gt;Implemented custom JS validation and feedback messages.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎭 Smooth Template Switching
&lt;/h3&gt;

&lt;p&gt;Used fade transitions and lightweight rendering logic.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔮 Future Plans
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dark Mode&lt;/li&gt;
&lt;li&gt;More Templates&lt;/li&gt;
&lt;li&gt;Multi-language Support&lt;/li&gt;
&lt;li&gt;AI-Powered Resume Suggestions&lt;/li&gt;
&lt;li&gt;Backend for Save/Edit functionality&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📚 Key Learnings
&lt;/h2&gt;

&lt;p&gt;✅ Mastered responsive design &amp;amp; media queries&lt;br&gt;
✅ Gained practical experience with &lt;code&gt;html2pdf.js&lt;/code&gt;&lt;br&gt;
✅ Understood how to collect, validate, and pass form data via query params&lt;br&gt;
✅ Refined UI/UX practices for web apps&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Useful Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🔗 &lt;a href="https://github.com/Anticoder03/resume-builder" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://resume-builder-anticoder03.netlify.app/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🙌 Final Words
&lt;/h2&gt;

&lt;p&gt;This project has been a labor of love — merging functionality with elegant design. I hope it helps you or inspires your next side project!&lt;/p&gt;

&lt;p&gt;If you found this helpful, consider giving it a ⭐ on GitHub or sharing it with friends.&lt;/p&gt;

&lt;p&gt;Feel free to drop feedback or connect on &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>opensource</category>
    </item>
    <item>
      <title>✨ Visualizing a Feeling Through Particles, Anime.js, and Dreamy Backgrounds ✨</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 26 Apr 2025 18:28:44 +0000</pubDate>
      <link>https://dev.to/anticoder03/visualizing-a-feeling-through-particles-animejs-and-dreamy-backgrounds-i1d</link>
      <guid>https://dev.to/anticoder03/visualizing-a-feeling-through-particles-animejs-and-dreamy-backgrounds-i1d</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;br&gt;&lt;br&gt;
Today I’m not just sharing a project — I’m sharing a &lt;strong&gt;feeling&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
A feeling I tried to translate into visuals: ✨&lt;strong&gt;motion, freedom, softness, a dream.&lt;/strong&gt;✨&lt;/p&gt;

&lt;p&gt;Through moving particles, floating animations, and soft color shifts, I tried to capture what I often feel — a quiet, slow dance between energy and peace. 🕊️&lt;/p&gt;

&lt;p&gt;This feeling was inspired by a story that really touched my heart — &lt;strong&gt;an emotion I carried from the anime &lt;em&gt;Darling in the Franxx&lt;/em&gt;.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
It’s not a direct recreation — it’s more like the echo of what I felt while watching it: the hope, the loneliness, the gentle freedom of dreams in the sky.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎯 What This Represents for Me
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Particles&lt;/strong&gt; are my scattered thoughts, moving gently, sometimes colliding, always alive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flying birds&lt;/strong&gt; are my dreams — drifting slowly across endless skies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime.js animations&lt;/strong&gt; of hearts, wings, feathers — are pieces of emotion that keep moving, floating, never fully still.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smooth scrolling&lt;/strong&gt; through soft background changes feels like the way emotions flow — not in sudden bursts, but gradual, natural, effortless.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn’t just a page with effects.&lt;br&gt;&lt;br&gt;
It's the &lt;strong&gt;visual version&lt;/strong&gt; of something inside me.&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚙️ How I Built My Feeling (Technologies Used)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML5&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS3&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript (ES6)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://vincentgarreau.com/particles.js/" rel="noopener noreferrer"&gt;Particles.js&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://animejs.com/" rel="noopener noreferrer"&gt;Anime.js&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intersection Observer API&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Smooth Scroll Behavior&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📜 Small Glimpses of the Code
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Particles Moving Like Gentle Chaos
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;particlesJS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;particles-js&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="na"&gt;particles&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;number&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#ff6b6b&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;shape&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;circle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;move&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;speed&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;random&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;The particles aren't random. They're lively, yet peaceful — like a mind daydreaming.&lt;/p&gt;


&lt;h3&gt;
  
  
  A Heart That Breathes
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.heart&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;:&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="mf"&gt;1.2&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="na"&gt;duration&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="na"&gt;loop&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="na"&gt;easing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;easeInOutQuad&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This little animation is the way my heart sometimes feels — expanding with hope, shrinking with fear, expanding again.&lt;/p&gt;


&lt;h3&gt;
  
  
  Soft Transitions Between Feelings (Sections)
&lt;/h3&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;observer&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;IntersectionObserver&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;entries&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;entries&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;entry&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;entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isIntersecting&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;colors&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;first&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#1a0f2e&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;second&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#2d1b4e&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;third&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#4a1942&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;fourth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#6b2c70&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;fifth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#8e3a8e&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
      &lt;span class="p"&gt;};&lt;/span&gt;
      &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;backgroundColor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&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="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;threshold&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.3&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Each background color is a different emotion for me. A small shift, but meaningful.&lt;/p&gt;


&lt;h3&gt;
  
  
  A Dream Floating Across the Sky (Flying Bird)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&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;animateBird&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mf"&gt;0.5&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;yOffset&lt;/span&gt; &lt;span class="o"&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;sin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.05&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;bird&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;transform&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`translateX(&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;birdPosition&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;px) translateY(&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;yOffset&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;px)`&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;birdPosition&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerWidth&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nf"&gt;requestAnimationFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;animateBird&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;animateBird&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Just like how some dreams move — a little lost, a little aimless, but always moving.&lt;/p&gt;


&lt;h2&gt;
  
  
  📸 A Glimpse Into My Dream
&lt;/h2&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/LEEjRJq?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;[Link to the Feeling] : (&lt;a href="https://my-dream-story.netlify.app/" rel="noopener noreferrer"&gt;https://my-dream-story.netlify.app/&lt;/a&gt;)&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 What I Felt While Building This
&lt;/h2&gt;

&lt;p&gt;Honestly?  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calmness.
&lt;/li&gt;
&lt;li&gt;Nostalgia.
&lt;/li&gt;
&lt;li&gt;A little sadness.
&lt;/li&gt;
&lt;li&gt;A lot of peace.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wasn’t building a "project" this time. I was painting an emotion with code. 🎨&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Code&lt;/strong&gt; became my &lt;strong&gt;canvas&lt;/strong&gt;, and these tiny interactions became my little world for a while.&lt;/p&gt;

&lt;p&gt;And somewhere in this creation,&lt;br&gt;&lt;br&gt;
I kept thinking about the story of &lt;strong&gt;Zero Two and Hiro&lt;/strong&gt;, the loneliness they faced, the skies they dreamed about —&lt;br&gt;&lt;br&gt;
and how &lt;em&gt;even when everything felt heavy&lt;/em&gt;, their dreams always found a way to float. 🕊️&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 If You Ever Feel Like Coding a Feeling...
&lt;/h2&gt;

&lt;p&gt;Here’s my advice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don’t worry about "making it perfect."&lt;/li&gt;
&lt;li&gt;Focus on how it &lt;em&gt;feels&lt;/em&gt;, not just how it &lt;em&gt;looks&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Let animations breathe.&lt;/li&gt;
&lt;li&gt;Let your emotions guide the color palette, the speed, the flow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because &lt;strong&gt;sometimes, code isn’t logic — it’s art.&lt;/strong&gt; ✨&lt;/p&gt;




&lt;h2&gt;
  
  
  🎉 Thank You for Reading
&lt;/h2&gt;

&lt;p&gt;This was deeply personal for me.&lt;br&gt;&lt;br&gt;
If you’ve ever felt something you couldn’t put into words — maybe try putting it into code. It’s surprisingly healing. 💖&lt;/p&gt;

&lt;p&gt;Would love to hear if you've ever built something emotional too!&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Stay dreamy, stay coding.&lt;/em&gt;&lt;/strong&gt; 🌌&lt;/p&gt;
&lt;/blockquote&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Inspired in spirit by the anime "Darling in the Franxx" — to the dreamers who keep flying, no matter what.&lt;/em&gt; 🌸&lt;/p&gt;
&lt;/blockquote&gt;




</description>
    </item>
    <item>
      <title>Day 7: Animated Landing Page — Interactive Product Showcase 🚀</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 26 Apr 2025 10:44:14 +0000</pubDate>
      <link>https://dev.to/anticoder03/day-7-animated-landing-page-interactive-product-showcase-1pf6</link>
      <guid>https://dev.to/anticoder03/day-7-animated-landing-page-interactive-product-showcase-1pf6</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;br&gt;&lt;br&gt;
Today is &lt;strong&gt;Day 7&lt;/strong&gt; of my creative animation journey.&lt;br&gt;&lt;br&gt;
I'm super excited to share what I worked on: an &lt;strong&gt;Animated Landing Page&lt;/strong&gt; concept that utilizes &lt;strong&gt;ScrollTriggers&lt;/strong&gt;, &lt;strong&gt;Anime.js timelines&lt;/strong&gt;, &lt;strong&gt;staggered animations&lt;/strong&gt;, and &lt;strong&gt;interactive effects&lt;/strong&gt;!&lt;/p&gt;


&lt;h2&gt;
  
  
  🌟 Project Concept
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Theme:&lt;/strong&gt; &lt;em&gt;Furniture Product Launch / Furniture Agency Showcase&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Goal:&lt;/strong&gt; To create an immersive landing page experience using scroll-based animations, interactive hover effects, and a fluid timeline of motion that draws users deeper into the collection.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎨 Design Layout &amp;amp; Animation Flow
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔹 Header Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hero Background:&lt;/strong&gt; Dynamic image showcasing elegant furniture pieces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Animation:&lt;/strong&gt; Tagline and brand name animate in with smooth fades and staggered text reveals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactivity:&lt;/strong&gt; Hovering over the furniture slightly zooms the image for a lively feel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTA Button:&lt;/strong&gt; "Explore Collection" appears with a subtle scaling animation.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Features Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3-Column Layout:&lt;/strong&gt; Highlighting key features like premium materials, craftsmanship, and customizable options.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Triggered Animation:&lt;/strong&gt; Each feature slides up into view with staggered motion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Icon Animations:&lt;/strong&gt; Icons related to each feature animate from different directions.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Product Showcase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Image Gallery:&lt;/strong&gt; Show different views or setups of the furniture in styled spaces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime Timeline:&lt;/strong&gt; A sequence where furniture items appear one after another as the user scrolls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hover Effects:&lt;/strong&gt; Slight zoom and tilt on hover for interactivity.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Testimonials Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Carousel of Testimonials:&lt;/strong&gt; Each review fades and slides in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typewriter Animation:&lt;/strong&gt; Customer quotes appear word-by-word for added anticipation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extra Info Popups:&lt;/strong&gt; Clicking on a testimonial reveals more details.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Footer Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smooth Slide-in:&lt;/strong&gt; Contact links and social icons animate in staggered fashion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Progress Animation:&lt;/strong&gt; A progress indicator animates based on how far down the page the user has scrolled.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  ⚡ Technical Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Triggers:&lt;/strong&gt; Different animations trigger when sections enter the viewport.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime.js Timeline:&lt;/strong&gt; Used to sequence multiple animations smoothly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Staggered Effects:&lt;/strong&gt; Texts, images, and links appear one after another.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactivity:&lt;/strong&gt; Hover and click animations to make the page feel alive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Design:&lt;/strong&gt; Works smoothly on mobile and desktop screens.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🛠️ Technologies Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTML, CSS, and JavaScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime.js&lt;/strong&gt; for powerful timeline-based animations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GSAP ScrollTrigger&lt;/strong&gt; &lt;em&gt;(optional for deeper scroll control)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📸 Sneak Peek
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Check out my live demo here:&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/ZYYJEwp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;


&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🚀 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Creating this landing page was a ton of fun!&lt;br&gt;&lt;br&gt;
Animating the furniture collection while keeping performance and creativity in balance taught me a lot about crafting immersive user experiences.&lt;/p&gt;

&lt;p&gt;Stay tuned for even more crazy ideas coming up in the next few days! 🎯&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thanks for checking it out! 🙌&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If you liked it or have feedback/suggestions, feel free to drop a comment.&lt;br&gt;&lt;br&gt;
Let's keep animating and making the web more magical! 🌈&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 Author
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ashish Prajapati&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
💼 &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;&lt;br&gt;
✍️ &lt;a href="https://dev.to/anticoder03"&gt;Dev.to Blog&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💻 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>codepen</category>
    </item>
  </channel>
</rss>
