Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Description of Practical Assignment “Library of Quizzes”

Team of Developers
There is 3 students participating in the development of the system:
- Artem Podorozhko, ap22188 (a system for creating quizzes, a system for passing quizzes, as
well as a system for saving user results for statistics.)
-Andrii Kipriianov, ak22274 (user interface to view the list of quizzes; design, frontend, data
base structure)
- Pablo Aleksanders Kriado-Isačenoks, pa22015 (user interface to create quizzes, main page,
registration form, frontend)

Development Environment
It is planned to develop the system in PHP 7.1 environment using Laravel 5.6 library. It is planned to use
MySQL database for data storage. The code will be stored in the GitHub system.

Main Functionality
Project aims to develop a quiz library website, where registered users can create quizzes that will appear
on a publicly available list. The system will offer two key features, namely quiz creation and quiz taking.
Registered users will be able to create quizzes and define their questions and answers. Once created,
quizzes will be accessible to normal users who can pass them. Additionally, the system will allow users to
search for quizzes by specific keywords or browse quizzes by category.
Registered users will also have the option to save their quiz results for future reference and statistical
analysis. Overall, this project will require the development of both a quiz creation system and a quiz-
taking system to enable the site's intended functionality.

Data Registry
The most significant concepts in the system: user, quiz, category, keyword, result.
Relationships: a user can create a large number of quizzes (but not vice versa), a large number of quizzes
can belong to the same category, a large number of quizzes belong to the same list of keywords, a user
can have multiple results, not vice versa.
MVC
The system will be implemented following an MVC paradigm. The system will be distributed
into the following components:
Models:
 User,
 Quiz,
 Category,
 Keyword,
 Result;
View:
 Allows users to register and create a new account in the system.
 Allows registered users to create and publish new quizzes.
 Lists all the quizzes available in the system for normal users to take.
 Enables users to search and filter quizzes based on various criteria such as category or
keyword.
 Shows the results of a user who has taken a quiz.
 Allows creators of the quizzes to check the open type question and make a decision.
Controller:
 UserController; handles user-related actions such as user registration, login, and profile
updates.
 QuizController handles quiz-related actions such as quiz creation, editing, and deletion.
 CategoryController handles category-related actions such as category creation, editing,
and deletion.
 KeywordController handles keyword-related actions such as keyword creation, editing,
and deletion.
 ResultController handles result-related actions such as result saving, retrieval, and
analysis.
User Roles
The database supports a number of different user roles - a guest user, registered user, moderator, and
administrator. Each of these roles have different permissions available in the system.

Guest user:

 browse and search for public quizzes;


 view the quiz description and details;
 take quizzes.
Registered user:

 all the same permissions as a guest user;


 create new quizzes;
 edit and delete their own quizzes;
 view their quiz history and results.
Moderator:

 all the same permissions as a registered user;


 review and approve new quizzes;
 edit or delete any quiz content as necessary to ensure compliance with site rules.
Administrator:

 full access to all site features and data;


 manage user accounts;
 review and remove inappropriate content;
 perform database maintenance and backup operations.

User Authentication
For user authentication, the system allows for local registration and login or registration. The system also
provides password reset functionality and email verification to enhance security.

You might also like