1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp: An automatic system for questions management and multiple-choice test generation

62 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề An Automatic System for Questions Management and Multiple-Choice Test Generation
Tác giả Tran Hoang Dung, Pham Vo Quang Trung
Người hướng dẫn Ph.D. NGUYEN THANH BINH
Trường học University of Information Technology
Chuyên ngành Information Systems
Thể loại Thesis
Năm xuất bản 2020
Thành phố Ho Chi Minh City
Định dạng
Số trang 62
Dung lượng 27,62 MB

Cấu trúc

  • 1.1 š00 no. na (0)
  • 1.2 A Ý› (0)
    • 1.2.1 Some systems in Viet ẽNam............................ - 6 + St 1211111 1111910 HT HH HH gen 2 (13)
    • 1.2.2 Some systems in WorldWide .......................... - 6 611211 vn HH TH HH re 4 (15)
    • 1.2.3 Comment ..... aR ẽể7ốếổ “số `. hố (17)
  • 1.3 Objectives and SCOD€..................... 1E ST 11101 11111111 ngư 6 (17)
    • 1.3.1 Thesis ODJ€CfIV©S........................ Q.2 S9 TH TH TH TT TT TT HT HT TH TH TH gui 6 Cố. n6 €6 ểứ ` hố. h.“ (0)
  • Chapter 2 THEORETICAL BAASIS........................--..- - -- Ăn nh mg 7 (18)
    • 2.1 Technical background oo... cececccessesessssesesessesseseseseeseseseeseseeseseseeseeeseseeeesesseseeeesesseeeaes 7 (18)
      • 2.1.1 Programing langUagỹe............................. ---- c1 191191 19113111 19111 TT HT như 7 P.99) i0i0/0 201117577 (18)
    • 2.13. Database (23)
      • 2.1.4 Framework (25)
      • 2.1.5 Tools of implementation... eesesesescsseeeessesesceessesesescseseeseeesesseceeeesersrseacnesesereraeaes 15 (26)
    • 2.2 Theoretical background and our appèiCafùOn..................... - ¿5+ ++s+s+x+x+exexexerseexresexes 17 (28)
      • 2.2.1 Structure of quiz " (28)
      • 2.2.2 Manage variety type Of QUIZ... eee t4 9v 1991 HT HH HH 17 (28)
      • 2.2.3 Automatically generate quiz aẽỉOTItHhim....................... -- -- - - s5 +Sx#k#k+k#eEeketevekekrrsererervee 18 (29)
  • Chapter 3 SYSTEM ANALYSIS AND DESIGN....................................-.-- ST, 19 (30)
    • 3.1 Analysis requirements (30)
      • 3.1.1 Function requirements (30)
    • 3.3 Activity diagram (33)
      • 3.3.1 Login (33)
      • 3.3.3 AMSWEF MANAGCMENL n6 (0)
      • 3.3.4 Config management (36)
      • 3.3.5 Examination management Process ........cccssssessesessesesseseeesesceeeseeseseeeeseeeeaeeeseeseseeeeseeees 26 (37)
      • 3.3.6 Quiz MANAYEMENE PLOCESS ......................... -- + < %1 1v 1v TH HT TH ng ng 27 (0)
      • 3.3.7 QUIZ ỉ€n€TAf€ DTOC€SS.........................- SH HS HT HH TH TT TT TT TT Tàn 28 (0)
      • 3.3.8 Template management Process ..........................-- -- - + +2 + + x*x SE kg vn 29 (40)
      • 3.3.9 Topic management Process nh cố (41)
    • 3.4 Relational điaBT4Im.......................- - c2 233333133 335115111 1111211711111 11.1 TxrkE 32 (0)
      • 3.4.1 Relational diagram €SCTIDfIOT....................... 6 <6 + S3 1v E111 121 1h nung ri 32 (0)
  • Chapter 4 RESULTS AND DEPLOYMENT................................- .- SH ng 38 (49)
    • 4.1 Development enVirOnIm€II(.....................- -- - 5:52 S+S+EE+E+E+EEEESESEEEEEEESEEEEEEkrkrkrkrkrkrrrrrkek 38 (49)
      • 4.1.1 Back-endrun..................................... - ô5< Sàn HT TT TT TT 38 (49)
      • 4.1.2 User interface runnIng........................... ----- ‹- + tt 11v TT HH HH ng ngư 38 (49)
    • 4.2 Some graphical images of r€SUẽ(................... .-¿- - 2+ 232 33+ E*E+EESEtEEEEeEtrrerrtrrrrsrrrsrrsrerree 39 "9U (50)
      • 4.2.2 Dashboard page (51)
      • 4.2.3 Question page (51)
      • 4.2.4 Adding question (52)
      • 4.2.5 Answer page (52)
      • 4.2.6 Topic DAĐ€................................ Ăn HH ng HH TH TH TT HH gà nh rrè (0)
      • 4.2.7 Config pagếZ...4ấ...ô..........a....................ễ.......... .IỄ. HH HH nen gen ren (53)
      • 4.2.8 Adding config (54)
      • 4.2.9 Examination page .............................. 6-1 HH ngư 43 (54)
      • 4.2.10 Adding examination DÀ€.................... - ¿2c tt 912121 1 1 5 191912111 1 1g 01tr gry 44 (55)
      • 4.2.11 Template page " (55)
      • 4.2.12 QUIZ D56... sươm....TC.......... (TU... ca z‹ý....................................Đ.Q..QĂQ HH (0)
      • 4.2.13 Create QUiZ DA©.................... .- t1 TT HT HH TH TT TH TH Hà gà re 45 (56)
      • 4.2.14 User page " (57)
      • 4.2.15 oi 0... .ăỪỆỲỆỄỲỶD (0)
    • 4.3 P00 (0)
      • 4.3.1 Docker (58)
      • 4.3.2 Cloud (58)
    • 4.4 System test (59)
      • 4.4.1 Accuracy " (59)
      • 4.4.2 With human...............................---- + - S242 1 1 121 3 3 5121112111111 01H1 01101010 11011010 g1 ir. 48 (59)
      • 4.4.3 With others System (59)

Nội dung

VIETNAM NATIONAL UNIVERSITY HOCHIMINH CITYUNIVERSITY OF INFORMATION TECHNOLOGY ADVANCED PROGRAM IN INFORMATION SYSTEMS AN AUTOMATIC SYSTEM FOR QUESTIONS MANAGEMENT AND MULTIPLE-CHOICE TE

A Ý›

Some systems in Viet ẽNam - 6 + St 1211111 1111910 HT HH HH gen 2

1.2.1.1 Cungthi.online io 7 cungthi.online

Dễ dàng tạo va quản lý ngân hang câu hỏi theo chủ đề.

Tạo và quản lý nhóm, lớp học thuận tiện.

Bắt đầu cùng với cungthiontine

Cungthi is one of the most largest website in create quiz field With IT support, they do the quiz create very detail From class, from subject of student, With simple user interface, cungthi make teacher can easier to make their quiz and the question bank.

Besides that, cungthi support for uploading slide to teach online via the website. Student can access and view the video their teacher uploaded.

But this website seem like lack of support for teacher who is in the university and colleges

1.2.1.2 Studio.exam24h.com tIunf] =ằ=› Tạo một kờnh mới và đăng tải đề thi Online thật dễ dang sa 9 -R _

Trở thành kênh chính thức để tiếp cận nhiều người dùng hơn

Figure 1.2.2 studio.exam24.com website

This is another kind of website for creating quiz It’s like a education community which support some channel for studying belong with the quiz creating It’s allow user for sharing their knowledge and how to learn at school for another can read it.

Even have some good things like above The website still no support for foreign teacher which mean that only for vietnamese teacher can use this website.

Some systems in WorldWide - 6 611211 vn HH TH HH re 4

The quiz maker that's easy to use, fun and fully customizable HOW MUCH OF A GEEK ARE YOU? a

Why should you make a quiz?

Figure 1.2.3 Typeform.com website Typeform takes quizzes and makes them intuitive for both the creator and the user.

By offering one question at a time and delivering the quiz in an attractive, responsive interface, Typeform has become a leader in the world of online quizzes and surveys.

The platform is easy to use with its drag-and-drop editing tools It’s also versatile, offering customer surveys, quizzes, lead generation tools, and more There are numerous templates to choose from which can be customized to your individual needs.

Using Zapier, Typeform can be seamlessly integrated into CRM services like HubSpot This way, all the data you collect is automatically added to your existing contacts.

However, it’s important to note some people might feel frustrated when receiving questions one at a time, since it can be more time-consuming Additionally, the free version limits you to collecting only 100 responses per month.

ClassMarker can be used for:-

A) Business usage such as skills and employment testing

B) Schools and educational purposes C) Promotional tests

