Requirements - ckertam/SWE573_SPRING_2023 GitHub Wiki

Terminology

  • Software: In this context the software refers to Memorial Story Platform.
  • Story: In this context the story is the main content that is shared by users.

Requirements

System Requirements

  1. The memorial story platform will be available only on web.
  2. When the user clicks "logout" button on the right upper side, then the memorial story platform will log out the user.
  3. The software should accept requests.
  4. The response time of the requests should not exceed 10 seconds.
  5. Whole location informations will be kept in geolocation format.

User Authentication Requirements

  1. When the user clicks "Sign up", the memorial story platform should open the form of “Sign up”.
  2. When the user clicks "Login", the memorial story platform should open the form of “Login”.
  3. When the user sign in, the memorial story platform should redirect the user to login page.
  4. When the user logs in, the memorial story platform shall redirect the user to profile page.
  5. If the user loged in her/his account for the first time, the memorial story platform needs to show a pop up that asks for a name and username.
  6. The username of a user must be longer than 5 characters and shorter than 40 characters.
  7. The username of a user can consists of only varying characters.
  8. In the memorial story platform users have to login to create new memorial story.
  9. In the memorial story platform users have to login to comment on memorial story.
  10. The registration of the platform should be verified by email verification.
  11. Email that used for registration should be unique.

Profile Page Requirements

  1. The memorial story platform allows users can have profile page.
  2. The memorial story platform allows user can add profile photo to her/his profile page.
  3. The memorial story platform allows user can add about me part to her/his profile page.
  4. The memorial story platform allows users can edit their profile photos.
  5. The memorial story platform allows users can edit their about me part.
  6. The memorial story platform allows users to see other users' profiles.
  7. When the user wants to personalize her/his profile page, she/he needs to click "profile" button on the right upper side.
  8. If the user is loged in then the user can create a new story by clicking "+ Add Story" button on profile page.
  9. When the user wants to follow another user, she/he needs to clicks "follow the user" button while she/he on the user's profile.
  10. When the user wants to unfollow another user, she/he needs to clicks "unfollow the user" button while she/he on the user's profile.
  11. If a user clicks a username in any page of the memorial story platform, she/he will be directed to the user's profile.

Home Page Requirements

  1. In the memorial story platform users will share their memorial stories.
  2. If the user is loged in then the user can create a new story by clicking "+ Add Story" button on homepage.
  3. When the user clicks "Home Page" button on the right upper side, the user will be directed to home page.
  4. When the user clicks "All Stories" button on the home page, then the memorial story platform will show latest 4 stories titles to the user.
  5. When the user clicks "Followings" button on the home page, then the memorial story platform will show latest 4 stories titles to the user.
  6. When the user clicks "Liked" button on the home page, then the memorial story platform will show latest 4 stories titles to the user.
  7. When the user clicks a title of the story on the home page, the memorial story platform will show the content of the story.

Search Page Requirements

  1. The memorial story platform will open a search page when the user clicks search button on top right side.
  2. The search page will allow the user to enter title.
  3. The search page will allow the user to enter start location if the user select exact location radio button.
  4. The search page will allow the user to enter start and end location if the user select interval location radio button.
  5. The search page will allow the user to select before date.
  6. The search page will allow the user to select interval date.
  7. The search page will allow the user to select after date.
  8. The search page will allow the user to enter username.
  9. The search page will allow the user to enter label.
  10. When the user clicks "search" button if at least one search criteria entered, the memorial story platform will show the most related 10 stories to the user.

Story Page Requirements

  1. The memorial stories must have a location information.
  2. The memorial stories must have one of the date information.
  3. The memorial stories will have title.
  4. The memorial stories will have labels info.
  5. Labels of the memorial stories can be added by creating new labels.
  6. Labels of the memorial stories can be added by selecting from a predefined list via dropdown menu.
  7. The memorial stories can include photos.
  8. The memorial stories can include photo links.
  9. When the user click the "publish" button, the story will be published on the memorial story platform.
  10. In the memorial story platform users can comment on others memorial stories.
  11. In the memorial story platform comments can have hashtags.
  12. When the user wants to add some comment on a story, the user clicks the button “Comment” and leave his comment.
  13. The memorial story platform should allow the users edit the stories after they shared it.

Error Handling Requirements

  1. If the user wants to create an account with existing email, the memorial story platform shall give "this e mail already been used" error.
  2. If the user's passwords do not match the required conditions in Sign in Form, the memorial story platform shall give the "password not allowed" error.
  3. If the user wants to login with a not existing e mail, the memorial story platfrom shall give "this account does not exist" error.
  4. If the user enters a wrong password, the memorial story platform shall give "incorrect password" error.
  5. If the entered username does not match the requirements, then the memorial story platform shall show the "Username cannot be used" error.
  6. If the entered username already exists, then the memorial story platform shall show the "Username already exists" error.
  7. If the user's content does not have needed content criterias, then the memorial story platform shall show the "Content does not match required criterias" message.
  8. When the user clicks "search" button if at least one search criteria is not entered, the memorial story platform will show an error.