From f8ce62f72cf243c0059b592aa7fbbc452c6b7aac Mon Sep 17 00:00:00 2001 From: Rishik Date: Fri, 18 Oct 2024 15:30:30 +0530 Subject: [PATCH] Added a new Project idea in 1-Beginner as todo_list_project --- Projects/1-Beginner/todo_list_project.md | 49 ++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Projects/1-Beginner/todo_list_project.md diff --git a/Projects/1-Beginner/todo_list_project.md b/Projects/1-Beginner/todo_list_project.md new file mode 100644 index 000000000..8e2c8b711 --- /dev/null +++ b/Projects/1-Beginner/todo_list_project.md @@ -0,0 +1,49 @@ + +# To-Do List Project File + +## Project Title: To-Do List Application + +### Short Description +A basic to-do list application where users can add, remove, and check off tasks. + +### Tier: 1-Beginner + +### Project Overview +The To-Do List application allows users to manage their tasks efficiently. Users can add new tasks, remove completed tasks, and mark tasks as completed. The application aims to provide a simple yet effective way for users to organize their daily activities. + +### User Stories +- View Tasks: User can see a list of all tasks currently on their to-do list. +- Add Tasks: User can add a new task by entering text into an input field and clicking an 'Add' button. +- Remove Tasks: User can remove a task from the list by clicking a 'Delete' button next to the task. +- Mark Tasks as Completed: User can click a checkbox next to a task to mark it as completed, visually indicating the task is done. +- Clear All Tasks: User can clear all tasks with a 'Clear All' button. +- Save Tasks: User’s tasks are saved in local storage, so they remain available even after the page is refreshed. + +### Features +- Input Field: A text input field for users to enter their tasks. +- Add Button: A button that adds the entered task to the list. +- Task List: An unordered list that displays all tasks. +- Delete Button: A button next to each task to remove it from the list. +- Checkbox: A black checkbox to mark tasks as completed. +- Clear All Button: A button to remove all tasks from the list. +- Local Storage: Use local storage to save tasks, allowing persistence between sessions. + +### Constraints +- Tasks should not exceed 100 characters. +- Ensure the input field does not accept empty tasks. +- Use clear, user-friendly messages for any errors (e.g., when attempting to add an empty task). + +### Bonus Features +- Edit Tasks: Allow users to edit existing tasks by clicking on them. +- Due Dates: Users can set due dates for tasks and sort tasks based on these dates. +- Priority Levels: Users can assign priority levels (e.g., low, medium, high) to tasks. + +### Useful Links and Resources +- [MDN Web Docs - Web Storage API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API) +- [JavaScript Array Methods](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) +- [CSS Flexbox Guide](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) + +### Example Projects +- Simple To-Do List +- Task Manager App +- JavaScript To-Do List