Primary Features of Turquiz - bounswe/bounswe2024group11 GitHub Wiki

Primary Features

This is the Lab 8 related document created for Tracking Primary Features of Turquiz Application.

Primary features in the coverage of our application's requirements are listed below. It's important to note that primary features listed here are separated from the domain-specific features under this document. This document only covers the features that enable the core functionalities of Turquiz application.

Acceptance criteria with examples are provided under each feature in this document.

Quiz

Turquiz is an application mainly based on vocabulary quizzes with different types where users face application's gamification elements such as scoring mechanism. Several examples of acceptance criteria for creating and solving quizzes in the context of primary features is given below.

  • Given: Any registered user takes any of the quizzes created in the application, listed in the quiz feed.
  • When: User chooses correct answer of a quiz question.
  • Then: User should be awarded with the point of that quiz question.
  • Whether the selected choice is correct or not, user shall see the correct choice along with the false ones.
  • If the given answer is not correct, user shall not gain any point.

In Turquiz, points for created quizzes are automatically assigned.

  • Given: A registered user creates questions during creation of a quiz.
  • When: User links a keyword for the question.
  • Then: Point of related question is automatically assigned during the creation in API.
  • Users shall be able to view the point to be earned from a question during solving the quiz.

Users can search & filter the quiz feed.

  • Given: A user views the quiz feed.
  • When: The user use buttons for filtering or types a keyword in the search bar.
  • Then: Semantic related quizzes along with their tags listed.

Users can edit the quizzes they created.

  • Given: A registered user creates a quiz.
  • When: The user changes a question or a hint given for a question, title, etc.
  • Then: Quiz is updated accordingly.

Forum

Forum feature is a way of creating an interactive learning platform where users can also learn from the discussions about quiz questions or general usage of the language.

  • Given: A registered user solved a quiz and wants to ask a question about a keyword.
  • When: The user links the keyword to the forum question creation.
  • Then: Related forum question is published in the forum feed for all users.

Users can search & filter forum feed.

  • Given: A user views the forum feed.
  • When: The user use buttons for filtering or types a keyword in the search bar.
  • Then: Semantic related forum questions along with their tags listed.

Profile

There are several gamification elements in Turquiz application: scoring from quiz solving, earning badges according to the points earned or user interaction such as follower count.

  • Given: A registered user solves her/his first quiz in the application.
  • When: The user answers to the questions in the quiz and completes it.
  • Then: The user earns a badge about solving the first quiz.

Leaderboard feature enables to display the point ordering of the users.

  • Given: A registered user is 100 points behind of the third user in the leaderboard.
  • When: The user solves a 200 points quiz correctly.
  • Then: The user is now the third person in the leaderboard.

Users can view their previously solved quizzes, liked/bookmarked forum questions.

  • Given: A user bookmarks a forum question.
  • When: The user navigates to her/his profile.
  • Then: The user views newly bookmarked forum question along with other ones if there are any.

User Management

Users can interact inside the application by following each other.

  • Given: A registered user views an answer to a forum question.
  • When: The user navigates to that user's profile and clicks 'Follow'.
  • Then: The user follows that user and quizzes & forum questions of that user is primarily shown in the related feed compared to others.