User Stories - RawaMem/Digizon GitHub Wiki

Developer

README file

  • As a Project Manager, I want to have a completed Readme file so that users and hiring managers can understand more about my project.
  • Readme will be located at the root of my project has been updated with info from the wiki.
  • A good example of this would be://github.com/adamLovettApps/JamOut/blob/main/README.md

Favicon

  • As a Project Manager, I want to have an updated favicon so that users and hiring managers can easily identify my application in a list of tabs.

Deploy to Heroku

  • As a Developer, I want to deploy my starter app to Heroku so that I can make sure I can deploy changes consistently.
  • The cloned starter app has been deployed to Heroku.

GitHub and LinkedIn Links

  • As a Developer, I want to display links to my GitHub and LinkedIn profiles so that prospective hiring managers can learn more about me after looking at my project.
  • Links to your LinkedIn and GitHub profiles should appear on the homepage of your application

Users

Sign Up Functionality

  • As an unregistered 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 first name, last name, email, username, and preferred password on 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.
  • A link/button appears in the navigation for Sign Up (only when not already logged in)
  • When clicking the link/button the user is redirected to a sign up form.
  • After filling out the form and clicking a Submit button an account is created.
  • A message is displayed to the user indicating that the account has been created. (optional)
  • The user is redirected to an appropriate page (determined by the developer)
  • The user has some indication that the user is now logged in.

Login Functionality

  • As a registered user, I want to be able to log in to the website via a log-in form on the log in page so I can access the site.
    • When I'm on the /login page:
      • I would like to be able to enter my email and password on a form.
      • I would like the website to log me in upon successful completion of the log-in 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.
  • A link/button appears in the navigation for Log In (only when not already logged in)
  • When clicking the link/button the user is redirected to a login form.
  • After filling out the form with username and password and clicking a Login button the user is logged in.
  • A message is displayed to the user indicating that the user has successfully logged in (optional)
  • The user is redirected to an appropriate page (determined by the developer)
  • The user can visually identify they’ve been logged in by having their username displayed in the navigation bar.

Error handling Complete

  • As a Developer, I want to validate the LogIn/Signup forms being submitted so my users have a good experience when using my application.
  • (Log In) If the username/password combination is wrong, or the user does not exist the login fails.
  • (Log In) A message is displayed to the end user indicating which fields are invalid.
  • (Sign Up) If the username/email already exists, the signup form fails
  • (Sign Up) A message is displayed to the end user indicating which fields are invalid.

Demo Login Functionality Complete

  • As a Project Manager, I can use a Demo Account so that I can use the application without having to use the signup form.
  • A link/button appears in the navigation form and/or Login Form titled “Demo Login” (only when logged out)
  • When clicking this button/link the user is automatically logged in as a Demo User (a previously created account for testing) without the need to fill out the signup/login form.
  • The user is redirected as if they successfully completed the Log In form.

Log Out

  • As a Logged In User, I can log out of my account so I can ensure it isn’t used without my permission.
  • A link/button appears in the navigation for Log Out (only when logged in)
  • When clicking this button/link the session ends and the user is logged out.
  • When refreshing the page or traveling to other pages the user does not appear to be logged in
  • The logged out user can log in with a separate account without issue.

Auth Styling

  • As a User, I would like to see at least basic styling on the signup and login forms so that the application doesn’t appear too similarly to the default application provided.
  • Sign up and Login forms have been styled appropriately.

Profile

  • As a logged-in user, I would like to have access to my profile page via my profile icon, located at the top right corner of the navbar. The navbar is displayed on every page.
  • user profile link is in navbar

Edit

  • I can edit my profile via a pen icon on my profile page, when I click on this pen icon, I’m redirected to an editing form where I can edit my profile.
  • The edit form will give me the options to reset my edits or save my changes.

Viewing Profile, Orders, and Reviews, saved Products, product view history

  • On my profile page, I can review my profile picture, username, orders, review, and view history

Products

Create Products

  • As a logged-in user, I would like to be able to create create and sell products from my profile page

Edit and Delete Products

  • When I select one of my products, I can see the products sales so that I can see profits.
  • In the product modal, I can edit and delete the product.

View Products

  • On the products page, I can find products people are selling for me to purchase
  • On the products page, I can search for products that I am looking for in the search bar.

Cart

View Product in my Cart

  • As a loggin in user, I would like to be able to view products saved in my cart so I can keep track of what I am buying

Add Products to cart

  • As a logged-in user, I would like to be able to add a product to my cart form the product page to keep track of products I want to purchase

Edit quantity of products and Delete

  • As a logged-in user, on my cart page, I would like to be able to edit the quality of products I will be purchasing or delete the products that I don't want form my cart.

Product reviews

View reviews

  • As a logged-in user, I want to be able to see reviews for products on the product page so that I know which products are good

Create reviews

  • As a logged-in user, I want to be able to post new reviews on the product page so that I can share my experiences with the product

Editting reviews

  • As a logged-in user, I want to be able to edit my review on the product page so that I can share any changes in my experience with the product

Delete reviews

  • As a logged-in user, I want to be able to delete my reviews by clicking a delete review button on the product page so that I can delete my review if I do not want to share my experience anymore