Skip to content

User Stories

Somorovd edited this page Jul 7, 2023 · 11 revisions

User Stories

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, birthday 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
      • 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 easy to find and clear buttons on the /login page to allow me to visit the site as one of two guests 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.
          • Including logging in as two different users and sending messages between them.

Log Out

  • As a logged in user, I want to log out via an easy to find log out button on the user menu dropdown.
    • While on any page of the site:
      • I can log out of my account and be redirected to a the login page.
        • So that I can easily log out to keep my information secure.

Servers

Create Server

  • As a logged in user, I want to be able to create a new server and become the owner of that server.
    • When I click the add button on the server sidebar
      • I can fill out a form with server name, about, image, and privacy for a new server
        • So that I can talk with people who share my interests

View My Servers

  • As a logged in user, I want to see the servers that I am a member of.
    • On the application page
      • there is always a sidebar that shows the icon for each server
        • For easy navigation

View Server Members

  • As a logged in and authorized member, I want to see the other members in a server.
    • When I click the members button
      • A list of users displayed on the right is toggled on or off
        • So I can make friends

Updating Server Information

  • As a logged in and authorized member, owner or moderator, I want to update the servers information.
    • In the server menu dropdown, I can click a link
      • To display a server details editing form.
        • So that I can fix any errors I make

Deleting Servers

  • As a logged in and authorized member, owner, I want to delete the servers I have created.
    • In the server menu dropdown, I can click a delete button
      • To delete the server after confirming my decision.
        • So that I remove servers no longer in use.

Membership

View Public Servers

  • As a logged in user, I want to see a list of public servers that I can join.
    • When I click a browse servers button on the server list sidebar
      • A grid of public servers is displayed
        • So that I can find communities that share my interests

Join A Public Server

  • As a logged in user, I want to be able to join public servers
    • When I click on a public server card
      • A modal pops up with server details and a join server button
        • So that I can easily join new communities.

Leave A Server

  • As a logged in and authorized member, I want to be able to leave a server I have joined.
    • In the server menu dropdown,
      • I can click a leave server button and confirm my decision
        • So that I can leave servers I am no longer active in

Channels

Create Channels

  • As a logged in and authorized member, owner or moderator, I can create channels within the server.
    • When I click on a + icon next to the channel section heading
      • A modal comes up to create a new channel with channel type and name.
        • So that I can better organize different conversations and topics.

View Server Channels

  • As a logged in and authorized member, I want to see the channels within the server.
    • When I click on a server's icon
      • A server navigation sidebar shows the list of channels
        • For easy navigation within the server

Updating Channel Information

  • As a logged in and authorized owner or moderator, I can edit the channel details.
    • When I click the channel settings button next to the channel name
      • A modal form pops up to edit the channel
        • So that I can fix mistakes

Deleting Channels

  • As a logged in and authorized owner or moderator, I can delete the channel details.
    • On the channel edit form modal
      • I can click a delete button that requires confirmation
        • So that I can remove channels that are no longer required

Messages

View Messages in a Channel

  • As a logged in and authorized member, I can view messages in server channels.
    • On the channel page
      • There is a list of all messages sent showing the user, time, and content of the messages
        • So that I can communicate with other members of the server

Sending Messages

  • As a logged in and authorized member, I can post messages in server channels.
    • On the channel page
      • I can enter text into the message textarea form and submit with a button or Enter key
        • So that I can communicate with other members of the server

Updating Message Contents

  • As a logged in and authorized member, I can edit messages I have sent.
    • On my sent messages
      • I can press the edit button to display the edit message form and submit with a button or Enter key
        • So that I can correct what I want to say

Deleting Messages

  • As a logged in and authorized member, I can delete messages I have sent.
    • On my sent messages
      • I can press the delete button and confirm my decision to delete
        • So that I can remove messages I should not have sent
  • As a logged in and authorized owner or moderator, I can delete messages other members have sent.
    • On any sent messages
      • I can press the delete button and confirm my decision to delete
        • So that I can remove any messages that should not have been sent

Direct Messages

Sending Direct Messages

  • As a logged in and authorized user, I can send messages to other users.
    • On an active direct messages
      • I can enter text into the message textarea form and submit with a button or Enter key
        • So that I can communicate with individual users

View Direct Messages

  • As a logged in and authorized user, I can view my direct messages with other users
    • On the direct messages page
      • There is a list of all users with whom I am direct messaging
        • So that I can find my previous conversations
  • As a logged in and authorized user, I can view my direct messages with other users
    • On an active direct message
      • There is a list of all previous messages sent between me and the other user
        • So that I can communicate with individual users

Updating Direct Message Contents

  • As a logged in and authorized user, I can send messages to other users.
    • On my sent direct message
      • I can press the edit button to display the edit message form and submit with a button or Enter key
        • So that I can correct what I want to say

Deleting Direct Messages

  • As a logged in and authorized user, I can delete direct messages I have sent.
    • On my sent direct message
      • I can press the delete button and confirm my decision to delete
        • So that I can remove messages I should not have sent

Initiating a Direct Message

  • As a logged in and authorized user, I can start a new direct message conversation with other users
    • Above my list of existing conversations
      • I can click a create conversation button and select a user
        • So that I can make new friends
Clone this wiki locally