Skip to content

User Stories

Marcus Kim edited this page Mar 9, 2023 · 3 revisions

Sign up

  • As an unregistered and unauthorized user, I want the ability to sign up for the website by utilizing a sign-up form.
    • When I am on the sign-up page:
      • I would like to be prompted to enter my first-name, last-name, username, email, and password in a well-formatted sign-up form.
      • I would like to be logged in upon successful sign-up so that I can access all of the site's features.
    • When I enter invalid data into the sign-up form:
      • I would like the form to show me which validations I've failed to meet.

Login

  • As a registered and unauthorized user, I would like to be able to log in by using a log in form.
    • When I am on the /login page:
      • I would like to be able to enter my email/password on a well-formatted login form.
      • I would like to be automatically logged in and directed to the home page upon successful log-in so that I have access to all of the website’s functionality
    • When I enter invalid data into the login form:
      • I would like the form to show me the validation errors that I failed to pass and repopulate my form with only my valid entries so that I can try again.

Demo User

  • As an unregistered and unauthorized user, I would like an easy to find and clear button that signifies the ability to visit the site as a guest without logging in or signing up.
    • When I am on the /signup or /login pages:
      • I can see and click a “Demo User” button that allows me to access the website as a normal user so I can access the website’s features without going through the process of signing up as a user.

Dashboard

  • When I am on the / page:
    • I would like to be directed to this page after successful login and signup.
    • As a logged in user, I would like to be able to see my current portfolio value as a main component and my watchlists on my right.
    • I would like to see the watchlist on the right at all times, even when scrolling up or down
    • Each watchlist has a dropdown button that shows stock ticker details in colored form.
    • I am able to see a list of the most recent financial news with the ticker and price gain/loss.
    • I am able to search for stocks on a search bar on top.

Stocks

  • When I am a specific stock's details page /stocks/:stockTicker:
    • I am able to view the company name, price, and a chart as the main display
    • I would like to have the options to purchase and sell a stock
    • I would like to be able to see details about a stock including Key Statistics, Summary, an About section of the stock, the most Recent News, Historical Financial Data, and Stock Price data.
    • I would like to have the ability to add the ticker to my watchlist on this page.

Watchlist

  • I would like to be able to navigate to any of my specific watchlists at /list/:listId
    • On this page, I would like to be able to view a list of stocks on the watchlist I selected.
    • I am able to see a list of all of my watchlists on the right.
    • I am able to see the price of the stock today.
    • I can see the percentage of gain/loss on that day.
    • I can see the market capitalization of the stock.

Portfolio

  • I am able to navigate to my portfolio through the route /profile:
    • I would like to see my account balance displayed clearly and in an easily visible position.
    • I would like to see my profit/loss statement in a colored format.
    • I can see details of my shares, account balance history, and brokerage holdings.

Transactions

  • @stock details page history page
  • I would like to see my transaction history in two places:
    • On a stock details page, I would like to see any of my transactions involving that stock at the bottom of the page
    • On the route `/profile/history:
      • I would like to be able to see a list of my transaction history with details including the stock, number of shares involved, and the amount of gain/loss.

Messaging [Bonus]

  • I would like to be able to message a support bot that has a personality that fits the concept of BootcampBrokers.
    • The bot will be from the OpenAI API.
    • I would like to be able to get all of my current messages from /user/:userId/messages
    • I would like to be able to get a specific message at /user/:userId/messages/:messageId
    • I would like to be able to see a button on the bottom right corner of the screen when navigating any page on the website.
    • I would like to be able to get advice and guidance about the website from talking to the bot.
Clone this wiki locally