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 ÿӡ
Trang 1ĈҤ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
- o0o - SVTH 1: NguyӉQ'X\Ĉҥo (1510654)
Trang 2ĈҫXÿӅOXұQiQ
3KiWWULӇQKӋWKӕQJÿjRWҥRKӛWUӧWKӵFWұSVLQK _
Trang 4Lӡ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
Trang 5Lӡ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
Trang 6Tóm tҳt luұQYăQ
1JjQKF{QJQJKӋWK{QJWLQKLӋQQD\ÿDQJSKiWWULӇQUҩWQKDQKOX{QÿzLKӓLQJXӗQQKkQOӵ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ҥQQj\OjWKӡLJLDQWKӵFWұSQKkQYLrQÿDQJWURQJJLDLÿRҥQQj\JӑLOjWKӵFWұSVLQK+LӋQWҥLÿDVӕFiFF{QJW\GRDQKQJKLӋSÿDQJÿjRWҥRWKӵFWұSVLQKWKHRSKѭѫQJSKiSJLDRFKRPӝ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ұSVLQKWURQJTXiWUuQKÿ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ҥRWKӵFWұSVLQKQKѭYұ\1KѭYұ\FK~QJWDFyWKӇWKҩ\QKXFҫX[k\GӵQJPӝWKӋWKӕQJTXҧ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ӕQJKӛ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ӃWURQJWKӡLJLDQWKDPJLDWKӵFWұSWӯÿyWәQJNӃWYj[k\GӵQJPӝWZHEVLWHKӛWUӧÿjRWҥRYjTXҧQOêWKӵFWұSVLQKYӟL QKӳQJFKӭFQăQJFăQEҧQQKѭVDX: ;k\GӵQJOӝWUuQKKӑFEjLKӑ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ÿҫXYjJӧLêFKRGRDQKQJKLӋSFiFWKӵFWұSVLQKFyQăQJOӵFWӕWQKҩW
%iRFiRQj\VӁWUuQKEj\ÿҫ\ÿӫFiFWtQKQăQJÿmQrXWUrQ
Trang 7MӨ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
Trang 8Bà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 <rXFҫXQJѭӡi dùng 30
<rXFҫu hӋ thӕng
ThiӃt kӃ hӋ thӕng
ThiӃt kӃ 8VH&DVH 33
ThiӃt kӃ FѫVӣ dӳ liӋu
&+ѬѪ1* 57
+,ӊN THӴC Hӊ THӔ1* 57
5.1 ThiӃt kӃ hӋ thӕng 57
QuҧQOêPmQJXӗn 57
5.3 KӃt quҧ hiӋn thӵc 58
5.3.1 1KyPFKӭFQăQJFKXQJ 58
1KyPFKӭFQăQJFKXQJFӫDQJѭӡi quҧQOêDGPLQ YjQJѭӡLKѭӟng dүn (mentor) 59
5.3.3 1KyPFKӭFQăQJQJѭӡi quҧQOêDGPLQ 61
Trang 95.3.4 1KyPFKӭFQăQJQJѭӡLKѭӟng dүn (mentor) 63
5.3.5 1KyPFKӭFQăQJWKӵc tұp sinh (mentee) 64
&+ѬѪ1* 68
TӘ1*.ӂT 68
6.1 KӃt quҧ ÿҥWÿѭӧc 68
Hҥn chӃ 68
6.3 +ѭӟng phát triӇQWѭѫQJODL 69
Trang 10'$1+6È&++Î1+9Ӏ
+uQK: Sӵ khác nhau vӅ luӗQJÿLFӫa ӭng dөQJ:HEWURQJ63$Yj03$ 4
+uQK9XH-6>@ 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
Trang 11Hì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
Trang 12Bҧ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
Trang 13Bҧ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
Trang 14Quá 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ӇÿҧPEҧRFKҩWOѭӧQJÿjRWҥRYjQJXӗQQKkQOӵFFKҩWOѭӧQJFDRFKRF{QJW\9ӟLPөFWLrXFKtQKOjÿjRWҥRTXҧQOêFKҩWOѭӧQJQăQJOӵFYjWKӕQJNrFiFFKӍVӕÿjRWҥRQKҵPÿѭDUDFiFJӧ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ҥWWURQJYLӋF[k\GӵQJFiFOӝWUuQKÿjRWҥRULrQJ"
x 9LӋFTXҧQOêJLDRWLӃSYjWѭѫQJWiFJLӳDQJѭӡLKѭӟQJGүQPHQWRU YjWKӵFWұSVLQKWK{QJTXDSKѭѫQJSKiSQjRÿӇÿҧPEҧRFKҩWOѭӧQJÿjRWҥR"
Trang 15x ;k\GӵQJKӋWKӕQJFiFFKӍVӕÿiQKJLiWKӵFWұSVLQKQKѭWKӃQjRÿӇFyWKӇSKKӧSYӟLFiFQKXFҫXNKiFKQKDXFӫDWӯQJGRDQKQJKLӋSFNJQJQKѭFyWKӇWKD\ÿәLNKLGRDQKQJKLӋ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ӋSWURQJYLӋFÿjRWҥRWKӵFWұSVLQKÿҧPEҧRFKҩWOѭӧQJQKkQVӵSKKӧSYӟLQKXFҫXFӫDGRDQKQJKLӋ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
Trang 16&+ѬѪ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$SScҫn phҧi là mӝW6LQJOH3DJH$SSOLFDWLRQ63$ 9ӟi nhu cҫXÿyUҩt nhiӅXIUDPHZRUNWKѭ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ӝWPyQKjQJWURQJPjQKuQKGDQKsá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/GDQKViFKFiFPyQKjQJThӃ 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
Trang 17chӫ ÿӇ 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ѭѫQJtá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
Trang 182.1.2 )UDPHZRUN SKiWWULӇQ)URQWHQG 9XH-6
9XH-6OjPӝt -DYD6FULSW)UDPHZRUNGQJÿӇ xây dӵng giao diӋQQJѭӡi dùng (user LQWHUIDFH