User Stories - ZaviarBrown/spaceXchange GitHub Wiki

User Stories

User Authentication

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 password.
      • I would like the website to log me in once the form is successfully submitted.
        • So that I can seamlessly transition from being unregistered to using the site.
    • When I enter invalid data on the sign-up form:
      • I would like the website to notify me of my failed validations.
      • I would like the form fields to repopulate with my valid entries (except for the password fields)
        • So that I can resubmit without having to fill in every field again.

Log in

  • As a registered and unregistered 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 username or email and password.
      • I would like the site to log me in upon successful completion of the log-in form.
    • When I enter invalid data on the log-in form:
      • I would like the site to notify me of my failed validations
      • I would like the form fields to repopulate with my valid entries (except for the password fields)
        • So that I can re-login without having to fill in every field again.

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

User Assets

Dashboard/Home

  • As a user that has just logged in, I want to be redirected to my dashboard.
    • I want to be able to see my overall account value and the real-time fluctuation of my assets
    • I want to be able to see change in my portfolio across different timelines for my assets
      • By clicking on time-interval buttons below the chart
    • I want to be able to hover over points in the timeline to see exact values at that specified point
    • I want to be able to see a list of all assets I own and how they are performing
    • I want to be able to see a short list of other planet's currency prices if I own no assets
      • And be able to click on each item in the list to be redirected to that items page

Asset Info

Individual Planet Page

  • As a logged in user, I want to see the planet currency's chart, an about description, photos, and a buy option.
    • I want to be able to see the planet's currency value chart and the real-time fluctuations
    • I want to be able to see change in the planet's value across different timelines
      • By clicking on time-interval buttons below the chart
    • I want to be able to see a description of the planet and some pictures of the planet
    • I want to be able to purchase the planet's currency via a purchase-form located on the page
    • If I own this planet's currency, I want to be able to sell via clicking a sell button
      • The sell button should create a modal displaying a sell-form.

Bonus

Search

  • As a logged in user, I want to be able to search using a search bar to find any particular planet

Friends

  • As a logged in user, I want to be able to friend people and accept friend requests
    • I want my friends to be able to see my portfolio and vice versa