ĈҤI HӐC QUӔC GIA TP.HCM
75ѬӠ1*ĈҤI HӐC BÁCH KHOA
KHOA KHOA HӐC & KӺ THUҰT MÁY TÍNH
LUҰ19Ă17ӔT NGHIӊ3ĈҤI HӐC
PHÁT TRIӆN Hӊ THӔ1*Ĉ¬27ҤO HӚ TRӦ
THӴC TҰP SINH
Ngành: Khoa hӑc máy tính
HӜ,ĈӖNG: HӋ thӕng thông tin
GVHD: TS. Phan Trӑng Nhân
GVPB: ThS. NguyӉn Thanh Tùng
--- o0o --SVTH 1: NguyӉQ'X\Ĉҥo (1510654)
ĈҤ,+Ӑ&48Ӕ&*,$73+&0
---------75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$
KHOA:KH & KT Máy tính ____
%Ӝ0Ð1HTTT ____________
&Ӝ1*+Ñ$;+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0
ĈӝFOұS- 7ӵGR- +ҥQKSK~F
1+,ӊ09Ө/8Ұ1È17Ӕ71*+,ӊ3
&K~ê6LQKYLrQSK̫LGiQWͥQj\YjRWUDQJQK̭WFͯDE̫QWKX\͇WWUuQK
+Ӑ9¬7Ç1 1JX\ӉQ'X\ĈҥR _______________________ MSSV: 1510654 ______
+Ӑ9¬7Ç1 _____________________________________ MSSV: _____________
+Ӑ9¬7Ç1 _____________________________________ MSSV: _____________
NGÀNH: .KRDKӑF0i\WtQK ___________________ /Ӟ3______________________
ĈҫXÿӅOXұQiQ
3KiWWULӇQKӋWKӕQJÿjRWҥRKӛWUӧWKӵFWұSVLQK ______________________________________
___________________________________________________________________________
1KLӋPYө\rXFҫXYӅQӝLGXQJYjVӕOLӋXEDQÿҫX
ݲ7uPKLӇXYjSKkQWtFKFiFKӋWKӕQJKLӋQFy
ݲ7uPKLӇXFiFF{QJQJKӋKLӋQÿҥLÿӇSKiWWULӇQKӋWKӕQJ
ݲ1KұQGLӋQFiFEjLWRiQFyOLrQTXDQYjÿӅ[XҩWJLҧLSKiS
ݲ7KLӃWNӃKӋWKӕQJ
ݲ3KiWWULӇQSKLrQEҧQPүXFӫDKӋWKӕQJ
ݲ+RjQFKӍQKKӋWKӕQJ
ݲ7KӱQJKLӋPYjÿiQKJLiKӋWKӕQJ
1Jj\JLDRQKLӋPYөOXұQiQ 01/03/2021
1Jj\KRjQWKjQKQKLӋPYө 01/08/2021
+ӑWrQJLҧQJYLrQKѭӟQJGүQ
3KҫQKѭӟQJGүQ
1) 763KDQ7UӑQJ1KkQ ________________________________________________________
2) __________________________________________________________________________
3) __________________________________________________________________________
1ӝLGXQJYj\rXFҫX/971ÿmÿѭӧFWK{QJTXD%ӝP{Q
Ngày 01 tháng 03QăP2021
&+Ӫ1+,ӊ0%Ӝ0Ð1
*,Ҧ1*9,Ç1+ѬӞ1*'Ү1&+Ë1+
.êYjJKLU}K͕WrQ
.êYjJKLU}K͕WrQ
3*6767UҫQ0LQK4XDQJ
763KDQ7UӑQJ1KkQ
3+̮1'¬1+&+2.+2$%͠0Ð1
1JѭӡLGX\ӋWFKҩPVѫEӝ________________________
ĈѫQYӏ _______________________________________
1Jj\EҧRYӋ __________________________________
ĈLӇPWәQJNӃW _________________________________
1ѫLOѭXWUӳOXұQiQ _____________________________
75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$
KHOA KH & KT MÁY TÍNH
&Ӝ1*+Ñ$;+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0
ĈӝFOұS- 7ӵGR- +ҥQKSK~F
---------------------------Ngày 05 tháng 08 QăP 2021
3+,ӂ8&+Ҩ0%Ҧ29ӊ/971
'jQKFKRQJ˱ͥLK˱ͣQJG̳Q
+ӑYjWrQ69 1JX\ӉQ'X\ĈҥR
MSSV: 1510654
Ngành (chuyên ngành): .KRDKӑF0i\WtQK
ĈӅWjL 3KiWWULӇQKӋWKӕQJÿjRWҥRKӛWUӧWKӵFWұSVLQK
+ӑWrQQJѭӡLKѭӟQJGүQ 763KDQ7UӑQJ1KkQ
7әQJTXiWYӅEҧQWKX\ӃWPLQK
6ӕWUDQJ
6ӕFKѭѫQJ
6ӕEҧQJVӕOLӋX
6ӕKuQKYӁ
6ӕWjLOLӋXWKDPNKҧR
3KҫQPӅPWtQKWRiQ
+LӋQYұWVҧQSKҭP
7әQJTXiWYӅFiFEҧQYӁ
- 6ӕEҧQYӁ
%ҧQ$
%ҧQ$
.KәNKiF
- 6ӕEҧQYӁYӁWD\
6ӕEҧQYӁWUrQPi\WtQK
1KӳQJѭXÿLӇPFKtQKFӫD/971
-69ÿmWuPKLӇXYjSKkQWtFKQKӳQJWtQKQăQJFҫQFyFKRPӝWKӋWKӕQJÿjRWҥRKӛWUӧWKӵFWұSVLQK.
- +ӋWKӕQJÿѭӧFSKiWWULӇQ YӟLFiFF{QJQJKӋKLӋQÿҥLFiFFKӭFQăQJKӛWUӧFKRQJѭӡLJLiPViWWә
FKӭFWKӵFWұSYjWKӵFWұSVLQKWURQJTXiWUuQKWKӵFWұSWҥLÿѫQYӏ.
1KӳQJWKLӃXVyWFKtQKFӫD/971
-Các WtQKQăQJFӫDKӋWKӕQJFKѭDÿѭӧFSKiWWULӇQÿҫ\ÿӫYjÿҫXWѭFҫQWKLӃW.
ĈӅQJKӏĈѭӧFEҧRYӋ;
%әVXQJWKrPÿӇEҧRYӋ
FkXKӓL69SKҧLWUҧOӡLWUѭӟF+ӝLÿӗQJ
a.
b.
c.
ĈiQKJLiFKXQJEҵQJFKӳJLӓLNKi7% Khá *LӓL
.K{QJÿѭӧFEҧRYӋ
ĈLӇm: 8/10
.êWrQJKLU}KӑWrQ
3KDQ7UӑQJ1KkQ
LӡLFDPÿRDQ
Em [LQFDPÿRDQÿây là hӋ thӕng do chính em thӵc hiӋn. Các tài liӋu mà em tham
khҧRÿѭӧc sӱ dөng trong Luұn văQÿӅXÿѭӧc trích dүn ӣ phҫn tài liӋu tham khҧo. NӃu
khôQJÿúng nhѭ ÿã nêu trên, em xin hoàn toàn chӏu trách nhiӋm vӅ ÿӅ tài cӫa mình.
6LQKYLrQWKӵFKLӋQ
1JX\ӉQ'X\ĈҥR
Lӡi cҧPѫQ
LӡLÿҫu tiên, Em xin gӱi lӡi cҧPѫQFKkQWKjQKtӟi các Thҫy cô cӫD7UѭӡQJĈҥi hӑc
Bách Khoa, các thҫy cô khoa Khoa hӑc và Kӻ thuұt máy tính cӫD7UѭӡQJÿmWұn tình
Kѭӟng dүn và tҥRÿLӅu kiӋn cho em trong suӕt quá trình hӑc tұSFNJQJQKѭWURQJYLӋc
hoàn thành LuұQYăQWӕt nghiӋp.
Ĉһc biӋt em xin bày tӓ lòng biӃWѫQVkXVҳFÿӃn thҫy giáo TS. Phan Trӑng Nhân,
QJѭӡLWKҫ\ÿmWұQWuQKKѭӟQJGүQFKӍEҧRJL~SÿӥHPWURQJVXӕWWKӡLJLDQHPWKӵFKLӋQ
ÿӅWjL7Kҫ\FNJQJOjQJѭӡL JL~SHPÿӏQKKѭӟng, ÿѭDUDQKӳQJJySêTXêEiXYjNӏSWKӡL
ÿӇ HPFyWKӇ hoàn thành tӕt bài LuұQYăQWӕt nghiӋp cӫa mình.
&XӕL cùng, em xin FҧP ѫQ gia ÿuQK EҥQ bè, QJѭӡL thân ÿm luôn ӣ bên ÿӇ ÿӝQJ viên
và là QJXӗQ Fә YNJ OӟQ lao, là ÿӝQJ OӵF giúp em hoàn thành OXұQ YăQ này.
0һF dù ÿm Fӕ JҳQJ hoàn thành OXұQ YăQ trong SKҥP vi và NKҧ QăQJ Fy WKӇ Tuy nhiên
VӁ không tránh NKӓL QKӳQJ WKLӃX VyW Em UҩW mong QKұQ ÿѭӧF Vӵ FҧP thông và WұQ tình
FKӍ EҧR FӫD TXê WKҫ\ cô. Em FNJQJ xin OҳQJ nghe và WLӃS thu QKӳQJ ê NLӃQ FӫD giáo viên
SKҧQ ELӋQ ÿӇ hoàn WKLӋQ Eә sung QKӳQJ NLӃQ WKӭF còn WKLӃX VyW FӫD mình.
Em xin chân thành FҧP ѫQ
Tp. Hӗ &Kt0LQKWKiQJQăP
Tóm tҳt luұQYăQ
1JjQKF{QJQJKӋWK{QJWLQKLӋQQD\ÿDQJSKiWWULӇQUҩWQKDQKOX{QÿzLKӓLQJXӗQ
QKkQOӵFFKҩWOѭѫQJFDR1KѭQJWKӵFWUҥQJ KLӋQQD\KҫXKӃWFiFGRDQKQJKLӋSPXӕQFy
ÿѭӧFQKkQVӵÿiSӭQJ\rXFҫXVӁSKҧLÿjRWҥROҥLWURQJPӝWWKӡLJLDQQJҳQ*LDLÿRҥQ
Qj\OjWKӡLJLDQWKӵFWұSQKkQYLrQÿDQJWURQJJLDLÿRҥQQj\JӑLOjWKӵFWұSVLQK+LӋQ
WҥLÿDVӕFiFF{QJW\GRDQKQJKLӋSÿDQJÿjRWҥRWKӵFWұSVLQKWKHRSKѭѫQJSKiSJLDR
FKRPӝWQKkQYLrQFKtQKWKӭFÿmFyQKLӅXNLQKQJKLӋPÿӇTXҧQOêÿjRWҥR9LӋFQj\
WӗQWҥLQKLӅXEҩWFұSQKѭNK{QJWKHRG}LFөWKӇQăQJOӵFFӫDWKӵFWұSVLQKWURQJTXi
WUuQKÿjRWҥRNK{QJÿҧPEҧRÿѭӧFFKҩWOѭӧQJÿjRWҥRYjFKѭDKӋWKӕQJKRiTXiWUuQK
ÿjRWҥRQj\PһFGKҫXKӃWFiFF{QJW\GRDQKQJKLӋSWKѭӡQJ[X\rQFyFiFÿӧWÿjRWҥR
WKӵFWұSVLQKQKѭYұ\1KѭYұ\FK~QJWDFyWKӇWKҩ\QKXFҫX[k\GӵQJPӝWKӋWKӕQJ
TXҧQOêTXiWUuQKÿjRWҥRQj\OjUҩWFҫQWKLӃW JL~SFiFF{QJW\GRDQKQJKLӋSFyWKӇKӋ
WKӕQJKRiTXiWUuQKÿjRWҥRGӉGjQJTXҧQOêFKҩWOѭӧQJÿjRWҥRFNJQJQKѭOX{QQҳPEҳW
ÿѭӧFWUuQKÿӝYjQăQJOӵFFӫDFiFWKӵFWұSVLQK7ӯÿyHPÿm[k\GӵQJOrQPӝWKӋWKӕQJ
KӛWUӧTXҧQOêYjÿjRWҥRWKӵFWұSVLQKGjQKFKRFiFF{QJW\GRDQKQJKLӋSFKX\rQYӅ
F{QJQJKӋWK{QJWLQ
(PWKDPNKҧRêNLӃQWӯPӝWVӕF{QJW\GRDQKQJKLӋSYjQKuQQKұQWӯWKӵFWӃWURQJ
WKӡLJLDQWKDPJLDWKӵFWұSWӯÿyWәQJNӃWYj[k\GӵQJPӝWZHEVLWHKӛWUӧÿjRWҥRYj
TXҧQOêWKӵFWұSVLQKYӟL QKӳQJFKӭFQăQJFăQEҧQQKѭVDX: ;k\GӵQJOӝWUuQKKӑFEjL
KӑF FKRWKӵFWұSVLQKWҥRYjTXҧQOêFiFFKӍVӕJL~SOHDGHUYjPHQWRUFyWKӇTXҧQOê
FKҩWOѭӧQJÿjRWҥRÿDGҥQJKRiFiFEjLNLӇPWUDÿӇPHQWRUFyWKӇÿiQKJLiWKӵFWұSVLQK
ӣQKLӅXNKtDFҥQKKѫQWKӵFWұSVLQKWҥREiRFiRKjQJQJj\YjOjPFiFEjLNLӇPWUDÿӇ
PHQWRUFyWKӇWKHRG}LYjKӛWUӧNKLFҫQWKLӃWKӋWKӕQJGӵDWUrQFiFFKӍVӕEDQÿҫXYj
JӧLêFKRGRDQKQJKLӋSFiFWKӵFWұSVLQKFyQăQJOӵFWӕWQKҩW
%iRFiRQj\VӁWUuQKEj\ÿҫ\ÿӫFiFWtQKQăQJÿmQrXWUrQ
MӨC LӨC
&+ѬѪ1* .................................................................................................................... 1
*,Ӟ,7+,ӊ8Ĉӄ7¬, ..................................................................................................... 1
1.1
TәQJTXDQÿӅ tài .............................................................................................. 1
0өFWLrXYjSKҥPYLÿӅWjL .............................................................................. 1
1.3
&ҩXWU~FOXұQYăQ .............................................................................................
&+ѬѪ1* .................................................................................................................... 3
&Ѫ6Ӣ /é7+8<ӂ79¬&Ð1*1*+ӊ ...................................................................... 3
Các công nghӋ phía Client Side (Frontend)..................................................... 3
Single Page Application (SPA) .................................................................... 3
)UDPHZRUNSKiWWULӇQ)URQWHQG9XH-6 ........................................................ 5
0{KuQK0990Yj&RPSRQHQW.................................................................. 7
9XH5RXWHU ................................................................................................... 9
9XH[ ............................................................................................................. 9
TypeScript .................................................................................................. 11
7ҥRWUuQKVRҥQWKҧRYăQEҧQYӟL&.(GLWRU ................................................
Các công nghӋ phía Server Side (Backend) .................................................. 13
KiӃQWU~F5(67IXO$3, .............................................................................. 13
Ngôn ngӱ ÿӇ phát triӇQ%DFNHQG1RGH-6 .................................................. 14
Xӱ Oê$XWKHQWLFDWLRQYӟL-:7$-621:HE7RNHQ.............................. 16
-2,QSP ...................................................................................................... 17
&ѫVӣ dӳ liӋu MongoDB ............................................................................ 18
&+ѬѪ1* ..................................................................................................................
%¬,72È19¬*,Ҧ,3+È3 ........................................................................................
3.1
Bài toán xӱ OêYLӋc upload các tӋp .................................................................
Bài toán trình soҥn thҧRYăQEҧn....................................................................
3.3
Bài toán bҧo mұt hӋ thӕng .............................................................................
3.3.1 Bҧo mұt phía máy khách ............................................................................
Bҧo mұt phía máy chӫ ................................................................................
3.3.3 Bҧo mұWSKtDFѫVӣ dӳ liӋu.........................................................................
3.4
Bài toán vӅ sӵ linh hoҥt trong nhu cҫu sӱ dөng ............................................
3.4.1 Bài toán vӅ sӵ linh hoҥt trong nӝLGXQJÿjRWҥo ........................................
Bài toán vӅ gӧLêQKkQVӵ ...........................................................................
3.4.3 Bài toán vӅ sӵ linh hoҥWWURQJSKѭѫQJSKiSÿiQKJLi ...............................
&+ѬѪ1* .................................................................................................................. 30
3+Æ17Ë&+9¬7+,ӂT Kӂ Hӊ THӔ1* .................................................................. 30
4.1
Phân tích yêu cҫu ........................................................................................... 30
4.1.1 @ ........................................................................................................ 5
Hình /LIHF\FOH9XH-6>@ ........................................................................................ 6
+uQK.4: Cҩu trúc ӭng dөng tә chӭFGѭӟi dҥng cây component lӗng nhau >@ ............ 7
+uQK: Cҩu trúc Single File Component >@ .............................................................. 8
Hình : Code sӱ dөQJ9XH-5RXWHUÿӇ ÿӏnh tuyӃn trang Dashboard ........................... 9
+uQK6ѫÿӗ kiӃQWU~F9XH[>@ .............................................................................. 10
Hình : TypeScript >@............................................................................................... 11
+uQK*LDRGLӋn CKEditor >@ ................................................................................
+uQK: 1JX\rQOêKRҥWÿӝng cӫD5(67IXO$3, >@ ............................................. 14
+uQK. 11&ѫFKӃ asynchronous event-GULYHQWURQJ1RGH-6>@ ............................. 15
Hình 6ѫÿӗ hӋ thӕng sӱ dөQJ-:7 >@............................................................. 16
Hình 3.1: Trình soҥn thҧRYăQEҧn sӱ dөng CKEditor .................................................
+uQK: Activity Diagram cӫa lӟp bҧo mұWÿLӅu khiӇn truy cұp trên router..............
Hình 3.3: KiӇm thӱ dӳ lӋXSKtDPi\QJѭӡi dùng.........................................................
Hình 3.4: Các lӟp bҧo mұWÿmKLӋn thӵc trong hӋ thӕng...............................................
Hình 3.5: Cҩu trúc cӫa mӝt nӝLGXQJÿjRWҥo tӯ hӋ thӕng ...........................................
Hình 3. 6: Thông tin cӫa mӝt hӑc viên vӟi chӍ sӕ gӧLê5HFRPPHQG5DWH)...............
Hình 3. 7: Hình ҧnh vӅ bӝ các chӍ sӕ ÿiQKJLiFӫa hӋ thӕng .......................................
Hình 4.16ѫÿӗ kiӃn trúc hӋ thӕng...............................................................................
Hình 4. 8VH&DVHFKRFiFÿӕLWѭӧng trong hӋ thӕng ................................................ 33
Hình 4. 38VHFDVHFKRQJѭӡi quҧQOêDGPLQ ........................................................... 34
Hình 4. 48VHFDVHFKRQJѭӡLKѭӟng dүn (Mentor) .................................................... 41
Hình 4. 58VHFDVHFKRWKӵc tұp sinh (mentee) ........................................................... 47
Hình 4. 60{KuQK(5'Fӫa hӋ thӕng .........................................................................
Hình 5. 1*LDRGLӋQÿăQJQKұp .................................................................................... 58
+uQK: *LDRGLӋn quên mұt khҭu ............................................................................. 59
Hình 5. 3*LDRGLӋn chӍnh sӱa thông tin tài khoҧn ...................................................... 59
Hình 5. 4*LDRGLӋn dashboard .................................................................................... 60
Hình 5. 5: QuҧQOêQKyPQӝLGXQJÿjRWҥo .................................................................. 60
Hình 5. 6: ChӭFQăQJWҥo mӟLQKyPQӝi dung môn hӑc .............................................. 60
Hình 5. 7: ChӭFQăQJWҥo mӟi nӝi dung môn hӑc ........................................................ 61
Hình 5. 8: ChӭFQăQJFKӍnh sӱa nӝi dung môn hӑc ..................................................... 61
Hình 5. 9: ChӭFQăQJTXҧQOêEӝ chӍ sӕ ÿiQKJLiQăQJOӵc..........................................
Hình 5. 10: ChӭFQăQJWҥo tài khoҧn ............................................................................
Hình 5. 11: ChӭFQăQJSKkQF{QJQJѭӡLKѭӟng dүn và cҩp quyӅn truy cұp nӝi dung
ÿjRWҥo cho thӵc tұp sinh .............................................................................................. 63
+uQK: ChӭFQăQJFKҩPÿLӇm bài kiӇm tra cho thӵc tұp sinh .............................. 63
Hình 5. 13: ChӭFQăQJ[HPYjSKҧn hӗi báo cáo cӫa thӵc tұp sinh ............................ 64
Hình 5. 14: ChӭFQăQJ[HPFKӍ sӕ QăQJOӵc và nhҳc nhӣ công viӋc hàng ngày .......... 64
Hình 5. 15: ChӭFQăQJ[HPQӝLGXQJÿjRWҥo .............................................................. 65
Hình 5. 16: ChӭFQăQJOjPEjLÿiQKJLiQăQJOӵc ....................................................... 65
Hình 5. 17: ChӭFQăQJOjPEjLNLӇm tra ...................................................................... 66
Hình 5. 18*LDRGLӋn tҥREiRFiRFKRQJѭӡLKѭӟng dүn ........................................... 66
Hình 5. 19*LDRGLӋn xem phҧn hӗi cӫDQJѭӡLKѭӟng dүn ......................................... 67
'$1+6È&+%Ҧ1*
Bҧng 4. 18VHFDVH- cұp nhұt thông tin cá nhân ......................................................... 35
BҧQJ8VHFDVH– [HPWK{QJWLQÿiQKJLiQăQJOӵc cӫa các thӵc tұp sinh ............ 35
Bҧng 4. 38VHFDVH– QuҧQOêFiFQKyPQӝLGXQJÿjRWҥo (tҥo mӟi) ......................... 36
Bҧng 4. 48VHFDVH– QuҧQOêFiFQKyPQӝLGXQJÿjRWҥo (chӍnh sӱa hoһc xoá) ....... 37
Bҧng 4. 58VHFDVH– QuҧQOêQӝLGXQJÿjRWҥo (tҥo mӟi) .......................................... 37
Bҧng 4. 68VHFDVH– QuҧQOêQӝLGXQJÿjRWҥo (chӍnh sӱa) ....................................... 38
Bҧng 4. 78VHFDVH– QuҧQOêQӝLGXQJÿjRWҥo (xoá) ................................................ 38
Bҧng 4. 88VHFDVH– QuҧQOêWjLNKRҧn thӵc tұSVLQKYjQJѭӡLKѭӟng dүn (tҥo mӟi) 39
Bҧng 4. 98VH&ase – 3KkQF{QJQJѭӡLKѭӟng dүn và cҩp quyӅn truy cұp nӝi dung
hӑc cho thӵc tұp sinh .................................................................................................... 39
Bҧng 4. 108VHFDVH– QuҧQOêEӝ các chӍ sӕ ÿiQKJLiWKӵc tұp sinh (tҥo mӟi).......... 40
Bҧng 4. 118VHFDVH- QuҧQOêEӝ các chӍ sӕ ÿiQKJLiWKӵc tұp sinh (chӍnh sӱa) ....... 40
BҧQJ8VHFDVH- QuҧQOêEӝ các chӍ sӕ ÿiQKJLiWKӵc tұp sinh (xoá)................. 40
Bҧng 4. 138VHFDVH– cұp nhұt thông tin cá nhân ......................................................
Bҧng 4. 148VHFDVH– [HPWK{QJWLQÿiQKJLiQăQJOӵc cӫa các thӵc tұp sinh ..........
Bҧng 4. 158VHFDVH– QuҧQOêFiFQKyPQӝLGXQJÿjRWҥo (tҥo mӟi) ....................... 43
Bҧng 4. 168VHFDVH– QuҧQOêFiFQKyPQӝLGXQJÿjRWҥo (chӍnh sӱa hoһc xoá) ..... 43
Bҧng 4. 178VHFDVH– QuҧQOêQӝLGXQJÿjRWҥo (tҥo mӟi) ........................................ 44
Bҧng 4. 188VHFDVH– QuҧQOêQӝLGXQJÿjRWҥo (chӍnh sӱa) ..................................... 44
Bҧng 4. 198VHFDVH– QuҧQOêQӝLGXQJÿjRWҥo (xoá) .............................................. 45
BҧQJ8VHFDVH– Phҧn hӗi báo cáo (daily report) cӫa thӵc tұp sinh .................. 45
BҧQJ8VHFDVH– ChҩPÿLӇPFKREjLÿiQKJLiQăQJOӵc cӫa thӵc tұp sinh ....... 46
BҧQJ8VHFDVH– ChҩPÿLӇm cho bài kiӇm tra cӫa thӵc tұp sinh....................... 46
BҧQJ8VHFDVH– cұp nhұt thông tin cá nhân ...................................................... 48
BҧQJ8VHFDVH– Xem thông tin vӅ các chӍ sӕ ÿiQKJLiQăQJOӵc ...................... 48
BҧQJ8VHFDVH– Truy cұp và hӑc các nӝLGXQJÿjRWҥRÿmÿѭӧc cҩp quyӅn ..... 49
BҧQJ8VHFDVH– /jPEjLÿiQKJLiQăQJOӵc (nӃXFy ....................................... 49
BҧQJ8VHFDVH– Làm bài kiӇm tra sau mӛi bài hӑc ........................................... 50
BҧQJ8VHFDVH– TҥREiRFiRFKRQJѭӡLKѭӟng dүn.......................................... 50
BҧQJ8VHFDVH– TҥREiRFiRFKRQJѭӡi Kѭӟng dүn.......................................... 51
Bҧng 4. 308VHFDVH– ĈăQJQKұp ............................................................................... 51
Bҧng 4. 318VHFDVH– Lҩy lҥi mұt khҭu .....................................................................
BҧQJ6FKHPD5ROH ............................................................................................. 53
Bҧng 4. 336FKHPD8VHU ............................................................................................. 53
Bҧng 4. 346FKHPD6XE,QGH[...................................................................................... 53
Bҧng 4. 35: Schema Assign .......................................................................................... 54
Bҧng 4. 36: Schema Subject ......................................................................................... 54
Bҧng 4. 37: Schema Course.......................................................................................... 54
Bҧng 4. 38: Schema Days ............................................................................................. 55
Bҧng 4. 39: Schema Lessions ....................................................................................... 55
Bҧng 4. 40: Schema Questions ..................................................................................... 55
Bҧng 4. 416FKHPD$QVZHUV ....................................................................................... 56
BҧQJ6FKHPD5HSRUWV ........................................................................................ 56
Bҧng 5. 1: Công nghӋ sӱ dөng trong hӋ thӕng ............................................................. 57
&+ѬѪ1*
*,Ӟ,7+,ӊ8 Ĉӄ7¬,
1.1 TәQJTXDQ ÿӅ tài
Trong bӕi cҧnh hӋ thӕng các chѭѫng trìQKÿào tҥo nӝi bӝ trong doanh nghiӋp còn khá
mӟi mҿ, viӋc triӇQNKDLÿào tҥo còn gһp khá nhiӅu nhӳng khy khăn. Mӛi doanh nghiӋp,
tә chӭc cy nét văn hyDÿһc thù khác nhau nên các chѭѫng trình cNJng cҫQÿѭӧc xây dӵng
phù hӧSĈӇ cy hѭӟQJÿLÿúQJÿҳn, doanh nghiӋp cҫn hiӇu chҳc chҳn vӅ ÿào tҥo nӝi bӝ
và các vҩQÿӅ liên quan.
Ĉào tҥo nӝi bӝ là quá trình các nhân viên trong doanh nghiӋSÿҥWÿѭӧc các kӻ năng
cҫn thiӃt trong trong công viӋc thông qua các khya hӑc, chѭѫng trìQKÿào tҥo do doanh
nghiӋp tә chӭc, xây dӵQJĈây là quá trình nӅn tҧng cho sӵ thành công cӫa bҩt kǤ tә
chӭc, doanh nghiӋp nào.
Quá trìQKÿào tҥo nӝi bӝ gҳn liӅn vӟi viӋc duy trì nhân viên, nâng cao kӻ năng và các
kiӃn thӭc chuyên môn, nâng cao hiӋu suҩt công viӋc cho mӛi cá nhân trong doanh
nghiӋp.
ĈӇJLҧLTX\ӃWYҩQÿӅWUrQHPÿmTX\ӃWÿӏQKFKӑQ ÿӅWjL³3KiWWULӇQKӋWKӕQJKӛWUӧ
ÿjRWҥRWKӵFWұSVLQK´
1.2 0өFWLrXYjSKҥPYLÿӅWjL
ĈӅWjL³3KiWWULӇQKӋWKӕQJKӛWUӧÿjRWҥRWKӵFWұSVLQK´QKҵPKѭӟQJÿӃQJL~S
FiFF{QJW\GRDQKQJKLӋSFyWKӇKӋWKӕQJKRiTXiWUuQKÿjRWҥRQKkQVӵÿӇFyWKӇÿҧP
EҧRFKҩWOѭӧQJÿjRWҥRYjQJXӗQQKkQOӵFFKҩWOѭӧQJFDRFKRF{QJW\9ӟLPөFWLrX
FKtQKOjÿjRWҥRTXҧQOêFKҩWOѭӧQJQăQJOӵFYjWKӕQJNrFiFFKӍVӕÿjRWҥRQKҵPÿѭD
UDFiFJӧLêQKkQVӵFKRF{QJW\GRDQKQJKLӋS9LӋF[k\GӵQJPӝWKӋWKӕQJQKѭWUrQ
ÿһWUD PӝWVӕEjLWRiQQKѭ
x 3KkQFKLDQKkQVӵÿjRWҥRQKѭWKӃQjR"
x ;k\GӵQJ ORJLFWҥROӝWUuQKKӑFQKѭWKӃQjRÿӇGRDQKQJKLӋSFyWKӇOLQKKRҥW
WURQJYLӋF[k\GӵQJFiFOӝWUuQKÿjRWҥRULrQJ"
x 9LӋFTXҧQOêJLDRWLӃSYjWѭѫQJWiFJLӳDQJѭӡLKѭӟQJGүQPHQWRUYjWKӵFWұS
VLQKWK{QJTXDSKѭѫQJSKiSQjRÿӇÿҧPEҧRFKҩWOѭӧQJÿjRWҥR"
1
x ;k\GӵQJKӋWKӕQJFiFFKӍVӕÿiQKJLiWKӵFWұSVLQKQKѭWKӃQjRÿӇFyWKӇSK
KӧSYӟLFiFQKXFҫXNKiFKQKDXFӫDWӯQJGRDQKQJKLӋSFNJQJQKѭFyWKӇWKD\ÿәL
NKLGRDQKQJKLӋSWKD\ÿәLQKX FҫXFKӍWLrXPӟL"
x /jPVDRÿӇFyWKӇÿѭDUDFiFJӧLêQKkQVӵSKKӧSQKҩWFKRF{QJW\"
x 7KLӃWNӃFѫVӣGӳOLӋXUDVDR"
x 1rQVӱGөQJF{QJQJKӋJu"
+ӋWKӕQJPjHP[k\GӵQJFyWKӇÿiSӭQJÿѭӧFFiFQKXFҫXFѫEҧQFӫDGRDQKQJKLӋS
WURQJYLӋFÿjRWҥRWKӵFWұSVLQKÿҧPEҧRFKҩWOѭӧQJQKkQVӵSKKӧSYӟLQKXFҫXFӫD
GRDQKQJKLӋS
1.3 &ҩXWU~FOXұQYăQ
Phҫn còn lҥi cӫa bҧn báo cáo luұQYăQVӁ ÿѭӧc tә chӭFQKѭVDX
x &KѭѫQJ&ѫVӣ OêWKX\Ӄt và công nghӋ
x &KѭѫQJ: Bài toán và giҧi pháp
x &KѭѫQJ: Phân tích và thiӃt kӃ hӋ thӕng
x &KѭѫQJ: HiӋn thӵc hӋ thӕng
x &KѭѫQJ: Tәng kӃt
2
&+ѬѪ1* 2
&Ѫ6Ӣ LÝ THUYӂT VÀ CÔNG NGHӊ
Trong quá trình làm luұn văn, khi tìm hѭӟng giҧi quyӃt cho tӯng bài toán, em ÿã
nghiên cӭu YjÿѭDUDFiFJLҧLSKiS cNJng nhѭ nhӳng công nghӋ giúp em giҧi quyӃWÿѭӧc
nhӳng khúc mҳc gһp phҧL6DXÿây, em xin trình bày vӅ các cѫ sӣ lê thuyӃt và công nghӋ
chính mà em ÿã sӱ dөng.
2.1 &iFF{QJQJKӋ SKtD&OLHQW6LGH)URQWHQG
:HEÿmFyWӯ rҩWOkXYjQJj\QD\ÿmOjPӝt trong hai nӅn tҧng chính cӫa các phҫn
mӅm, cùng vӟLGLÿӝQJ:HEÿmSKiWWULӇn liên tөc trong nhiӅXQăPYjJLӡ ÿk\Yӟi sӵ
bùng nә cӫDÿLӋn thoҥLGLÿӝQJ3URJUHVVLYH:HE$SSÿDQJGҫn thay thӃ cho các trang
ZHEWUX\Ӆn thӕng vì nhiӅXÿһFÿLӇm tiӋn lӧLѭXYLӋt cӫDQy0ӝW3URJUHVVLYH:HE$SS
cҫn phҧi là mӝW6LQJOH3DJH$SSOLFDWLRQ63$9ӟi nhu cҫXÿyUҩt nhiӅXIUDPHZRUN
WKѭYLӋn Irontend mҥnh mӁ ÿmUDÿӡLÿӇ giúp lұp trình viên xây dӵQJÿѭӧc nhӳng trang
ZHE63$WѭѫQJWiFFDRhiӋu suҩt tӕt mà ít tӕn công sӭc, thӡi gian.
2.1.1 6LQJOH3DJH$SSOLFDWLRQ63$
:HEOjPӝt ӭng dөng mҥQJÿmWӗn tҥi tӯ nhӳQJQăP-1990, trҧi qua nhiӅu thӡi
kǤ khác nhau, tӯ thӡi mà mӛi khi nhҩp chuӝt vào mӝWPyQKjQJWURQJPjQKuQKGDQK
sách hàng, ngѭӡi dùng phҧi chӡ ÿӧi rҩWOkXÿӇ trình duyӋt tҧi nguyên mӝt trang HTML
vӅ chi tiӃWPyQKjQJWӯ máy chӫ vӅ ÿӇ hiӇn thӏ FKRQJѭӡi dùng. Trang HTML chi tiӃt
PyQKjQJFyFKXQJ+HDGHU)RRWHU6LGHUYӟLWUDQJ+70/GDQKViFKFiFPyQKjQJ
ThӃ QKѭQJQyYүn phҧi tҧi lҥi tӯ ÿҫXYjÿLӅXÿyWҩt nhiên không tӕt vӅ mһt hiӋu suҩt.
Chính vì thӃ các kӻ VѭÿmWӕLѭXEҵng cách tҥo ra các kӻ thuұt giúp chӍ tҧi lҥi phҫn dӳ
liӋu cҫn thiӃt mà không cҫn phҧi tҧi lҥi hӃt toàn bӝ9jWӯ ÿyWKXұt ngӳ Single Page
Application (SPA) ra ÿӡi.
1yLPӝWFiFKÿѫQJLҧn, SPA là loҥi ӭng dөQJ:HEFKӍ bao gӗm 1 trang HTML duy
nhҩt. MӛLNKLFK~QJWDWѭѫQJWiFÿLӅXKѭӟng, phân trang... ta chӍ cҫn gӑL$3,ÿӃn máy
3
chӫ ÿӇ lҩy phҫn dӳ liӋu cҫn thiӃt rӗLVDXÿyFұp nhұt lҥi trên màn hình. Nhӳng thành
phҫn chung giӳa các trang (Header, Sider, Footer...) vүQÿѭӧc giӳ nguyên. SPA giӡ ÿk\
ÿmWUӣ WKjQKP{KuQK:HEWLrXFKXҭQYjFăQEҧn nhҩt cho mӑLWUDQJZHEFyWtQKWѭѫQJ
tác vӟLQJѭӡi dùng cao, và hӋ thӕQJPjQKyP[k\GӵQJFNJQJNK{QJQJRҥi lӋ.
'ѭӟLÿk\Oj mӝt hình ҧnh mô tҧ sӵ khác biӋt giӳa Single Page Application và Multiple
Page Application.
Hình 2.1: S khác nhau v͉ lu͛QJÿLFͯa ͱng dͭng Web trong SPA và MPA
4
2.1.2
)UDPHZRUN SKiWWULӇQ)URQWHQG 9XH-6
Hình 2.2: VueJS [2]
9XH-6OjPӝt -DYD6FULSW)UDPHZRUNGQJÿӇ xây dӵng giao diӋQQJѭӡi dùng (user
LQWHUIDFH9XHÿѭӧc thiӃt kӃ tӯ ÿҫXWKHRKѭӟng cho phép và khuyӃn khích viӋc phát
triӇn ӭng dөng theo tӯQJEѭӟF&yWKӇ ÿiSӭQJÿѭӧc nhu cҫu vӅ SPA (Single-Page
$SSOLFDWLRQV9XH-6FKӍ tұp trung vào phҫn giao diӋQQJѭӡLGQJQrQFyWKӇ tích hӧp
dӉ dàng vào project mӝWFiFKNKiÿѫQJLҧn. Mӑi hoҥWÿӝng cӫD9XHMVÿӅXÿѭӧF5HQGHU
và xӱ OêEҵQJ-DYDVFULSW&KtQKYuWKӃ ÿLӅXQj\OjPFKRZHEVLWHWUӣ nên nhҽ KѫQYjWӕc
ÿӝ FNJQJWUӣ QrQQKDQKKѫQ >@
9XH-6ÿѭӧc phát triӇn dӵDWUrQFiFWtQKQăQJYjFiFFiFKWKӭc thiӃt kӃ tӕt nhҩt tӯ các
IUDPHZRUNÿӕi thӫ QKѭ5HDFW-6$QJXODU-6&ө thӇ:
x Nhӓ gӑn và linh hoҥW9XH-6WKӵc sӵ rҩt gӑn nhҽ và dӉ dàng sӱ dөQJQKѭQJ
QyFNJQJUҩt hiӋu quҧ, dӉ bҧo trì, dӉ thӵc hiӋQWHVW1JRjLUD9XH-6FNJQJÿѭӧc
phát triӇQWKHRKѭӟng dӉ tích hӧp.
5
Hình 2.3/LIHF\cle VueJS [3]
6
x Single File Component: Mӛi component sӁ là 1 file duy nhҩt, tách 3 phҫn riêng
biӋW WHPSODWH +70/ -DYD6FULSW &66 ĈLӅu này giúp nâng cao tính tái sӱ
dөng.
x VueJS không yêu cҫX:HESDFN1Jѭӡi dùng có thӇ viӃt mӝt ӭng dөng ES6,
YjWKrPWKѭYLӋn nhanh chóng thông qua gói quҧn lý (package) hoһc CDN mà
QJѭӡi dùng muӕn sӱ dөng.
x Nhӳng plugin cҫn thiӃWÿѭӧc hӛ trӧ ÿҫ\ÿӫ: VueJS cung cҩp nhӳng plugin có
sҹQQKѭ9XH[9XH5RXWHU9XH-66HUYHU-6LGH5HQ-dering.
VueJS thӵc sӵ rҩt nhanh vì VueJS có phҫn lõi nhӓ gӑn tӕi ÿDYӟi khҧ QăQJWѭѫQJ
thích cao. Thay vì quҧQOê'20QKѭM4XHU\9XH-6Wұp trung vào dӳ liӋXQy[ӱ lý rҩt
gӑn gàng bҵng hӋ thӕng ràng buӝc dӳ liӋu phҧn ӭng hai chiӅu. Vì vұy em chӑn VueJS
ÿӇ sӱ dөng cho phía Frontend cӫa dӵ án.
2.1.3
Mô hình MVVM và Component
MVVM là viӃt tҳt cӫa Model-View-View Model. Trong MVVM, Model chӍ ÿѫQJLҧn
Ojÿҥi diӋn cho lӟp truy cұp dӳ liӋu cӫa ӭng dөng. Nó chӭa dӳ liӋu sӁ ÿѭӧc hiӇn thӏ cho
QJѭӡLGQJÿӇ thao tác hoһFWѭѫQJWiF0{KuQKQj\FKӍ có nhiӋm vө Oj[iFWKӵc dӳ liӋu.
0{KuQKQj\FNJQJNK{QJFyFiFKQjRÿӇ truy cұp API phө trӧ hoһc bên thӭ ÿӇ tҥo
hoһFOѭXGӳ liӋu - nó chӍ ÿѫQJLҧn là mӝt bӝ chӭDÿӇ chӭa dӳ liӋu mà VM (View Model)
lҩy và sӱ dөng.
Hình 2.4: C̭u trúc ͱng dͭng t͝ chͱFG˱ͣi d̩ng cây component l͛ng nhau [4]
7
- Xem thêm -