User Stories - ericgeagan/git_r_done GitHub Wiki
Users
Sign Up
- As an unregistered and unauthorized user, I want to be able to sign up for the website via a sign-up form.
- When I'm on the
/signup
page:
- I would like to be able to enter my email, username, and preferred password on a clearly laid out form.
- I would like the website to log me in upon successful completion of the sign-up form.
- So that I can seamlessly access the site's functionality
- When I enter invalid data on the sign-up form:
- I would like the website to inform me of the validations I failed to pass, and repopulate the form with my valid entries (except my password).
- So that I can try again without needing to refill forms I entered valid data into.
Log in
- As a registered and unauthorized user, I want to be able to log in to the website via a log-in form.
- When I'm on the
/login
page:
- I would like to be able to enter my email and password on a clearly laid out form.
- I would like the website to log me in upon successful completion of the lob-up form.
- So that I can seamlessly access the site's functionality
- When I enter invalid data on the log-up form:
- I would like the website to inform me of the validations I failed to pass, and repopulate the form with my valid entries (except my password).
- So that I can try again without needing to refill forms I entered valid data into.
Log Out
- As a logged in user, I want to log out via an easy to find log out button on the navigation bar.
- While on any page of the site:
- I can log out of my account and be redirected to a login/home page
- So that I can easily log out to keep my information secure.
Tasks
Create Tasks
- As a logged in user, I want to be able to post new Tasks with the appropriate details
- When I'm on the
/tasks/new
page:
- I can write and submit a new Task
- So that I can keep track of what I need to do
Viewing Tasks
- As a logged in user, I want to be able to view a list of uncompleted tasks with only basic information.
- When I'm on the
/tasks
page:
- I can view all uncompleted tasks.
- So that I can view everything I need to do
- As a logged in user, I want to be able to view a specific task and its details.
- When I'm on the
/tasks/:id
page:
- I can view the content of the Task, as well as its attributes.
- So that I can view the expanded details of the specific task and edit it if need be
Updating Tasks
- As a logged in user, I want to be able to edit my Tasks by clicking an Edit button associated with the Tasks anywhere that Tasks appears.
- When I'm on the
/tasks
, /tasks/:id
, /users/:id/tasks
, or /lists/:listId/tasks
pages:
- I can click "Edit" to make permanent changes to Tasks I have posted.
- So that I can fix any errors I make in my Tasks or update the timing.
Deleting Tasks
- As a logged in user, I want to be able to delete my Tasks by clicking a Delete button associated with the Task anywhere that Task appears.
- When I'm on the
/tasks
, /tasks/:id
, or /users/:id/tasks
, or /lists/:listId/tasks
pages:
- I can click "Delete" to permanently delete a Task I have posted.
- So that when I no longer need a task or the task was one time use.
Lists
Create Lists
- As a logged in user, I want to be able to post new Lists with the appropriate details
- When I'm on the
/lists/new
page:
- I can write and submit a new List
- So that I can organize tasks to groups.
Viewing Lists
- As a logged in user, I want to be able to view a list of uncompleted tasks.
- When I'm on the
/lists
, /users/:userId/lists
page:
- I can view all uncompleted and completed lists.
- So that I can view everything I need to do
- As a logged in user, I want to be able to view a specific list and its details.
- When I'm on the
/lists/:listId
page:
- I can view the content of the List, as well as its attributes.
- So that I can view the expanded details of the specific task and edit it if need be
Updating Lists
- As a logged in user, I want to be able to edit my Lists by clicking an Edit button associated with the Lists anywhere that Lists appears.
- When I'm on the
/lists
, /lists/:listId
, or /users/:id/lists
pages:
- I can click "Edit" to make permanent changes to Lists I have posted.
- So that I can fix any errors I make in my Lists or update the timing.
Deleting Lists
- As a logged in user, I want to be able to delete my Lists by clicking a Delete button associated with the List anywhere that List appears.
- When I'm on the
/lists
, /lists/:listId
, or /users/:id/lists
pages:
- I can click "Delete" to permanently delete a List I have posted.
- So that when I no longer need a List, I can get rid of it.
Tags (Bonus)
Create Tags
- As a logged in user, I want to be able to create new tags with the appropriate details
- When I'm on the
/tags/new
page and the /tasks
page:
- I can write and submit a new Tag
- So that I can organize and additionally filter my tasks.
Viewing Tags
- As a logged in user, I want to be able to view a list of existing tags on the left hand side.
- When I'm on the
/tasks
page:
- I can view all existing tags.
- So that I can see my existing filters
- As a logged in user, I want to be able to view a specific tag and its details.
- When I'm on the
/tags/:id
page:
- I can view the list of tasks that have this tag applied to it.
- So that I can filter my tasks and view certain ones.
Updating Tags
- As a logged in user, I want to be able to edit my Tags by clicking an Edit button associated with the Tag anywhere that Tag appears.
- When I'm on the
/tasks
, /tags/:id
, /users/:id/tags
, or /tags/:tagId/tasks
pages:
- I can click "Edit" to make permanent changes to Tags I have posted.
- So that I can fix any errors I make in my Tags or change its color.
Deleting Tags
- As a logged in user, I want to be able to delete my Tags by clicking a Delete button associated with the Tag anywhere that Tag appears.
- When I'm on the
/tasks
, /tags/:id
, or /users/:id/tags
, or /tags/:tagId/tasks
pages:
- I can click "Delete" to permanently delete a Tag I have posted.
- So that when I no longer need a tag or the task was one time use, I can get rid of it.