E) All of the above and more

ClassMarker gives you multiple options for displaying results to Test taker and sending Test results via email.

A) I can choose to display results to users instantly once the Test is completed

B) | can choose to hide or reveal the correct answers when displaying results to

C) I can see the Test Duration, Points scored, Percentage and other statistics with

Test results D) | can select to have Test results emailed to my Test takers and/or Myself.

ClassMarker is a quiz maker designed for education professionals with custom plans for business users, too You can create tests and exams online that are accessible to as many users as you like The test can be customized to your branding and can even include branded certificates A sophisticated results platform allows you to easily analyze the data and draw your conclusions.

This is a good option for large businesses who need to survey a lot of users Pricing plans are pretty competitive for the level of functionality and customization available.

Comment aR ẽể7ốếổ “số ` hố

Overall, all website above have some same function as: create a only quiz, make some new question and answer to the bank.

But there are some limit:

- The variety in type of test.

- Inability to automatically generate a printed sample of the quiz in a given format.

- Can not manually generate the test according to the predetermined diffuculty and format.

Objectives and SCOD€ 1E ST 11101 11111111 ngư 6

THEORETICAL BAASIS - - Ăn nh mg 7

Technical background oo cececccessesessssesesessesseseseseeseseseeseseeseseseeseeeseseeeesesseseeeesesseeeaes 7

Hypertext Markup Language(HTML) is the normal markup language for documents designed to be shown in a web browser It may be supported by technologies such as Cascading Style Sheets (CSS) and scripting languages like as JavaScript.

Website receive HTML reports file from an online server or local storage and render the documents into multimedia sites HTML groups the model of an internet page semantically and originally included cues for the looks of the document HTML components, written using angle brackets, are delineated by tags.

JavaScript(JS) is a very effective language for client-side scripting JavaScript is used specifically to enhance a user's engagement with the website In other words, with the assistance of JavaScript, you can make your website more colorful and social In game creation and smartphone device development, JavaScript is still commonly used.

Structure Query Language(SQL) is a database query language used in Relational DBMS for the collection and management of data SQL was the first commercial language introduced for the database Relational paradigm of E.F Codd Almost all RDBMS(MySq], Oracle, Infomix, Sybase, MS Access) now use SQL as the standard language for database queries In Relational Database Ma, SQL is used to run all types of data operations.

API is an acronym that stands for Platform for Application Programming More simply,the term is 'a set of functions and procedures enabling applications to be developed that access the OS, server, or other service features or data.' Currently, it is not a database,but rather a component of the server that helps multiple programs to attach with one another APIs work with the burden of accepting inquiries and returning answers as a middle man Imagining the rhythm of a restaurant may be a simple way of considering this You order a meal through the waiter(API) from the customer(your application),who then relays your order to the kitchen (the system) The kitchen produces the food(response) and it's taken back to you by the waiter it's important to recollect that these answers aren't exclusively limited to data alone which multiple APIs are often used for various purposes.

Your data and software (and brand) become more valuable by being leveraged by partners, developers, and third-party services.

*) | have access to apps that provide richer exper by leveraging the data and

Figure 2.1.2 Flow of using API

REpresentational State Transfer (REST) is an architectural style that describes a collection of web service creation restrictions to be used The REST API is a quick and versatile means of accessing web resources without any processing.

In general, REST technology is preferred to the more robust Basic Object AccessProtocol (SOAP) technology, since REST uses less bandwidth, making it faster and more versatile to use the internet It is used to collect or include such data from a web server Only the Hypertext Transmission Protocol (HTTP) request was used for allREST API communication.

Client sends a request HTTP methods Server sends a response

The word CRUD is closely associated with modern data processing CRUD applies, to be more precise, to the acronym of four simple persistent database server operators:

- Read or Retrieve (read datasets)

- Delete or Destroy (destroy datasets) Simply put, in order to build and handle data, the word CRUD sums up the functions that users require There are several data processing systems focused on

CRUD, whether the job involves handling files or using software, and sometimes these procedures are precisely customized to both the user and the device in question.

Following this, practices are important access resources that enable experts to check database issues CRUD for users involves the creation (creation) of an account that can be used (read), changed (updated), or removed at any time CRUD operations are performed very differently depending on the language environment, as the following table demonstrates:

CRUD Operation SQL RESTful HTTP

Table 2.1.1 Table of CRUD operation

Web-based programs are a special category of program that enables users, via a web browser interface, to communicate with a remote server In recent years, they have seen a massive rise in popularity, replacing desktop apps and being a critical platform for small and large organizations around the world.

Web-based programs, most importantly their portability, have a range of benefits over conventional desktop software Users don't have to install extra applications for web-based technology, and developers don't have to write several copies of the same program for different operating systems.

Figure 2.1.4 Web based application work

A hierarchical application system that divides activities or workloads between a resource or service provider, called servers, and service requesters, called clients, is the client-server model Clients and servers frequently operate on different machines over a data network, but both the client and the server can be on the same machine One or more server programs that share their services with clients are run by a server host A client does not share any of its services, but from a server it requests content or service. Therefore, clients begin chat sessions with servers, anticipating incoming requests. Examples of computer applications that use the client-server model are email, network printing, and the World Wide Web(WWW).

Clients — _ lai lý Pp Server

Database

A database may be a different program during which a group of knowledge is stored For building, accessing, maintaining, searching and replicating the information it contains, each database has one or more distinct APIs.

It is also possible to use other sorts of data stores, like files on the classification system or large hash tables in memory, except for those styles of structures, data collection and writing won't be so simple and convenient.

Nowadays, to store and handle massive volumes of information, we use computer database management systems (RDBMS) this can be called the electronic database

12 where all the data is contained in multiple tables and first keys or other keys like Primary Keys construct relationships.

A Relational DataBase Management System (RDBMS) is a software that —

Enables you to implement a database with tables, columns and indexes.

Guarantees the Referential Integrity between rows of various tables.

Interprets an SQL query and combines information from various tables.

For several small and big corporations, MySQL is a smooth, easy-to-use RDBMS. MySQL is produced, sold, and sponsored by a Swedish corporation named MySQL

AB For many good reasons, MySQL has been so popular-

MySQL is released under an open-source license So you have nothing to pay to use it.

MySQL is a very powerful program in its own right It handles a large subset of the functionality of the most expensive and powerful database packages. MySQL uses a standard form of the well-known SQL data language.

MySQL works on many operating systems and with many languages including PHP, PERL, C, C++, JAVA, etc.

MySQL works very quickly and works well even with large data sets.

MySQL is very friendly to PHP, the most appreciated language for web development.

MySQL supports large databases, up to 50 million rows or more in a table. The default file size limit for a table is 4GB, but you can increase this (if your operating system can handle it) to a theoretical limit of 8 million terabytes (TB).

MySQL is customizable The open-source GPL license allows programmers to modify the MySQL software to fit their own specific environments.

Vue js is a modern platform for user interface building (UI) Vue is built from the ground up to be incrementally adoptable, unlike other monolithic architectures The core repository focuses exclusively on the view layer and can quickly be picked up and combined with other repositories or current ventures In the other hand, when used in conjunction with current tooling and supporting libraries, Vue is also perfectly able to power complex single-page applications.

Node.js is a runtime environment for open-source and cross-platform JavaScript. For almost every form of project, it is a common method!

Outside of the browser, Node.js runs the V8 JavaScript engine, the foundation of Google Chrome This enables Node.js to be very powerful.

In a single method, a Node.js app is executed without generating a new thread for any order In its standard library, Node.js includes a series of asynchronous I/O primitives that prohibit JavaScript code from blocking and, in general, Node.js libraries are written using non-blocking paradigms, making blocking activity an exception rather than the rule.

Node.js will resume processes when the response comes back, instead of halting the thread and wasting processor cycles waiting as Node.js performs an I/O procedure, such as reading from the network, accessing a database or filesystem.

This helps Node.js to manage thousands of simultaneous host-to-single server connections without incurring the responsibility of handling thread rivalry, which may be a huge source of glitches.

Node.js has a unique benefit that, in addition to the client-side code, millions of frontend developers who write JavaScript for the browser are now able to write the server-side code without the need to learn an entirely new language.

You will quickly use the latest ECMAScript specifications of Node.js and you don't have to wait on all the users to upgrade their browsers - you are responsible for determining the version of ECMAScript to use by updating the version of Node.js, and you can even allow unique experimental features by running Node.js with flags.

The most popular Node web framework is Express, and for variety of other popular Node web frameworks, it's the elemental library It offers frameworks for:

- Write handlers for requests with different HTTP verbs at different URL paths (routes).

- Integrate with "view" rendering engines so as to get responses by inserting data into templates.

- Set common web application settings just like the port to use for connecting, and also the location of templates that are used for rendering the response.

- Add additional request processing "middleware" at any point within the request handling pipeline.

Although Express itself is fairly minimalist, developers have built compatible packages of middleware to unravel almost every issue with web creation Working with cookies, sessions, user logins, URL parameters, POST info, protection headers, and lots of more, libraries exist an inventory of packages of middleware managed by the Express team is found at Express Middleware (along with an inventory of some popular 3rd party packages).

Amazon web services are a set of cloud services that offer cloud-based processing, storage, and other features that enable companies and individuals to deliver on-demand and commodity-priced software and services Using REST and Basic Object Access Protocol (SOAP) protocols, Amazon Web Services services can be accessed via HTTP.

Docker is an open platform for creating, delivery, and running applications Docker empowers you to isolate your applications from your foundation so you will delivery software quickly With Docker, you'll be able to manage your infrastructure within the same ways you manage your applications By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you'll significantly reduce the delay between writing code and running it in production.

Theoretical background and our appèiCafùOn - ¿5+ ++s+s+x+x+exexexerseexresexes 17

Three required factors to generate a quiz:

- Template: This is a general frame of quiz Including answersheet and a section which displays information of that quiz This factor can be used for many quiz.

- Examination: Contains all information of an examination.

- Configuration: An important factor, it has number of question of each level and the total This one is inputed based on the need of user.

After choosing above elements, the system will get the template first, then fill information from an examination into it Then the system uses the configuration to take questions from database randomly but fit with requirement of user And these questions will be generated into the quiz In the end, user will receive the final quiz with exact requirement they chose in the begin.

2.2.2 Manage variety type of quiz

The quiz we make here to manage all the type of question like single-choice, multiple-choice, match, fill in the blank,

In order to store and using all the type of question, we create a question table to store the question content Then in the answer database, we using 3 element that can display all the answer of all type of questions.

Content: is the answer content that display in the quiz.

IsCorrect: is the correct answer ( with single and multiple choice question, display in 0 and I with | is the correct answer)

CorrectAnswer: normally if the question is single or multiple choice in here is blank, but if the question is match there is a correct answer with the content and the IsCorrect is 1 If the question is fill the blank CorrectAnswer here we store the correct word for the question.

We using rand() function in mysql base on the config database which store the number of question for each level.

The rand() function is returns a random floating-point value between the range 0 to

1 When a hard and fast integer value is passed as an argument, the worth is treated as a seed value and as a result, a repeatable sequence of column values are returned.

In our website, the we using the rand() syntax:

“SELECT ID FROM question where type = ${type} and level = '${level}' and IsDeleted = 0 ORDER BY RAND() LIMIT ${quantity}

With the type,quantity and level is pass throught the api And we using the rand() to get the random question id.

GET y http://localhost:5000/v1/question/getrandom?type=Single Choice&quantity=5&level=1

Params @ Authorization Headers (7) Body Pre-request Script Tests

3ody Cookies Headers (8) Test Results @ Status: 2000K Time: 126 ms

SYSTEM ANALYSIS AND DESIGN -. ST, 19

Analysis requirements

Question management: Allows adding, deleting, editing, support teacher to search with content they need

Answer management: Allows adding, deleting, editing, support teacher to search with content they need

Topic management: Allows adding, deleting, editing, support teacher to search with content they need.

Config management: allow adding, deleting, editing, support when creating config count total number of questions by each level.

Template management: allow deleting, adding by import file config with requirement inside Support to review config before create a complete quiz. Quiz management: allow view only Have a final page for print.

User management: allows adding, delete, editing for only admin and super admin.

Examination management: allows adding, deleting, editing All page must have a pagination, filter by value, order by id and export to excel if needed.

Requires website with friendly UI, can use easily for every teacher, stable and good performance.

WSs Question Topic ĐỘC Management

1 Super Highest authority, can do all function and account can not be

2 Admin Authorized by super admin, can do all functions but can not delete super admin

Teacher Normal account Do anything except user management

1 User management Add, delete, edit account.

Export all data to excel file

2 Question management Add, delete, edit question.

Export all data to excel file

3 Answer management Add, delete, edit Answer.

Export all data to excel file

4 Config management Add, delete, edit config.

Export all data to excel file

5 Template management View and import template.

6 Examination management Add, delete, edit examination Export all data to excel file

7 Question topic management Add, delete, edit question topic Export all data to excel file

8 Quiz management View and export all data

9 Topic management Add, delete, edit topic.

Export all data to excel file

Table 3.2.2 Description of use case

Activity diagram

Navigate to page belong with role

3.3.6 Quiz management process quiz management

Visit quiz generate manage site

Del ete ED Update page

3.3.9 Topic management process topic management

CieteSAt catetne rK | our mitt)

` pated: tt) £ ne ‘Question: ml)

