Skip to content

User Stories

Tayon edited this page Aug 20, 2024 · 9 revisions

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.

Demo User

  • As an unregistered and unauthorized user, I would like an easy to find and clear button on both the /signup and /login pages to allow me to visit the site as a guest without signing up or logging in.
    • When I'm on either the /signup or /login pages:
      • I can click on a Demo User button to log me in and allow me access as a normal user.
        • So that I can test the site's features and functionality without needing to stop and enter credentials.

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 the home page.
        • So that I can easily log out to keep my information secure.

Groups

View Groups

  • As a user, I want to view all groups that are a part of the site.
    • While on /groups:
      • I can see all the groups.
        • So that I can find a group that aligns well with me.

Create Groups

  • As a logged in user and authorized user, I want to create a group.
    • While on /groups/new:
      • I can create a group and provide it with group details.
        • So that I can easily connect with others who would like to be apart of this group.

Edit Groups

  • As a logged in user and authorized user, I want to edit a group.
    • While on /groups/id/edit:
      • I can edit a group and change the group details.
        • So that I can provide the correct and updated information of the group.

Delete Groups

  • As a logged in user and authorized user, I want to delete a group.
    • While on /groups/id:
      • I can delete a group that is no longer active.
        • So that another user does not join a dead group and continues to feel alone.

Events

View Events

  • As a user, I want to view all events that each group has.
    • While on /events:
      • I can see all the events.
        • So that I can attend an event where I can connect with alike men.

Create Events

  • As a logged in user and authorized user, I want to create an event.
    • While on /groups/groupId/events/new:
      • I can create an event and provide it with event details.
        • So that others can easily connect with users who would like to attend this event.

Edit Events

  • As a logged in user and authorized user, I want to edit an event.
    • While on /events/id/edit:
      • I can edit event and change the event details.
        • So that I can provide the correct and updated information of the event.

Delete Events

  • As a logged in user and authorized user, I want to delete an event.
    • While on /events/id:
      • I can delete an event that will no longer taking place.
        • So that another user does not join a dead event.

Venues

View Venues

  • As a user, I want to view all venues that each group has.
    • While on /groups/groupId/venues:
      • I can see all the venues of a group.
        • So that I can see which group is located near me.

Create Venues

  • As a logged in user and authorized user, I want to create a venue.
    • While on /groups/groupId/venue/new:
      • I can create a venue and provide it with venue details.
        • So that others can easily locate a venue closer to them or more convenient for them.

Edit Venues

  • As a logged in user and authorized user, I want to edit a venue.
    • While on /venues/id/edit:
      • I can edit a venue and change the venue details.
        • So that I can provide the correct and updated information of the venue.

Delete Venues

  • As a logged in user and authorized user, I want to delete a venue.
    • While on /venues/id:
      • I can delete a venue that is no longer occupied.
        • So that another user does not locate an inactive venue.

Profile

View Profile

  • As a logged in user and authorized user, I want to view my profile.
    • While on /profiles/id:
      • I can see everything on my profile.
        • So that I can know who I am and other will know who I am.

Create Profile

  • As a logged in user, I want to create my profile.
    • While on /profiles/new:
      • I can create a profile and provide it with details about myself.
        • So that others can relate to me and connect with me.

Edit Profile

  • As a logged in user and authorized user, I want to edit my profile.
    • While on /profiles/id/edit:
      • I can edit my profile and change my profile details.
        • So that I can provide the correct and updated information of my profile.

Delete Profile

  • As a logged in user and authorized user, I want to delete my profile.
    • While on /profiles/id:
      • I can delete my profile if it is no longer active.
        • So that another user does not locate me and befriend an inactive user.

Posts

View Posts

  • As a logged in user and authorized user, I want to view my posts and anyone else posts I am friends with.
    • While on /profiles/id:
      • I can see all my posts.

Create Posts

  • As a logged in user and authorized user, I want to create a post.
    • While on /profiles/id/posts/new:
      • I can create a post.
        • So that others can easily communicate on my page and display who I am.

Edit Posts

  • As a logged in user and authorized user, I want to edit my posts.
    • While on /profiles/id/posts/id/edit:
      • I can edit my posts and change my posts' details.
        • So that I can provide the correct and updated information of my profile.

Delete Posts

  • As a logged in user and authorized user, I want to edit my posts.
    • While on /profiles/id/posts/id:
      • I can edit my posts and change my posts' details.
        • So that I can provide the correct and updated information of my profile.

Comments

View Comments

  • As a logged in user and authorized user, I want to view my comments and anyone else's comments on my posts that I am friends with.
    • While on /profiles/id/posts/id:
      • I can see the comments.

Create Comments

  • As a logged in user and authorized user, I want to create a comment.
    • While on /profiles/id/posts/id/comments/new:
      • I can create a comment on a post.
        • So that others can easily communicate with others.

Edit Comments

  • As a logged in user and authorized user, I want to edit a comment.
    • While on /profiles/id/posts/id/comments/id/edit:
      • I can edit my comment on a post.
        • So that I can correct my mistake.

Delete Comments

  • As a logged in user and authorized user, I want to delete a comment.
    • While on /profiles/id/posts/id/comments:
      • I can delete my comment on a post.
        • So that I can correct my mistake.

Bonus: Search

  • As a user, I want to search for groups and events.
    • While on any page of the site:
      • I can search for groups and events.
        • So that I can easily and quickly connect with others.

Bonus: Partnership

  • As a user, I want to request to become a partner to help prevent suicide.
    • While on /get-involved:
      • I can see details about the partnerships and submit my request to become a partner.
        • So that I can provide assistance to those in need.

Bonus: Chat

  • As a user, I want to chat with all my friends and other users via IM.
    • While on any page of the site:
      • I can chat with friends and other users who share the same tag as me.
        • So that I can easily and quickly connect with others.

Bonus: Mental Health Inspection

  • As a user, I want to take an assessment/ inspection on my mental health and receive back a score and info card letting me know what I have and what resources are available to me.
    • While on /explore-topics/inspection:
      • I can take the inspection and determine my state of mental health.
        • So that I can take better care of myself.