Modern JavaScript Essentials

Lesson 6 of 6

Final Project: Interactive To-Do List

Time to combine array methods, objects, and DOM events into a real interactive page.

Requirements

  1. Render a list of tasks from an array of objects, e.g. { id, text, done }.
  2. Let the user add a new task through an input and button (or a form submit).
  3. Let the user toggle a task's done state and remove a task.
  4. Use map/filter to derive what gets rendered rather than mutating the DOM by hand everywhere.
  5. Persist the task list in localStorage so it survives a page reload.

Stretch goals

  • Add filter buttons for All / Active / Completed.
  • Allow editing a task's text inline.
  • Show a live count of remaining tasks.

Submit your repository link below when you are done, an instructor will review it before you can mark this lesson complete. Good luck! 🚀

This lesson ends in a project. Build it on your own machine, there's nowhere to submit it here, but the brief above is everything you need.