<?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: mitup 365</title>
    <description>The latest articles on DEV Community by mitup 365 (@mitup_365_4f35a44e8e0c1c2).</description>
    <link>https://dev.to/mitup_365_4f35a44e8e0c1c2</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3407922%2F5a750c85-6157-4127-b612-dba6ec1f1146.jpg</url>
      <title>DEV Community: mitup 365</title>
      <link>https://dev.to/mitup_365_4f35a44e8e0c1c2</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mitup_365_4f35a44e8e0c1c2"/>
    <language>en</language>
    <item>
      <title>How to Build a Simple To-Do App with HTML, CSS, and JavaScript (Beginner Friendly)</title>
      <dc:creator>mitup 365</dc:creator>
      <pubDate>Sat, 02 Aug 2025 14:03:10 +0000</pubDate>
      <link>https://dev.to/mitup_365_4f35a44e8e0c1c2/how-to-build-a-simple-to-do-app-with-html-css-and-javascript-beginner-friendly-26n5</link>
      <guid>https://dev.to/mitup_365_4f35a44e8e0c1c2/how-to-build-a-simple-to-do-app-with-html-css-and-javascript-beginner-friendly-26n5</guid>
      <description>&lt;p&gt;👋 Introduction&lt;br&gt;
Are you just starting your journey into web development and wondering how to put your HTML, CSS, and JavaScript skills into practice?&lt;/p&gt;

&lt;p&gt;In this tutorial, we'll build a simple To-Do List App that allows users to:&lt;/p&gt;

&lt;p&gt;Add tasks&lt;/p&gt;

&lt;p&gt;Mark them as complete&lt;/p&gt;

&lt;p&gt;Delete them&lt;/p&gt;

&lt;p&gt;By the end of this project, you'll have a solid understanding of how to interact with the DOM, handle events, and write clean beginner-friendly JavaScript.&lt;/p&gt;

&lt;p&gt;Let’s dive in! 🧠💻&lt;/p&gt;

&lt;p&gt;🧱 Step 1: Setup Your HTML&lt;br&gt;
Create a new index.html file and add the following code:&lt;/p&gt;

&lt;p&gt;html&lt;br&gt;
Copy&lt;br&gt;
Edit&lt;br&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
  &lt;br&gt;
  Simple To-Do App&lt;br&gt;
  &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;br&gt;
    &lt;h1&gt;My To-Do List&lt;/h1&gt;
&lt;br&gt;
    &lt;br&gt;
    Add&lt;br&gt;
    &lt;ul id="taskList"&gt;&lt;/ul&gt;
&lt;br&gt;
  

&lt;p&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
🎨 Step 2: Add Some CSS&lt;br&gt;
Create a style.css file and add basic styles:&lt;/p&gt;

&lt;p&gt;css&lt;br&gt;
Copy&lt;br&gt;
Edit&lt;br&gt;
body {&lt;br&gt;
  font-family: Arial, sans-serif;&lt;br&gt;
  background: #f9f9f9;&lt;br&gt;
  display: flex;&lt;br&gt;
  justify-content: center;&lt;br&gt;
  margin-top: 50px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.container {&lt;br&gt;
  width: 300px;&lt;br&gt;
  background: white;&lt;br&gt;
  padding: 20px;&lt;br&gt;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);&lt;br&gt;
  border-radius: 8px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;input {&lt;br&gt;
  width: 70%;&lt;br&gt;
  padding: 8px;&lt;br&gt;
  margin-right: 5px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;button {&lt;br&gt;
  padding: 8px 12px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;ul {&lt;br&gt;
  list-style-type: none;&lt;br&gt;
  padding: 0;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;li {&lt;br&gt;
  background: #eee;&lt;br&gt;
  margin-top: 10px;&lt;br&gt;
  padding: 10px;&lt;br&gt;
  border-radius: 4px;&lt;br&gt;
  display: flex;&lt;br&gt;
  justify-content: space-between;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;li.completed {&lt;br&gt;
  text-decoration: line-through;&lt;br&gt;
  color: gray;&lt;br&gt;
}&lt;br&gt;
🧠 Step 3: Add JavaScript Logic&lt;br&gt;
Create a script.js file and paste this code:&lt;/p&gt;

&lt;p&gt;javascript&lt;br&gt;
Copy&lt;br&gt;
Edit&lt;br&gt;
const addBtn = document.getElementById('addTaskBtn');&lt;br&gt;
const taskInput = document.getElementById('taskInput');&lt;br&gt;
const taskList = document.getElementById('taskList');&lt;/p&gt;

&lt;p&gt;addBtn.addEventListener('click', () =&amp;gt; {&lt;br&gt;
  const taskText = taskInput.value.trim();&lt;br&gt;
  if (taskText === "") return;&lt;/p&gt;

&lt;p&gt;const li = document.createElement('li');&lt;br&gt;
  li.textContent = taskText;&lt;/p&gt;

&lt;p&gt;// Toggle complete on click&lt;br&gt;
  li.addEventListener('click', () =&amp;gt; {&lt;br&gt;
    li.classList.toggle('completed');&lt;br&gt;
  });&lt;/p&gt;

&lt;p&gt;// Right-click to delete&lt;br&gt;
  li.addEventListener('contextmenu', (e) =&amp;gt; {&lt;br&gt;
    e.preventDefault();&lt;br&gt;
    li.remove();&lt;br&gt;
  });&lt;/p&gt;

&lt;p&gt;taskList.appendChild(li);&lt;br&gt;
  taskInput.value = '';&lt;br&gt;
});&lt;br&gt;
✅ How It Works&lt;br&gt;
When the Add button is clicked:&lt;/p&gt;

&lt;p&gt;It reads the input value.&lt;/p&gt;

&lt;p&gt;Creates a new &lt;/p&gt;
&lt;li&gt; element.

&lt;p&gt;Adds two event listeners:&lt;/p&gt;

&lt;p&gt;Click to mark complete (toggle class).&lt;/p&gt;

&lt;p&gt;Right-click to delete.&lt;/p&gt;

&lt;p&gt;🧪 Demo (Optional)&lt;br&gt;
You can host this on CodePen, JSFiddle, or GitHub Pages for live preview. Here's an example:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.ipoderac.org/archixxx?" rel="noopener noreferrer"&gt;Live Demo on CodePen&lt;/a&gt; (replace with your own link)&lt;/p&gt;

&lt;p&gt;📌 Final Thoughts&lt;br&gt;
This simple app is great for beginners to:&lt;/p&gt;

&lt;p&gt;Learn DOM manipulation&lt;/p&gt;

&lt;p&gt;Understand event listeners&lt;/p&gt;

&lt;p&gt;Practice HTML/CSS structure&lt;/p&gt;

&lt;p&gt;You can improve it by:&lt;/p&gt;

&lt;p&gt;Adding task persistence using localStorage&lt;/p&gt;

&lt;p&gt;Adding due dates or priority&lt;/p&gt;

&lt;p&gt;Styling it with a CSS framework like Tailwind or Bootstrap&lt;/p&gt;


&lt;/li&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
