Create a Tk application to handle your TODO items.
A Menu to be able to exit the application
A List of current tasks.
A way to add a new task. For a start each task has a title and a status. The status can be "todo" or "done". (default is "todo")
A way to edit a task. (Primarily to change its title).
A way to mark an item as "done" or mark it as "todo".
A way to move items up and down in the list.
The application should automatically save the items in their most up-to-date state in a "database". The database can be a JSON file or and SQLite database or anything else you feel fit.