Updated dan nà mw Croat) sDekro4 it

Descrator angst mẻ Headercontent longtet NumberQuestonteveSn$0)

Content String Main content of topic(topic name)

CreatedAt Datetime Time when created

UpdateAt Datetime Time when updated

Table 3.4.1 Description of topic table

CreatedBy Id of user create

Updateby Id of user update

IsDeleted Value to know which topic is delete or not

Table 3.4.2 Description of questiontopic table

NO Attribute name Datatypes Meaning ae ee oe

Content String Main content of topic(topic name)

CreatedAt Datetime Time when created

UpdateAt Datetime Time when updated

Table 3.4.3 Description of question table

NO Attribute name Datatypes Meaning

1 ID int Id of entry

Content String Main content of topic(topic name)

Question Int Id of question

}4 | IsCorrect Boolean Correct answer, use for choice question

5 CorrectAnswer String Correct answer, use for fill the blank question

/6 | CreatedBy Int Id of user create

7 CreatedAt Datetime Time when created

8| Updateby Int Id of user update

/9 | UpdateAt Datetime | Time when updated ime IsDeleted Int Value to know which topic is delete or not

Table 3.4.4 Description of answer table

NO Attributename Datatypes Meaning mm ID int Id of entry mm Duration Int Time of exam

3| Semester String Semester of exam

}4 | Notes String Notes of teacher for this exam

