Application Specification
The TODO Application
You’re creating a simple TODO application, it has the following requirements
A TODO note is by default associated with the creator of the Note, they become the creator and are responsible for completing the TODO
An anonymous TODO note is one that is not assigned to anyone but the Note is still associated with the creator of the Note
A registered user can associate anonymous TODOs to themselves or other users
A user can have zero or more TODOs
Each TODO is linked to a creation date and time
TODOs can have an optional expiration date
TODOs have three states
Active; the initial state after creation
Done; the final state once a TODO has been cleared
Overdue; the TODO has past is expiration date
A TODO can be deleted whilst in the Active or Overdue states but not in the Done state. This is to ensure there is a record of completed TODOs
User Stories
As an unregistered User I want to create a TODO Note to help keep track of things I need to do
As a registered user I want to create a TODO Note to help keep track of things I need to do
As a registered user I want to create a TODO Note with an expiration date to help keep me keep track of things I need to do with a sense of sense of urgency
As a registered user I want to delete a TODO Note before it is marked as Done so that I don’t waste time doing activities that are no longer needed
As a registered user I want to register users so that TODOs are associated with a user, this is to ensure that someone is accountable for the TODO Note
As I registered user I want to be able to edit the content of a TODO Note and its expiration date, so that the TODO Note is always relevant
As a registered user I only want to see TODO Notes associated with me so that I can focus on the things I need to do
As a registered user I want to see the anonymous TODOs so that I can take on an open TODO
As a registered user I want to be able to associate an anonymous TODO to another user including myself so that TODOs can be accounted for
As an unregistered user I want to become a registered user so that as a registered user I can create TODO Notes