User Stories - Fruit-of-Binary-Tree/Documentation GitHub Wiki

Sprint 1 User Stories

Written in the form:

  • User Story
    • User Acceptance Test
      • Task
  • As a user, I want to create an account for the system so that I will be able to gain access to the platform.

    • User-Acceptance Test: Given that I do not have access to the system and an account already created, when I click on sign up and enter the required details then I will have an account created and details will be in the database and I will be able to log-in thereafter.
      • Task: Create a sign-up UI
      • Task: Create way of doing so and linking to database
  • As a user, I want to log in with my username and password into the system to get access to the public peer review.

    • User-Acceptance Test: Given that I am logged out of the system and I am on the log-in page, when I enter my username and password and click the login button, then the system will log me into the system and will show the home page.
      • Task: Create log in UI
      • Task: Create way to log in and link to database
  • As a user, I want to be able to log-in to the platform with my google (gmail) account so that it will make logging in easier as I would not have to create a whole new account.

    • User-Acceptance Test: Give that I have a google (gmail) account, when I click on google icon, then it will log me into the platform with that account I choose and give me access to the platform.
      • Task: Connect google to database
  • As a user, I want to be able to access the home page so that I will have options of what to do next in the platform.

    • User-Acceptance Test: Given that I have access to the system, when I log into the system then I will be directed to the home page with the different options.
      • Task: Create UI home page

Sprint 2 User Stories

Written in the form:

  • User Story
    • User Acceptance Test
      • Task
  • As a user, I want to be able to add a new entry to the system so that others may view the list of papers.

    • User-Acceptance Test: Given that I am logged into the system, when I type all the necessary details asked about the paper and click add then my paper will be added to the system and a message will show of successfully adding it.
      • Task: Create UI for create post
      • Task: Connect with firestore database
  • As a user, I want to be able to view a list of all the papers in the system so that I know which papers are in the system and if I may want to add a new one.

    • User-Acceptance Test: Given that I am logged into the system, and there is already papers added to the system, when I am directed onto the home page, then I will see the title of the papers with the author name and a url of each paper.
      • Task: Bring info from database to display in system
  • As a user, I want to be able to refresh the list of papers in the system, so that if any papers were added into the system I will get an update on the new papers added.

    • User-Acceptance Test: Given that I am logged into the system and I created a new entry for a new paper when I click on the refresh button it will give me an update for the updated list.
      • Task: Create refresh button with onClick
  • As a user, I want to be able to get the url of the paper pdf file so that I will be able to access it from the internet and read and make use of it.

    • User-Acceptance Test: Given that I am logged into the system and there is already papers added to the system, when I see a paper under the list of papers and copy the url of a specific paper and paste it into google, it will take me to that specific paper where I can read it.
      • Task: Make sure url is showing and working

Sprint 3 User Stories

Written in the form:

  • User Story
    • User Acceptance Test
      • Task
  • As a user, I want to be able to search for a paper so that I will not waste time looking through every paper for the one that I am interested in

    • User-Acceptance Test: Given that I am logged into the system and there is papers already added to the system, when I am on the search page and start typing in the search bar for the paper that I am looking for based on the authors name, then it will show me all the papers with that specific author only.
      • Task: Create search function
      • Task: UI to create search page
  • As a user, I want to be able to rate a paper so that other users will be able to see how useful this paper is.

    • User-Acceptance Test: Given that I am logged into the system, when I am on the home page with all the listed papers then I will be able to rate that paper by clicking on the like button (heart icon).
      • Task: Create a rating function
      • Task: Using icons in react use the rating
  • As a user, I want to be able to comment on a paper so that other users will be able to see my review and opinion on the paper.

    • User-Acceptance Test: Given that I am logged into the system, when I am on the home page with all the listed papers then I will be able to comment on the paper underneath and post the comment and the comment will be displayed.
      • Task: Create comment function
      • Task: Connect to database just like with the creating of posts
  • As a user, I want to be able to do a google scholar search on the system so that I will be able to search for different papers that are listed within google scholar.

    • User-Acceptance Test: Given that I am logged into the system, when I search in the google scholar bar, then the results will come up of the search.
      • Task: Get results from Search API to be displayed in the system

Sprint 4 User Stories

Written in the form:

  • User Story
    • User Acceptance Test
      • Task
  • As a user, I want to be to like a post based on a certain category so that it will add my like to the post and give an overall average liking of the whole post so that other users will have the knowledge of how popular and useful the post is based on the category.

    • User-Acceptance Test: Given that I am logged into the system, when I am on the home page and see all the posts, then I will be able to click on the heart icon to like a post and it will display the updated average liking.
      • Task: Update liking so that it gets stored to the database and calculates and displays the average
  • As a user, I want to be able to get the bibtex of the post so that it will give me an overview of the references of the paper.

    • User-Acceptance Test: Given that I am logged into the system, when I am on the home page and see all the posts, then I will be able to click button for the Bibtex in the header so the bibtex's are generated and displayed for the posts.
      • Task: Import Bibtex from Google scholar
  • As a user, I want to access google scholar results on the system and be able to comment on them so that it will give other users my opinion on how useful the paper it is.

    • User-Acceptance Test: Given that I am logged into the system, when I am on the home page and click on the 'access google scholar' button, then I will be able to comment on a post.
      • Task: Link the comments to a google scholar
  • As a user, I want to be able to delete a post so that when the post is not useful anymore, then a user would be able to delete it.

    • User-Acceptance Test: Given that I am logged into the system, when I am on the home page and see a post that is outdated and not in use, then I will be able to click the delete button and that post will be deleted.
      • Task: Create function and UI button