5 Department String Department of exam

}6 | Course String Course of exam

7 CourseCode String Course code of exam

/8 | Academic Year String Year of exam taken

/9 | Lecturer String Teacher who do this exam

10 | Description String Description about exam jue CreatedBy Int Id of user create

IV CreatedAt Datetime Time when created

Kee Updateby Int Id of user update

15 Int Value to know which topic is delete or not

Table 3.4.5 Description of examination table

NO Attribute name Datatypes Meaning

ID int Id of entry

TemplateName String Name of template

3 Description String Description of template

String Content of quiz String Answer sheet for quiz

Int Id of user create

TInt Id of user update

Datetime Time when updated Int Value to know which topic is delete or not

Table 3.4.6 Description of template table

NumberQuestionLevell Int Number of question level 1 NumberQuestionLevel2 Int Number of question level 2 NumberQuestionLevel3 Int Number of question level 3 NumberQuestionLevel4 Int Number of question level 4 NumberQuestionLevel5 Int Number of question level 5 NumberQuestionLevel6 Int Number of question level 6

NumberQuestionLevel7 Int Number of question level 7

NumberQuestionLevel9 — Int Number of question level 9

CreatedBy Id of user create

Updateby Id of user update

IS IsDeleted Value to know which topic is delete or not

Table 3.4.7 Description of config table

