A clean and interactive To-Do List web app built using Vanilla JavaScript, focusing on strong DOM manipulation and real-world CRUD operations.
- Add new tasks
- Delete tasks
- Mark tasks as completed
- Edit existing tasks inline
- Persistent storage using localStorage
- Real-time UI updates (state-driven rendering)
- Clean minimal UI
- Instant task updates
- Completed task styling
This project strengthens core JavaScript fundamentals:
- DOM manipulation
- Event handling
- Arrays of objects
- CRUD operations
- Conditional rendering
classListusageJSON.stringify()andJSON.parse()- Browser localStorage
- State-driven UI design
Smart-ToDo-List/
│
├── index.html
├── style.css
├── index.js
└── README.md
- User enters text
- Task object is created with:
- unique id
- task name
- completion status
- editing state
The UI is fully rebuilt from the tasks array using:
tasks → renderTasks() → DOM
This ensures predictable and clean updates.
Tasks are saved in localStorage, so data remains after refresh.
- Clone the repository
git clone <your-repo-link>-
Open the project folder
-
Run
index.htmlin your browser
✅ No build tools required ✅ No dependencies
- Filter (All / Completed / Pending)
- Due dates
- Drag and drop reordering
- Keyboard shortcuts (Enter to save)
- Better mobile responsiveness
Built as part of JavaScript fundamentals practice to strengthen real-world DOM and state management skills.
Sindhu
⭐ If you found this helpful, consider giving the repo a star!