Skip to content

cvn-intern/PTQuiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MVP Requirement

I/ Functional Requirements

User Registration and Authentication

Allow users to register and log in to the app to access the quiz game.

Forgot Password

In case users forget their password, our app provides a convenient password reset feature. Users can request a password reset by entering their email address. They will receive an email containing a unique link to reset their password. By clicking on the link, users will be directed to a page where they can securely enter a new password.

Quiz Categories

Users can choose from a variety of quiz categories (e.g., Science, History, Math, ...) when creating a question.

Clone the Quiz

Logged-in users can clone a public quiz, which will then be saved in their quizzes. After cloning the public quiz, they can edit the question or play this quiz.

Create Quiz

Users can create a quiz containing a list of questions. They can add tags to the quiz, which can be used for searching within categories.

Create the question in a quiz

Within each quiz, users can create multiple questions. They can define the type of question (e.g., text, audio, image) and the type of answer (e.g., multiple-choice, single choice, true/false). Users must then provide the question content and answer options.

Host Game

Users can host a game using a quiz they have created. They will select the quizzes that they want to host, and upon choosing to host, the app will generate a link and QR code for other participants to join.

Join Game

Participants can join a game by using a link or scanning a QR code. They will be placed in a waiting room where they can see other participants.

Play in single mode

Participants can choose the quiz that they want to play (as exam or exercise, etc…), they can play it single.

Question Display

Present participants with questions, one at a time, during gameplay.

Answer Submission and Scoring

Participants can select and submit the answer for each question. The app will keep track of the participant’s score as they progress through the question.

Progress and Results

Display the user's progress (e.g., questions answered, remaining) and the final score upon completion.

Leaderboard

Show a leaderboard where users can see their ranking compared to others.

History of Game

After playing, participants can see the rankings of games they have participated in. The host of the game can see the list of participants who played and their respective ranks.

II/ Non-functional Requirements

Performance

The app should respond quickly to users input and load questions without noticeable delay.

Scalability

The system can handle a large number of concurrent users without degradation in performance. (about 50 users in time)

Security

Users only access one device at a time.

Cross-platform Compatibility

The app can work across various devices and browsers.

III/ Target users

The target users are individuals who enjoy online games, specifically those that test knowledge or allow for learning new information in a fun and competitive way. This may include students, educators, trivia enthusiasts,...

IV/ Goals

Functionality

To develop a simple, interactive, and user-friendly online quiz game. Users can participate in different categories of quizzes, keep track of their scores, and compete with others.

Ease of Use

The app is easy to navigate and play, with clear instructions and intuitive controls. The interface should be clean and appealing.

Responsiveness

The app works seamlessly across various devices - desktop and mobile. There should be no lag during gameplay to provide a smooth user experience.

V/ Use-case diagram

Alt text

VI/ Function MVP Requirement

Host game

  • Purpose: User creates a quiz that can be hosted later, and others can join and answer questions together.
  • Targeted user: the user that is logged in
  • Description:
    • User selects My quizzes on Navbar
    • User selects Quizzes in My quizzes
    • User selects Host game button in this Quiz
    • The screen switches to host game mode waiting for players
    • User presses the Start button to start playing
  • Structure: Alt text

View public Quizzes

  • Purpose: User can view Quizzes of other user when it is public
  • Targeted user: the user that is logged in or not logged in
  • Description:
    • User selects Discovery in Navbar
    • User selects View button of Quizzes when it is public
    • System show question of this Quiz
  • Structure: Alt text

Join Game

  • Purpose: User can join game of other user who is host game and answer question together with other players, now that person is participant

  • Targeted user: the user that is logged

  • Description:

    • User scan QR code, input URL to join game
    • System show screen of Waiting game
  • Structure:

    Alt text

Create Quizzes

  • Purpose: User host a game and others can join and answer questions together.

  • Targeted user: the user that is logged in

  • Description:

    • User selects Create Quizzes in DashBoard
    • System show screen of create Quizzes
    • User inputs question
    • User inputs image or audio
    • User inputs answers for question
    • If users want to add question:
      • User presses add question button
      • Go back to step 3
    • User presses Save button to save Quiz
  • Structure:

    Alt text

Play Game

  • Purpose: User can single play game by answers of selected Quiz

  • Targeted user: the user that is logged in

  • Description:

    • User selects Discovery in Navbar
    • User selects Quizzes in Discovery
    • User selects Play Game button to single play
    • System show questions in Quizzes and user answers it
  • Structure:

    Alt text

View my Quizzes

  • Purpose: Allow users to see their quizzes or host the game with the quiz chosen.

  • Targeted user: Online quiz game players who want to see their quizzes were created or edit questions were created in the quizzes (they also can host games here). This includes students, teachers, trivia enthusiasts,...

  • Description:

    • User selects “My Quizzes” on the Navbar.
    • User can see their list of quizzes created. In each quiz, they can edit the question or start the game with this quiz.
    • User can organize these quizzes using various filters like categories, creation date,...
    • User selects the quiz that they want to see and edit the questions inside.
    • If there are no quizzes, the user can create their new sets by click “Create a new quizzes”
  • Structure:

    Alt text

Add to my Quizzes

  • Purpose: Allow users can clone the public quiz into their quizzes. After cloning the public quiz, they can edit the questions inside this quiz or host the game.

  • Targeted user: Online quiz game players who want to clone the public quizzes in the Discovery

  • Description:

    • User selects “Discovery” on the Navbar.
    • User can organize these quiz sets using various filters like categories, creation date,...
    • User selects “Add to My Quizzes” button on the public quiz that they want to see or clone into their quizzes
  • Structure:

    Alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published