CreatedBy Id of user create

Updateby Id of user update

IsDeleted Value to know which topic is delete or not

Table 3.4.8 Description of quiz table

NO Attribute name Datatypes Meaning

ID int Id of entry

Quiz Int Id of quiz

3 QuestionID Int Id of question

}4 | CreatedBy Int Id of user create

CreatedAt Datetime Time when created

/6 | Updateby Int Id of user update

UpdateAt Datetime Time when updated

8| IsDeleted Int Value to know which topic is delete or not

Table 3.4.9 Description of quizcontent table

ID int Id of entry

Username String Username for user login

Password String Password for user login

4 | Fullname String Full name of user

Role ENUM Role of user

}6 | CreatedBy Int Id of user create

CreatedAt Datetime Time when created

8| Updateby Int Id of user update

/9 | UpdateAt Datetime Time when updated

IsDeleted Int Value to know which topic is delete or not

Table 3.4.10 Description of user table

Relational điaBT4Im .- - c2 233333133 335115111 1111211711111 11.1 TxrkE 32

Open terminal on folder backend

After install all packages needed.

Wait for it run to see: Database connected and then it’s work perfectly.

[nodemon] 2.8.4 [nodemon] to restart at any time, enter “rs”

[nodemon] watching extensions: js,mjs,7json [nodemon] starting “node index index.js”

