- As a user, I want to create an account using my email address and a secure password, so that I can access the application.
- ✅ As a user, I want to register using my Google account, so that I can sign up quickly without creating a new password.
- As a user, I want to register using my Facebook account, so that I can easily sign up using my existing social media profile.
- As a user, I want to log in using my email address and password, so that I can access my account securely.
- ✅ As a user, I want to log in using my Google account, so that I can access my account without needing to remember a separate password.
- As a user, I want to log in using my Facebook account, so that I can easily access my account using my social media profile.
- As a user, I want to access a todo application via a sidebar, so that I can easily view and manage my projects.
- As a user, I want to create a new project from the sidebar, so that I can organise my tasks under a specific project.
- As a user, I want to specify a project name when creating a new project, so that I can identify the project easily.
- As a user, I want to see a dialog pop up when adding a new project, so that I can enter the project name in a focused and clear manner.
- As a user, I want to edit the name of a project, so that I can correct or update it as needed.
- As a user, I want to delete a project, so that I can remove projects I no longer need.
- As a user, I want to select a project from the sidebar, so that I can view the todos associated with that project.
- As a user, I want the main area to provide a way to add a new todo, so that I can create tasks easily.
- As a user, I want to see a dialog pop up when adding a new todo, so that I can enter details for the task in a clear and organised way.
- As a user, I want to specify a name, description, and due date for the todo, so that I can define the task clearly.
- As a user, I want to assign the todo to a specific project, so that I can organise tasks under relevant projects.
- As a user, I want to edit an existing todo, so that I can update any of its properties (name, description, due date, or project assignment) as needed.
- As a user, I want to delete a todo, so that I can remove tasks I no longer need.
- As a user, I want to mark a todo as complete, so that I can track which tasks have been finished.
- As a user, I want to revert a completed todo back to incomplete, so that I can update its status if it was marked as complete by mistake.
- As a user, I want to filter the visible todos by selecting a project from the sidebar, so that I can focus on tasks relevant to that project.
- As a user, I want to sort my todos by due date, so that I can prioritise tasks effectively.
- As a user, I want the list of todos to be paginated when it becomes too long, so that the interface remains easy to navigate.