Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/innocent6303/to-do-list

๐Ÿš€ To-Do List App - A simple yet stylish To-Do List built with HTML, CSS, and JavaScript. Perfect for beginners to practice essential web development skills such as DOM manipulation, localStorage, and building responsive UIs.
https://github.com/innocent6303/to-do-list

codingforbeginners css dom-manipulation frontenddevelopment html html5 javascript javascriptforbeginners localstorage responsive-web-design todolist webdevelopment

Last synced: 18 days ago
JSON representation

๐Ÿš€ To-Do List App - A simple yet stylish To-Do List built with HTML, CSS, and JavaScript. Perfect for beginners to practice essential web development skills such as DOM manipulation, localStorage, and building responsive UIs.

Awesome Lists containing this project

README

        

# ๐Ÿ“ To-Do List Application

Welcome to the **To-Do List Application** repository! This project is a simple yet stylish to-do list created using **HTML**, **CSS**, and **JavaScript**. Itโ€™s perfect for beginners to learn about web development concepts like **DOM manipulation**, **localStorage**, and responsive design.

---

## ๐ŸŒŸ Features
- **Add New Tasks:** Easily add tasks to your to-do list using the input field.
- **Mark as Done:** Complete tasks by clicking the "done" button, which removes them from the list.
- **Persistent Storage:** Your tasks are saved in your browser's `localStorage`, so you wonโ€™t lose them after refreshing the page.
- **Responsive Design:** Works seamlessly on different devices and screen sizes.

---

## ๐Ÿš€ Getting Started

Follow these steps to run the project:

### 1๏ธโƒฃ Clone the Repository
```bash
git clone https://github.com/Innocent6303/To-do-list.git
```
#

2๏ธโƒฃ Open the Project

* Navigate to the project folder.

* Open the `index.html` file in your favorite browser OR:

* Install the Live Server extension in Visual Studio Code.

* Right-click on the `index.html` file and select `Open with Live Server`.

---

## ๐Ÿ“‹ User Interface

When you open the project, youโ€™ll see:

1. **Header:**
A title, *"To-Do List"* .

2. **Input Field:**
- A blank input box with the placeholder `New Task`.
- An **Add** button to add tasks.

3. **Task List:**
- Newly added tasks appear at the top of the list.
- Each task has a **done** button to remove it once completed.



## ๐ŸŽฎ How It Works
Adding a Task:

1. Type a task into the input field.
2. Click the Add button or press `Enter`.
3. The task is displayed in the list at the top.

Completing a Task:

1. Click the done button next to a task.
2. The task is removed from the list
--
## ๐Ÿ” Key Concepts Demonstrated

This project is an excellent way to learn the following:

1.DOM Manipulation:

* Dynamically adding, removing, and updating elements on the page using JavaScript.

Example:

```js
var todoElement = document.createElement("li");
var todoText = document.createTextNode(todo);
todoElement.appendChild(todoText);
listElement.appendChild(todoElement);
```
2. Event Handling:
* Adding event listeners to buttons for user interactions.
Example:
```js
buttonElement.onclick = addTodo;
```

3. Local Storage:
* Saving tasks in the browserโ€™s `localStorage` to maintain data persistence.
Example:
```js
localStorage.setItem("list_todos", JSON.stringify(todos));
```

4. Responsive and Functional Design:
* Designing a UI that works across devices with minimal styling and optimal functionality

## ๐Ÿ“‚ Folder Structure

```js
To-do-list/
โ”‚
โ”œโ”€โ”€ index.html # Main HTML file
โ”œโ”€โ”€ styles.css # Styling for the application
โ”œโ”€โ”€ script.js # JavaScript for functionality
โ””โ”€โ”€ README.md # Documentation
```
---

## ๐ŸŽจ Screenshots
### 1๏ธโƒฃ Initial Interface

![Screenshot 2024-12-01 054726](https://github.com/user-attachments/assets/33a3eb9b-7b05-46fc-8805-c654d38a41d6)

### 2๏ธโƒฃ Task Added

![Screenshot 2024-12-01 054705](https://github.com/user-attachments/assets/8886cf8e-fa8a-41d1-9e3c-757cf624973d)


### 3๏ธโƒฃ Task Marked as Done

## ๐Ÿ“ˆ Future Enhancements

* Add categories for tasks.
* Allow users to edit tasks.
* Implement a dark mode toggle.
* Add animations for adding and removing tasks.

## ๐Ÿค Contributions

Contributions are welcome! Feel free to:

* Fork this repository.
* Add new features or fix bugs.
* Submit a pull request.

## โญ Acknowledgments

This project is created as a fun and educational tool for beginners to:

* Learn and practice web development basics.
* Understand JavaScript concepts like `localStorage` and event handling.
## ๐Ÿ† Show Your Support
โญ Star this repository if you found it fun and helpful!

# Happy Coding! ๐Ÿ’ป