Server is listening on port 5888 Database Connected!

Open terminal on folder frontend

After install all packages needed.

Wait for it run to see: html link of website and then it’s work perfectly.

RESULTS AND DEPLOYMENT - - SH ng 38

Development enVirOnIm€II( - - 5:52 S+S+EE+E+E+EEEESESEEEEEEESEEEEEEkrkrkrkrkrkrrrrrkek 38

Open terminal on folder backend

After install all packages needed.

Wait for it run to see: Database connected and then it’s work perfectly.

[nodemon] 2.8.4 [nodemon] to restart at any time, enter “rs”

[nodemon] watching extensions: js,mjs,7json [nodemon] starting “node index index.js”

Server is listening on port 5888 Database Connected!

Open terminal on folder frontend

After install all packages needed.

Wait for it run to see: html link of website and then it’s work perfectly.

Note that the development build is not optimized.

To create a production build, run npm run build.

Some graphical images of r€SUẽ( -¿- - 2+ 232 33+ E*E+EESEtEEEEeEtrrerrtrrrrsrrrsrrsrerree 39 "9U

Hl Deploying Nodes Apps to AW © Microsot Word - Onlin intelige x | (1) Messenge SIS TREE) @ Osis Warageme x - 8 x

4.2.11 Template page we Datecrests Template Name Description Status Actions

4.2.14 User page e 1D Ascend admin z#min@omallcom Super Admin Actos

P00

Firstly you need to install docker from here

Then run terminal in the folder backend

If it run like normal terminal run then it will display a same response.

Exit the process with CTRL + C

Now push the image to Ducker hub:

In here I use EC2 services in AWS for create an instance to running in linux for always run the api app in its

After setting all in EC2, we will head back the terminal and navigate to the folder where the key-pair you downloaded earlier is located It will be named as whatever you entered for the key-pair name, with a pem as its extension

Let’s change the key’s permissions and then SSH into the EC2 instance

$ chmod 400

From here, we just need to launch our app via Docker:

$ docker run —d —p 5000:5000 /appname

You'll be able to rach the instance using the same address you used to SSH into the instance Simply navigate the browser to:

Your app should return the status endpoint to you that we have done.

System test

By using automatically so that our system have the accuracy when create quiz is up to 99% with the time running very small

Our system reduce the time for quiz progress in about one or two days to at least 4-

6 hours to complete and print the quiz.

With others system, our system have the import and using template which no website online support it.

Chapter 5 CONCLUSION AND FUTURE WORK

After researching the project, tools, framework we have gained the following knowledge:

- Building a Quiz management system website with basic functions in manage and create quiz

- Learned a new framework: Nodejs, Vuejs, Docker

- Learned how to work with teammate under pressure

- Well-look UI, easy to use and easy maintanc, develope more function

- Safe storage question and answer bank in database

- The system brings many benefits to teacher by helping them reduce their time in create quiz.

- Our website function still limited

- Teacher need to have their own style in template for them to make their own quiz

- Time when get data from database still not stable when query a large question at the moment

- Need to optimize time for better time running when create quiz

- Have a multiple language for more wide use

- Need to make to a cross-platform application

- Need to develop a deep learning for evaluate the level of question due to real result in each exam taken to modify the level reasonable.

[1] Deploying Node.js Apps to AWS EC2 with Docker [Online] Available at:

[Accessed on 10" October 2020]

[2] Vue.js document [Online] Available at:

< https://vuejs.org/v2/guide > [Accessed on 5" July 2020]

[3] Nodejs document.[Online] Available at:

< https://nodejs.dev > [Accessed on 15 September 2020]

[4] Express.js document [Online] Available at:

[Accessed on 20" July 2020]

[7] Javascript introduction [Online] Available at:

[8] Introduction about SQL [Online] Available at:

< https://www.studytonight.com/dbms/introduction-to-sql.php > [Accessed on 17%

[9] Introduction about APIs [Online] Available at:

< https://dev.to/mshin1995/a-basic-introduction-to-apis-27a0> [Accessed on 24" July

[10] Restful api [Online] Available at:

< https://phpenthusiast.com/blog/what-is-rest-api > [Accessed on 22"4 June 2020]

[11] CRUD introduction [Online] Available at:

Ngày đăng: 02/10/2024, 04:13

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN