User stories - hen-wood/drawsome GitHub Wiki

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 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 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 a page displaying recent FauxTweets.
        • So that I can easily log out to keep my information secure.

Drawsome Drawings

Create a drawing

  • During a game round, I want to be able to use a simple drawing interface.
    • So that I can create a drawing based on a prompt
    • The drawing should be uploaded to AWS S3 after it is submitted

Viewing Drawings

  • As a logged in user, I should be able to see all of my past drawings.

Deleting Drawings

  • As a logged in user, I should be able to delete any of my past drawings

Updating Drawing title

  • As a logged in user, I should be able to update the title of any of my past drawings

Drawsome Games

Create a Drawsome game state

  • As a logged in user, I want to be able to create a new Drawsome game.
    • When I'm on the /new-game page:
      • I can set how many rounds the game will have.
      • I will be prompted to create a unique prompt for each round of the game
      • I can set how many players are allowed in the game. (Must be greater than 1 and less than 9)
        • So that I will be able to send a code to someone so they can enter a game with that code.

Join a Drawsome game

  • As a logged in user, I want to be able to join a game using a code
    • If the game has not reached its max number of players and has not already started

Viewing Drawsome games

  • As a logged in user, I want to be able to view all of my past game information, including:
    • The winner
    • The drawings and results for each round