As is our custom now, we are going to start off by defining the requirements:
- A user must be able to add a ToDo task consisting of a title, a description, and the date the task is due
- Validation will ensure that these items are always set and that the due date cannot be before today
- The user will be able to see a list of all tasks
- The user will be able to delete a task
- The user will be able to see overdue tasks (where an overdue task is one that has not been completed and the due date has passed)
- The user will be able to edit a task
- Data is transferred to the server, or from the server, using GraphQL
- Transferred data will be saved to a MongoDB database