Practice App Requirements - bounswe/bounswe2022group7 GitHub Wiki

1. Functional Requirements

1.1. User Requirements

1.1.1. Account Functions

  • 1.1.1.1 A visitor shall be able to sign up by providing email, password, first name, last name and whether an artist account is desired or not.
  • 1.1.1.2 A user shall be able to log in by providing email and password.
  • 1.1.1.3 A user shall be able to see their account information which includes first name, last name, email and verified status.

1.1.2 Wikipedia Search

  • 1.1.2.1 Users shall be able to search the definition of a word from Wikipedia.

1.1.3. Events

  • 1.1.3.1. Users shall be able to view the events on the website
  • 1.1.3.2. Users shall be able to view the weather forecast for the location of the event
  • 1.1.3.3. Users shall be able to create events
  • 1.1.3.4. Users shall be able to view participants for an event
  • 1.1.3.5. Users shall be able to participate in events
  • 1.1.3.6. Users shall be able to cancel their participation to an event
  • 1.1.3.7. Users shall be able to create a personalized share link to event

1.1.4. Art Items

  • 1.1.4.1. Users shall be able to view an art item in the platform.
  • 1.1.4.2. Users shall be able to view dominant colors in an art item.
  • 1.1.4.3. Artists shall be able to create an art item in the platform.
  • 1.1.4.4. The art item shall include a name, a description, and an image.

1.1.5. Discussion Forums

  • 1.1.5.1 Users shall be able to open Forum Get page to view all posts that has been sent.
  • 1.1.5.2 Users shall be able to open Forum Post page.
    • 1.1.5.2.1 Logged-in user can send post to be seen in Forum page
    • 1.1.5.2.2 Non-logged-in user gets redirected to error page when attempting to post to forum.
  • 1.1.5.3 Users shall be able to view a discussion post's details, such as title, description, image, creator, date, and the comments below it.
  • 1.1.5.4 Logged-in users shall be able to add new comments to the discussion post, providing the body of the comment and a link to the content URI.

1.1.6 Home

  • 1.1.6.1. Users shall be able to view the content on the platform (art items, events).
  • 1.1.6.2. Users shall be able to search for content on the platform.

1.1.7. Copyright Reports

  • 1.1.7.1. Users shall be able to report copyright infringement
  • 1.1.7.2. Users shall be able to view copyright infringement reports
  • 1.1.7.3. Users shall be able to remove an reported art item

1.1.8. Verification

  • 1.1.8.1. Users shall be able to request verification
  • 1.1.8.2. Users shall be able to see pending verification requests in the home page.
  • 1.1.8.3. Users shall be able to accept/reject any unreviewed verification request.

1.1.9 Art Galleries

  • 1.1.9.1 Users shall be able to view a list of 5 available art galleries worldwide.

1.2. System Requirements

1.2.1. Account Functions

  • 1.2.1.1 System shall return an access token following a successful sign up or login event.

1.2.2. Art Galleries

  • 1.2.2.1 System shall return a list of 5 available art galleries worldwide to a user when demanded.

1.2.3. Events

  • 1.2.3.1. System shall be able to create personalized share links for an event.
  • 1.2.3.2. Systems shall limit the participation cancellation to participating user or event's creator.
  • 1.2.3.3. System shall limit the viewing participation to logged in users.
  • 1.2.3.4. System shall block the participation of not logged in and already participating users.

1.2.4. Art Items

  • 1.2.4.1. System shall be able to showcase an art item in its Art Item page.
  • 1.2.4.2. System shall be able to find and show the dominant color in an Art Item.
  • 1.2.4.3. System shall be able to create a new art item object in the platform via the Art Item creation page.

1.2.5. Discussion Forums

  • 1.2.5.1 System shall enable user to view all the forum posts existing in database.
  • 1.2.5.2 System shall not give permission to non-logged-in users to add new post to the database.
  • 1.2.5.3 System shall enable logged-in users to add a new post to the database.
  • 1.2.5.4 System shall censor the main body of the posts being sent for bad words.
  • 1.2.5.5 System shall be able to showcase the information about each of the discussion posts with the comments on a separate page
  • 1.2.5.6 System shall not give permission to non-logged-in users to add new comments under the discussion posts.
  • 1.2.5.7 System shall enable logged-in users to add a new comment under the discussion posts.
  • 1.2.5.7 System shall enable provide the translation of each comment into Turkish.

2. Non-Functional Requirements

2.1. Security

  • 2.1.1. The passwords of users shall be encrypted in the database

2.2. Accessibility

  • 2.2.1. Platform shall support English language.
  • 2.2.2 Platform shall be accessible via modern web browsers (Chrome, Opera, Safari, Firefox, Edge)