Extend the existing to-do application to support multiple todo lists. Users should be able to create and manage separate lists, each with its own set of todo items.
- Create a new todo list by providing a title.
- View all existing todo lists.
- Add a todo item to a specific list.
- Mark a todo item as done.
- Mark a completed todo item as undone.
- Remove a todo item.
- Delete an entire todo list.
- Define the HTTP interactions required for managing todo lists and get them reviewed by mentors.
- Break down the implementation into small tasks and implement them incrementally.
- Develop from the client side first, ensuring only necessary server-side code is added.
- Write tests for server-side handlers.
- Commit and push frequently.
- Focus on functionality first; refine design later.