This project aims to build a to do list application by applying HTML, CSS and Javascript. The application allows users to manage their tasks effectively.
In this level, the application includes the following features:
-
Adding a Todo:
- Display an input field where users can enter a new todo item.
- Include an "Add" button to add the entered todo item to the list.
-
Rendering Todo List:
- Render the list of todos on the screen.
- Each todo item should display a checkbox and the task description.
-
Completing a Todo:
- When a checkbox is clicked, mark the corresponding todo item as complete.
- Visually indicate the completion status of each todo item.
-
Deleting a Todo:
- Implement a "Delete" button next to each todo item.
- When the button is clicked, remove the corresponding todo item from the list.
In addition to the basic requirements, the application enhances its functionality with the following features:
-
Editing a Todo:
- Implement an "Edit" button next to each todo item.
- When the button is clicked, allow users to update the task description of the corresponding todo.
-
Todo Counter:
- Include a counter that displays the total number of todo items.
- Display the number of completed items as well.
-
Filtering Todo List:
- Add the ability to filter the todo list by completed and active tasks.
- Use buttons or a dropdown menu to switch between the filters.
If you have a higher skill level and finish the previous requirements before the deadline, you can tackle the following bonus tasks:
-
Persistent Storage:
- Add the ability to persist todo items using local storage.
- Ensure that the list remains intact even after the page is refreshed.
-
Search Functionality:
- Implement a search functionality that allows users to search for specific todo items based on keywords.
-
Peer Review:
- Review the code and implementation of 2 assignments from other participants.
- Provide constructive feedback and suggestions for improvement.
Please note that the bonus requirements and reviews are optional and can be completed if you have additional time and advanced skills.
Happy coding!