VIETNAM NATIONAL UNIVERSITY HCM UNIVERSITY OF INFORMATION TECHNOLOGY FACULTY OF INFORMATION SYSTEM NGUYEN VAN BAO - 18520494 GRADUATE THESIS BUILDING A CLOUD BASED QUIZ SYSTEM FOR STUDENT STUDYING BACHELOR OF ENGINEERING IN INFORMATION SYSTEMS THESIS ADVISOR PhD. NGUYEN THANH BINH HO CHI MINH CITY, 2024 Acknowledgment The thesis topic of building a cloud based quiz system for student studying is the content that I researched and made my graduation thesis after studying at the Faculty of Information Systems, University of Information Systems, University of Information Technology - Vietnam National University Ho Chi Minh City. While researching and completing the thesis, I received a lot of attention and support from teachers, colleagues, family, and friends. For the successful completion of this thesis, I would like to express my sincere thanks to: Faculty of Information Systems, University of Information Technology - Vietnam National University, Ho Chi Minh City has created a very good learning and training environment, providing me with useful knowledge and skills to help me apply and improve my skills advantages in writing the thesis.
Nguyen Thanh Binh is a teacher who wholeheartedly guided and helped me throughout researching and writing this thesis. He gave me some ideas and suggestions to help me complete this research. I would also like to thank the Board of Directors and teachers at the University of Information Technology for allowing me to study and work at the university to gain practical knowledge and experience. I have helpful information for my thesis.
Finally, I would like to thank my family and friends for always encouraging me and creating the best conditions for me to strive to complete my research project well. Sincerely thank! Nguyen Van Bao UNIVERSITY OF INFORMATION Advanced TECHNOLOGY Education Program ADVANCED PROGRAM IN INFORMATION SYSTEMS OUTLINE DETAILS THESIS TITLE: BUILDING A CLOUD BASED QUIZ SYSTEM FOR STUDENT STUDYING Advisor: Ph. Nguyen Thanh Binh Duration: 19/02/2024 — 08/06/2024 Student: Nguyen Van Bao - 18520494 Contents: e Details of what to be done: o Project Planning and Research: = Define the scope of project to be covered by the app. = Conduct research on existing quiz apps to identify features, user interfaces, and potential improvements.
o Development Environment Setup: = Set up the development environment, including version control, integrated development environment (IDE), and necessary tools. o Database Design and Security: = Design the database structure to efficiently store quiz-related data. o Feature Development: = Implement core features such as Exam Quiz, Daily Quiz, True/False Quiz, Math Quiz. Scope: o The project focuses on using Flutter Framework and Firebase Platform to build the mobile application.
o User Roles: = Admin: e Create and manage quizzes (Manage Daily Quiz, Manage Exam Quiz). e Track the number of people registered to use the application. = Users: e Register and create individual profiles. e View immediate detailed results.
o Exam Quiz Features: = Test your knowledge with Exam Quiz. Answer questions within a set time limit. o User Authentication and Security: = User Registration: Allow users to sign up or log in quickly with Google. = Data Privacy: Implement security measures to protect user data.
Objectives: o Define Quiz Management Features o Design Intuitive User Interface o Implement Core Features o Establish Data Security Measures o Adhere to Project Timeline Methodologies: Design Thinking, Database Design, Security Implementation. Expected results: For this thesis, I want to build and develop a fully featured application that offers different types of necessary knowledge. It also provides smooth and efficient learning, memorizing, and test-taking experience for everyone, especially students. Research timelines: 19/02/2024 to 05/03/2024: o Define project scope and objectives, set up project management tools and develop a detailed project plan.
05/03/2024 to 15/05/2024: o Research the technologies that will be used in the application (flutter and firebase). o Design architecture and build applications. 15/05/2024 to 08/06/2024: o Write the thesis report. Approved by the advisor(s) Ho Chi Minh City,.
Signature(s) of advisor(s) Signature(s) of student(s) TABLE OF CONTENTS Chapter 1: PROBLEM STATEMEEN TỪ. Subject and scope Of the S{UCỈY.-- 5 SG 33311919911 911191 19 9 ng rệt 3 1. Scope of the Study: 0. ce ceecesceceseceseecsseeeseeessecsacecsceceseesnecsseceseeceaeesaeeesseeeaeeeseeees 4 Chapter 2: LITERATURE REVIEỀW.
Introduction to Cloud-Based Learning Systems. Solutions Available on the Market. Student Engagement and Performance. Technologies for Cloud-Based Quiz Systems.
Case Studies and Applications .- --- + xxx nh nghiệt 9 2. Challenges and Future Directions. - - 5G n1 23 911931191191 kg re, 9 Chapter 3: BACKGROUND KNOWLEDGE. Android OS Overview.
HH TT TH TH HH nh 11 BLL.-- «+ + x1 9E nh nh ng tr 13 3. Visual Studio CO(e .- s1 ng ni ng Ti ng nh ng 20 3. Flutter - Cross platform for MObIÏÌe.- G113 E211 101191 91 911 1111 TH HH HH 24 3. ReactJS - Web Frontend Fram€WOTK.
LH 11g nh HH Họ ng 28 3. Dart LanBØUAØ€. LH ng TH HH ng re 28 3. 6 + 119v 9h nh HT HH nh nhà 28 3.
HH T9 TH HT HH Họ 29 ch Đo 7n. Javascript Language oo. eee eee c G TH TH TH TH nh HH 31 3.- G11 TH HH ng 31 K20. LH HH TH TH TH HH HH HH re 33 3.- 5G 0E TH nh ni 33 3.
Firebase - Cloud DB S€TVICC. G9 nh ng ng 36 3. 37 Chapter 4: ANALYSIS AND DESIGN. General arCH1f€CfUITE.
G1 101991 ng ng vết 41 4. Process on nỪDỪDỪ. Use-case øeneraÌ1ZtÏOI. Web ii ae Ơ.
List Of ACẨOTS.- Gv HT TH TH TH Tu HH nh nh 45 ““IPF loài. Use-case specification and diagrams. Mobile CÌÏI€TRE. 2n 1 1991191011 1 19h nh nh TH TH HH nh 91 4.
List Of AC[OTS. G1 TT HH ng TH TH nh 91 4. List Of USC-CASES.- HT TH TH TH HH nh 91 4. Use-case specification and diagrams.
LH TH TH TH TH TH HH HH Hi ng 106 “9. Web admin panelL. -- - «+ + x19 9v ng ng nh 118 Chapter 5: SUMMARY AND FUTURE WORK. - --- Án TH Hệ 127 IMAGE CATALOG Figure 2.
1: Architecture Of Android .- --- <6 2c 11x St vn hư 15 Figure 3. 2: Visual Studio Code ÏOØO.- dc + cv 9v ng gh n rưy20 Figure 3. 3: Flutter 1OG0 oe. 4: Flutter architectural OV€TVICW.
ng ng gà 25 Figure 3. 8: Real-time DatabasSe.- - s2 HT ng ng ng nhớt 37 Figure 3. - c- s 1135111230 931930 9119 1v ng ngư 39 Figure 3. 10: Sign-in Method oo.
11: Cloud FIT€S(OT€. 1: System ATChIt€CfUT€ .- 6 1S ng nưệp 41 Figure 4. 2: Process follow of web admin panel.-- ‹- «+ «+ ++xx+ereereesereke 42 Figure 4. 3: Process follow of mobile appÏIcaftIONn.
4: Use-case website øeneral1Z4fIOT. 5: Use-case mobile øeneral1ZatIOIA.- s5 + ++kE+svkEsseeseeeeesees 44 Figure 4. 6: Activity diagram: Sign 1T1. 7: Sequence diagram: Sign 1T\.
8: Activity diagram: Sign OU.- 5 s19 vn ng rưệt 49 Figure 4. 9: Sequence diagram: Sign OUK. 10: Activity diagram: Change password. 11: Sequence diagram: Change paSSWOT.
6 se svsrsesek 53 Figure 4. 12: Activity diagram: Create exam qu1z que€sfiOI. 13: Sequence diagram: Create exam QUIZ quesf1On. 14: Activity diagram: Update exam quiz quesf1on.
15: Sequence diagram: Update exam quiz queSfIOn. 16: Activity diagram: Delete exam quiz quesfIon. 17: Sequence diagram: Delete exam quiz quesfIOn. 18: Activity diagram: Create daily quiz quesfIOn.
19: Sequence diagram: Create daily quiz queSfIOn. 20: Activity diagram: Update daily quiz quesflon. 21: Sequence diagram: Update daily quiz question. 22: Activity diagram: Delete daily quiz quesfion.
23: Sequence diagram: Delete daily quiz quesfIOn. 24: Activity diagram: Create math quiz quesfIOn.- ---«++-ss++sss+ 73 Figure 4. 25: Sequence diagram: Create math quiz queSfIOn. 26: Activity diagram: Update math quiz quesf1on.
27: Sequence diagram: Update math quiz question. 28: Activity diagram: Delete math quiz quesfIOn. 29: Sequence diagram: Delete math quiz queSfIOn. 30: Activity diagram: Create true/false quiz queSfIOn.
31: Sequence diagram: Create true/false quiz quesfIon. 32: Activity diagram: Update true/false quiz question. 33: Sequence diagram: Update true/false quiz quesfIon. 34: Activity diagram: Delete true/false quiz quesfIon.
35: Sequence diagram: Delete true/false quiz quesfIon. 36: Activity diagram: View user list. esc eeceeseeseceeceseeceneceaeeeseeeeneeeees 90 Figure 4. 37: Sequence diagram: View USer list.
38: Activity diagram: Sign 1n apD.- -- 5 ca tk si, 93 Figure 4. 39: Sequence diagram: Sign iN apDD. 5 se rnriey 94 Figure 4. 40: Activity diagram: Sign OUt apD.
41: Sequence diagram: Sign OUf apDD. 42: Activity diagram: View pDTOẨTÏe. ng nrkp 97 Figure 4. 43: Sequence diagram: View DTOẨIÏ€.
44: Activity diagram: Take Exam Qu1zZ.- - -- 55+ +ss*++s+seesseexss 100 Figure 4. 45: Sequence diagram: Take Exam QUIZ .- 25 5< «<< ++se+se+ 100 Figure 4. 46: Activity diagram: Take Daily QQU17. 47: Sequence diagram: Take Daily (Qu1z.
48: Activity diagram: Take true/false Qu1z. 49: Sequence diagram: Take true/false Qu1z. 50: Activity diagram: Take Math Qu1z. 51: Sequence diagram: Take Math QQu1z.
52: UI of home Screen. 53: UI of Login SCreCN 0117. 54: UL Of nav-batt oo. 56: UI of quiz OV€TVI€W SCT€€N.
57: UI of result SCT@€T. G0 2011123119 111911 nh ng rưy 114 Figure 4. 58: UI of answer reVieW SCTC€T1. G1 nh ng nh 115 Figure 4.
59: UL of rank 0. 60: UL of profile (2i TM. 61: UI of login 012000. 62: UI of dashboard DaØG.
-- --- c1 123111911 9111111111 re ree 118 Figure 4. 63: UI of manage daily quiz D4©. 64: UI of create new question daily QU17. 65: UI of update question daily Quiz.
66: UI of setting daily QU12. - ó- 5 11191 931 vn ngư 120 Figure 4. 67: UI of manage true/false qU1Z DaØ©. 68: UI of add new question pop-up of true/false qu1Z.
69: UI of edit question pop-up of true/false qU1zZ. 70: UI of manage math quiz pAð©. 71: UI of add new question math quiz POP-UP. 72: UI of edit question math Quiz pOD-UD.
73: UI of manage exam QUIZ DA. 74: UI of add new question exam QUIZ pOp-UD. 75: UI of edit question math quiz DOD-UD.-- 25 5 5+5 ££+se++ess+ Figure 4. 76: UI of view user page TABLE CATALOG Table 4.
1: System’s actors nh. 2: List of use-case W€bSI€.- - su ng ng nh 45 Table 4. 3: Use case Specification: Sign 1T.- --- + xxx HH re, 46 Table 4. 4: Use case Specification: Sign OUK.- -c- ch nrưy49 Table 4.
5: Use case Specification: Change paSSWOTC. 5 Sex sskeseee 51 Table 4. 6: Use case Specification: Create exam quiz question. 7: Use case Specification: Update exam quiz question.
8: Use case Specification: Delete exam quiz question. 9: Use case Specification: Create daily quiz questIon. 10: Use case Specification: Update daily quiz question. 11: Use case Specification: Delete daily quiz questIon.
12: Use case Specification: Create math quiz questIon. 13: Use case Specification: Update math quiz quesfion. 14: Use case Specification: Delete math quiz question. 15: Use case Specification: Create true/false quiz quesfion.
16: Use case Specification: Update true/false quiz question. 17: Use case Specification: Delete true/false quiz question. 18: Use case Specification: View user ÏIS(.-- 5 «se seeeeeeees 89 Table 4. 20: List of US€ CAaS€S .- SG 1T ng TH HH nh 92 Table 4.
21: Use case Specification: Sign 1n app. ce eseesesscesecseceteceeeeneeseceeenees 92 Table 4. 22: Use case Specification: Sign OUt App. 23: Use case Specification: View DTOfTÏ€.- ---- ccs+c series 97 Table 4.
24: Use case Specification: Take eXam QUIZ.- --- 5 6s £+xs+eesecss 98 Table 4. 25: Use case Specification: Take daily QU1Z. 26: Use case Specification: Take true/false qu1Z. 27: Use case Specification: Take math QU1zZ.- - HH HH TH HH HH hcm 106 Table 4.
30: Myrecent_quizes l/21I1ai10 `. 31: Quizpapers COÏÏ€CfIOH.ó- s11 9n ng ng ng Table 4. 32: Questions €OÏÏ€CfIO. 33: AnsWers COÏÏ€CfIOI.