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

Luận văn tốt nghiệp Khoa học máy tính: Xây dựng hệ thống nghe và chia sẻ nhạc online

95 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 đề Xây dựng hệ thống nghe và chia sẻ nhạc online
Tác giả Hồ, Cường
Người hướng dẫn Ths. Vũ Đức Quang, Ths. Vũ Đức Quang
Trường học Đại Học Quốc Gia TP.HCM
Chuyên ngành Khoa học máy tính
Thể loại Luận văn tốt nghiệp
Thành phố TP.HCM
Định dạng
Số trang 95
Dung lượng 2,57 MB

Nội dung

Giӟi thiӋXÿӅ WjL Nhұn thҩy rҵng nӅn tҧng chia sҿ nhҥFQj\UҩWWK~Yӏ YjFyWtQKODQWӓD.KyDluұQQj\Kѭӟng tӟi viӋc tҥo ra mӝt ӭng dөng vӟLFiFWtQKQăQJFѫEҧn, vӯDÿӫ QKѭQJYүQÿiSӭQJÿѭӧc hҫu hӃWFiFQKXF

Trang 1

GVHD: ThҥFVƭ1JX\ӉQĈuQK7KjQK GVPB: ThҥFVƭ1JX\ӉQ7KDQK7QJ

-GF -

697+/r9ăQ7KL 

Trang 3

2

ѴI HҊC QUҌC GIA TP.HCM CҐE',Ly,ҐI CHҘ E',3A VI҇T NAM

- Ҿc lҨp - Tӌ do - HҢŶŚƉŚƷĐdZҙғE'ѴI HҊ,<,K

KHOA:<,Θ<dDĄLJƚşŶŚ _ NHIӊM VӨ LUҰ1È17ӔT NGHIӊP

BҐ DNE͗KHMT _ ŚƷlj͗^ŝŶŚǀŝġŶƉŚңŝĚĄŶƚӁ ŶăLJǀăŽƚƌĂŶŐŶŚҤt cӆa bңn thuyұƚƚƌŞŶŚ

HҊ sdE͗>ġsĉŶThi _MSSV: 1613289 E'E,͗,ҵ ThҺŶŐdŚƀŶŐdŝŶͺͺͺͺͺͺͺͺͺͺͺͺͺͺͺͺͺͺͺ>ҒP: _

1 ҥƵĜҲ luҨŶĄŶ͗

yąLJӌng Hҵ ThҺŶŐEŐŚĞsăŚŝĂ^ү NhҢc Online. _

2 Nhiҵm vӅ ;LJġƵĐҥu vҲ nҾŝĚƵŶŐǀăsҺ liҵƵďĂŶĜҥu):

‡ yąLJĚӌng mҾt hҵ thҺng chia sү nhҢĐƚƌġŶŶҲn tңŶŐǁĞď͘ҺŝƚӇӄŶŐůăĐĄĐĨŝůĞĂƵĚŝŽ͕ĐſŚҽ trӄ WtĜҳ ƚĉŶŐƚƌңi nghiҵŵŶŐӇӁŝĚƶŶŐƚƌġŶŵŽďŝůĞ͘

‡ Hҵ ThҺng sҰ tham khңo mҾt sҺ ƚşŶŚŶĉŶŐĐӆĂĐĄĐƚƌĂŶŐŶŐŚĞŶŚҢc trӌc tuyұŶŶŚӇNCT, Zing mp3, SpotŝĨLJ͕͙

‡ Hҵ thҺŶŐĐŚŽƉŚĠƉŶŐӇӁŝĚƶŶŐŶŐŚĞǀăĐŚŝĂƐү nhӋng bңn nhҢc cӆa hҸ

‡ Hҵ thҺŶŐĐſĐŚӈĐŶĉŶŐƚӇҿŶŐƚӌ zŽƵƚƵďĞŶŚӇůŝŬĞ͕ƐŚĂƌĞ͕ĐŽŵŵĞŶƚ͘

‡ Hҵ thҺŶŐĐžŶĐſĐĄĐĐŚӈĐŶĉŶŐŶŚӇƚҢo playlist, bңng xұp hҢŶŐąŵŶŚҢĐ͕džƵŚӇӀng, ƉŚąŶůŽҢi nhҢĐƚŚĞŽĐĂƐš͕ĐŚӆ ĜҲ, quҺĐŐŝĂ͙

‡ Giao diҵŶŶŐӇӁŝĚƶŶŐƚŚąŶƚŚŝҵn, dҴ sӊ dӅng, dҴ ůăŵƋƵĞŶǀӀŝŶŐӇӁi mӀi sӊ dӅng

Trang 4

‡ ĈmWuPKLӇXYjiSGөng tӕWÿѭӧFFiFF{QJQJKӋ web frontend: ReactJS, NextJS,

backend: NodeJS, NestJS, database: MongoDB

‡ KhӕLOѭӧQJF{QJYLӋc nhiӅXQKѭQJFyFӕ gҳQJÿӇ KRjQWKjQKOXұQYăQ

7 Nhӳng thiӃu VyWFKtQKFӫa LVTN:

‡ PhҫQÿiQKJLiWHVWLQJKӋ thӕQJFzQVѫVjL

‡ Giao diӋQZHEVLWHFKѭDÿiSӭQJWtQKUHVSRQVLYHFKRÿDWKLӃt bӏ

Nhӳng vҩQÿӅ bҧo mұt cho hӋ thӕQJFKѭDÿѭӧFFK~WUӑng

8 ĈӅ nghӏĈѭӧc bҧo vӋ Ŷ Bә VXQJWKrPÿӇ bҧo vӋ Ƒ K{QJÿѭӧc bҧo vӋ Ƒ

9 3 FkXKӓi SV phҧi trҧ lӡLWUѭӟc HӝLÿӗng:

10 ĈiQKJLiFKXQJ Eҵng chӳ: giӓLNKi7% giӓi ĈLӇm : 8.5/10

.êWrQ JKLU}Kӑ WrQ

Trang 5

3 Hӑ WrQQJѭӡi phҧn biӋn: ThS NguyӉQ7KDQK7QJ

4 TәQJTXiWYӅ bҧn thuyӃt minh:

- 6LQKYLrQKLӋn thӵc hӋ thӕQJQJKHYjFKLDVҿ nhҥc online

- 1JѭӡLGQJFyWKӇ tҥRGDQKViFKEjLKiWQJKHQKҥFYjFKRSKpSWҧi nhҥFWUrQWUDQJZHE

- 1JѭӡLGQJFyWKӇ chia sҿ EjLKiWFKRQJѭӡLNKiFWUrQKӋ thӕng ChӭFQăQJWKHRG}LFKRSKpSQJѭӡLGQJWKҩ\ÿѭӧc nhӳQJEjLKiWÿѭӧFWKtFKEӣLQJѭӡLÿѭӧFWKHRG}L

Trang 7

6

LӠI CҦM Ѫ1

-GF - LӡLÿҫXWLrQHP[LQÿѭӧc gӱi lӡi cҧPѫQÿӃn giҧQJYLrQKѭӟng dүQOjthҫy NguyӉQĈuQK7KjQK ÿmWұQWuQKKѭӟng dүn, truyӅQÿҥt cho em nhӳng kiӃn thӭc, kinh nghiӋPTXêEiXFNJQJQKѭJL~Sÿӥ em tұQWuQKWURQJVXӕt thӡi gian thӵc hiӋQNKyDluұQQj\(P[LQNtQKFK~FWKҫy sӭc khӓe, hҥQKSK~FYjWKjQKF{QJWUrQFRQÿѭӡng

sӵ nghiӋp giҧng dҥy

(PFNJQJ[Ln gӱi lӡi cҧPѫQFKkQWKjQKÿӃQWUѭӡQJĈҥi hӑF%iFK.KRD

73+&0YjQKӳQJFiQEӝ giҧQYLrQÿһc biӋWOjFiFJLҧQYLrQNKRD.KRDKӑFPi\WtQKÿmWҥRÿLӅu kiӋQYjP{LWUѭӡng hӑc tұp tӕW*L~SHPFyFiFNLӃn thӭc nӅn tҧng tӕWÿӇ OjPQӅQPyQJWKӵc hiӋQNKyDOXұQQj\

6DXFQJHPFNJQJWUkQWUӑng cҧPѫQJLDÿuQKQJѭӡLWKkQEҥQEqÿmӫng hӝ,

hӛ trӧ YjJL~Sÿӥ em trong suӕt thӡi gian qua

7S+&0QJj\«WKiQJ«QăP

/r9ăQ7KL

Trang 8

Nhұn thҩy rҵng 1 hӋ thӕQJFyWKӇ Fyÿҫ\ÿӫ WtQKQăQJFҧu tҩt cҧ nӅn tҧQJQKѭWUrQ(PÿmOrQêWKѭӣQJ[k\Gӵng 1 hӋ thӕQJQJKHYjFKLDVҿ nhҥFRQOLQH1ѫLOjVkQFKѫLFӫa tҩt cҧ mӑLQJѭӡi BҩWNuDLFNJQJFyWKӇ chia sҿ EjLKiWFӫDPuQK cho tҩt cҧ mӑLQJѭӡL9jKӋ thӕQJFyWKӇ FKRSKpSQJѭӡLGQJWѭѫQJWiFYӟLQKDXTXDFiFKuQKWKӭFQKѭOLNHFRPPHQWFKDW«1KѭOjPҥQJ[mKӝLÿtFKWKӵc HӋ thӕng FNJQJKӛ trӧ OѭXOҥLEjLKiWÿmXSORDGWҥRSOD\OLVW«1KѭOjӭng dөng nghe nhҥc

Trang 9

KӃt quҧ PRQJÿӧi: HiӋn thӵFKyDPҥQJ[mKӝLkPQKҥc vӟLÿҫ\ÿӫ FiFWtQKQăQJ

FѫEҧn nhҩWQKѭQJKHQKҥc, tҧi nhҥc, upload nhҥFFRPPHQWOLNHWuPNLӃm, chat,

Trang 11

10

MӨC LӨC

Ĉӄ &ѬѪ1*&+,7,ӂT 7

MӨC LӨC 10

DANH MӨ&+Î1+9Ӏ 13

DANH MӨC BҦNG 15

DANH MӨC TӮ VIӂT TҲT 9¬7+8ҰT NGӲ 16

7Ï07Ҳ7.+Ï$/8ҰN 18

&+ѬѪ1**,ӞI THIӊU 19

1.1 Mӣ ÿҫu 19

1.2 Giӟi thiӋXÿӅ WjL 19

1.3 Mөc tLrXFӫDÿӅ WjL 20

1.4 Phҥm vi tiӃp cұn cӫDÿӅ WjL 21

&+ѬѪ1*7Ә1*48$1Ĉӄ 7¬, 22

2.1 KhҧRViWWKӏ WUѭӡng 22

&iFQӅn tҧQJOLrQTXDQ 23

3KkQWtFKѭXQKѭӧFÿLӇPYjLQӅn tҧng 24

RDIO 24

DEEZER 24

8TRACK 25

SOUNDCLOUD 25

MYSPACE 26

GROOVESHARK 27

&+ѬѪ1*&Ѫ6Ӣ KHOA HӐ& &Ð1*1*+ӊ HIӊN THӴC 28

3.1 KiӃn thӭc nӅn tҧng 28

3.1.1 Container & Docker 28

D0i\FKӫ vұWOêYj9LUWXDO0DFKLQH 28

b Container 29

c Docker 30

3.1.2 KiӃQWU~F 31

&{QJQJKӋ hiӋn thӵc 35

3.2.1 Front-end 35

3.2.2 Back-end 42

.KiF 47

CHѬѪ1*3+Æ17Ë&+ 7+,ӂT Kӂ Hӊ THӔNG 53

0{Wҧ EjLWRiQSKkQWtFKWtQKQăQJ 53

4.2 KiӃQWU~FKӋ thӕng 56

Trang 12

11

/ѭӧWÿӗ Use case (Use case Diagram) 56

4.4 EER Diagram 60

4.4.1 Entity 60

4.4.2 Relation 67

4.5 ThiӃt kӃ FѫVӣ dӳ liӋu (Database) 68

&+ѬѪ1*7+,ӂT Kӂ GIAO DIӊN 74

5.1 0jQKuQKÿăQJQKұp 74

0jQKuQKÿăQJNt 74

0jQKuQKWUDQJFKӫ 75

0jQKuQKWUDQJTXҧQOêSURILOH 75

0jQKuQKWUDQJXSORDG 76

0jQKuQKWUDQJGDQKViFKXSORDG 76

0jQKuQKWUDQJTXҧQOêWKHRG}L 77

0jQKuQKWUDQJFiFEjLKiWÿmOLNH 77

0jQKuQKOӏch sӱ FiFEjLKiWÿmQJKH 78

0jQKuQKTXҧQOêSOD\OLVW 78

0jQKuQK&KDW 79

0jQKuQKEҧng xӃp hҥng 79

0jQKuQKGDQKViFKTXӕc gia 80

0jQKuQKGDQKViFKEjLKiWWKHRTXӕc gia 80

0jQKuQK7uPNLӃm 81

5.16 Popup comment 82

5.17 Popup add to playlist 82

5.18 Popup notification 83

0jQKuQK[HPSURILOHFiQKkQFӫDQJѭӡLNKiF 83

0jQKuQKQJKHQKҥc 84

5.21 Popup chӍnh sӱDEjLKiWWURQJGDQKViFKXSORDG 84

0jQKuQK[HPGDQKViFKEjLKiW\rXWKtFKFӫDQJѭӡLNKiF 85

0jQKuQKÿăQJQKұp trang admin 85

0jQKuQKWUDQJFKӫ trang admin 86

0jQKuQKWUDQJTXҧQOêEjLKiWWUDQJDGPLQ 86

0jQKuQKWUDQJTXҧQOêQJѭӡLGQJWUDQJDGPLQ 87

0jQKuQKWUDQJTXҧQOêEiRFiRWUDQJDGPLQ 87

&+ѬѪ1*7ӘNG Kӂ79¬+ѬӞ1*3+È775,ӆN 89

6.1 KӃt quҧ ÿҥWÿѭӧc 89

6.2 Thuұn lӧLYjNKyNKăQ 90

Trang 13

12

+ѭӟQJSKiWWULӇn 91 7¬,/,ӊU THAM KHҦ29¬1*8ӖN ҦNH 93

Trang 14

13

DANH MӨ&+Î1+9Ӏ

+uQK%LӇXÿӗ P{Wҧ QJѭӡLGQJVӱ dөQJF{QJFө JuÿӇ nghe nhҥc [2] 22

Hunh 2.2 BiӇXÿӗ thӇ hiӋn sӵ phә biӃn cӫDFiFQӅn tҧng stream nhҥc [3] 23

Hunh 2.1 Docker 28

HuQK0{KuQKPi\FKӫ vұWOêQJj\[ѭD 28

HuQK0{KuQKYLUWXDOL]DWLRQ 29

HuQK0{KuQKFRQWDLQHU 30

+uQK0{KuQKOӟp [8] 31

+uQK0{KuQK3XE6XE>@ 33

+uQK6RViQK3XE6XEYj2EVHUYDEOH>@ 33

+uQK$QW'HVLJQ 38

+uQK)ORZKRҥWÿӝng cӫa redux [15] 40

+uQK$SROOR&OLHQW 41

+uQK1RGH-6 42

+uQK-:7 46

+uQK)ORZ[ӱ OêFӫa JWT 47

+uQKGraphql 48

+uQK6RViQK5HVW$3,Yj*UDSKTO$3, 49

+uQK)LUHEDVHVWRUDJH 50

+uQK7\SH6FULSW 51

+uQK.LӃQWU~FKӋ thӕng 56

+uQK/ѭӧWÿӗ usecase 57

+uQK/ѭӧFÿӗ ERD 61

+uQK0jQKuQKÿăQJQKұp 74

+uQK0jQKuQKÿăQJNt 74

+uQK0jQKuQKWUDQJFKӫ NKLÿmÿăQJQKұp 75

+uQK 0jQKuQKWUDQJFKӫ NKLFKѭDÿăQJQKұp 75

+uQK0jQKuQKWUDQJTXҧQOêSURILOH 76

+uQK0jQKuQKWUDQKXSORDG 76

+uQK0jQKuQKWUDQJGDQKViFKEjLKiWXSORDG 77

+uQK0jQKuQKWUDQJTXҧQOêWKHRG}L 77

+uQK0jQKuQKWUDQJFiFEjLKiW\rXWKtFK 78

+uQK0jQKuQKOӏch sӱ FiFEjLKiWÿmQJKH 78

+uQK0jQKuQKTXҧQOêSOD\OLVW 79

+uQK0jQKuQKFKDW 79

Trang 15

14

+uQK0jQKuQKEҧng xӃp hҥng 80

+uQK0jQKuQKGDQKViFKTXӕc gia 80

+uQK0jQKuQKGDQKViFKEjLKiWWKHRTXӕc gia 81

+uQK0jQKuQKNӃt quҧ WuPNLӃPWKHRWrQEjL 81

+uQK0jQKuQKNӃt quҧ WuPNLӃPWKHRWrQWiFJLҧ 82

+uQK3RSXSFRPPHQW 82

+uQK3RSXSWKrPEjLKiWYjRSOD\OLVW 83

+uQK3RSXSQRWLILFDWLRQ 83

+uQK 0jQKuQK[HPSURILOHFӫDQJѭӡLNKiF 84

+uQK0jQKuQKQJKHQKҥc 84

+uQK0jQKuQKFKӍnh sӱDEjLKiWWURQJGDQKViFKXSORDG 85

+uQK0jQKuQK[HPGDQKViFKEjLKiW\rXWKtFKFӫDQJѭӡLNKiF 85

+uQK0jQKuQKORJLQWUDQJDPGLQ 86

+uQK0jQKuQKWUDQJFKӫ trang admin 86

+uQK0jQKuQKWUDQJTXҧQOêEjLKiWWUDQJDGPLQ 87

+uQK0jQKuQKWUDQJTXҧQOêQJѭӡLGQJWUDQJDGPLQ 87

+uQK0jQKuQKWUDQJTXҧQOêEiRFiR 88

Trang 16

15

DANH MӨC BҦNG

BҧQJ6RViQK5HVW$3,Yj*UDSKTO$3, 50

BҧQJ'DQKViFKFiFDFWRU 58

Bҧng 'DQKViFKFiFXVHFDVH 60

Bҧng 4.3 Entity Account 61

Bҧng 4.4 Entity Profile 62

Bҧng 4.5 Entity Song 63

Bҧng 4.5 Entity Comment 64

Bҧng 4.6 Entity Room 64

Bҧng 4.7 Entity Playlist 65

Bҧng 4.8 Entity Message 65

Bҧng 4.9 Entity Notification 66

Bҧng 4.10 Entity Report 67

Trang 17

16

DANH MӨC TӮ VIӂT TҲ79¬7+8ҰT NGӲ

Tӯ viӃt tҳt TiӃng Anh TiӃng ViӋt/ DiӉn giҧi

ODM Object Document Mapper

ÈQK[ҥ record dӳ liӋu trong hӋ quҧn trӏ FѫVӣ dӳ liӋXVDQJÿӕLWѭӧng ÿӏQKQJKƭDWURQJFODVV

JSX Javascript XML &~SKiSPӣ rӝng cho Javascript

SEO Search Engine

Optimization Tӕi ѭX KyD F{QJ cө WuP kiӃm

DOM Document Object Model Giao diӋQÿDQӅn tҧQJÿӝc lұp vӟi

QJ{QQJӳ

MVC Model-View-controller

Mүu thiӃt kӃ phҫn mӅPWKѭӡng ÿѭӧc sӱ dөQJÿӇ SKiWWULӇn phҫn

giӳDFK~QJ[1]

GraphQL Graphql Query Language Ng{QQJӳ truy vҩn dҥng ÿӗ thӏ

REST Representational State

Transfer

Mӝt dҥng chuyӇQÿәi cҩXWU~FGӳ

liӋu

Trang 18

17

MERN MongoDB, Express,

ReactJS, NodeJS

Mӝt VWDFNFiFF{QJQJKӋ GQJÿӇ SKiWWULӇn phҫn mӅm cho cҧ server

YjFOLHQW

Trang 19

&KѭѫQJThiӃt kӃ giao diӋn

x ThiӃt kӃ giao diӋQ8;8,YjFiFOD\RXWFө thӇ

&KѭѫQJ Tәng kӃWYjKѭӟQJSKiWWULӇn

x KӃt quҧ ÿҥWÿѭӧc

x Thuұn lӧLNKyNKDQYjKѭӟQJSKiWWULӇn

Trang 20

mҥQJWuQKFҧPQJѭӡLJLjWKuQJKHQKҥFJLDRKѭӣng, bolero,«

HiӋn nay tKuÿmFyY{Vӕ FiFQӅn tҧQJÿăQJWҧi nhҥFOrQFKRPӑLQJѭӡi nghe, FK~QJWDFyWKӇ ÿmWӯQJQJKHTXDQKѭӣ ViӋW1DPWKuFy]LQJPSKD\QKDFFXDWXLQѭӟFQJRjLWKuFyVSRWLI\VRXQGFORXG1Kӳng nӅn tҧng Qj\ÿDVӕ ÿӅu hӛ trӧ QJѭӡLGQJUҩt nhiӋWWuQKFyUҩt nhiӅXWtQKQăQJWLӋQtFKÿӇ phөc vө QJѭӡi nghe 3KkQFKLDkPQKҥc theo chӫ ÿӅ, thӇ loҥi, quӕc gia XӃp hҥng nhӳQJEjLKiWWKӏnh KjQKSKә biӃQKD\ÿӅ xuҩWFKRFK~QJWDQKӳQJEjLKiWJҫn giӕng vӟLEjLKiWPjFK~QJWDKD\QJKH«

7X\QKLrQKLӋQQD\WKuFiFQӅn tҧQJFKRSKpSQJѭӡLGQJXSORDGÿRҥn nhҥc cӫa hӑ OrQYjFKLDVҿ QyYӟi nhӳQJQJѭӡLNKiFWKuFzQUҩt hҥn chӃ 'RÿyYLӋFFynӅn tҧQJJL~SPӑLQJѭӡi chia sҿWUDRÿәLkPQKҥc vӟLQKDXJL~SFKRYLӋc kPQKҥc cӫDFK~QJWDODQWӓDÿӃn nhӳQJQJѭӡLNKiFWUӣ QrQGӉ GjQJYjQKDQKFKyQJKѫQ

1.2 Giӟi thiӋXÿӅ WjL

Nhұn thҩy rҵng nӅn tҧng chia sҿ nhҥFQj\UҩWWK~Yӏ YjFyWtQKODQWӓD.KyDluұQQj\Kѭӟng tӟi viӋc tҥo ra mӝt ӭng dөng vӟLFiFWtQKQăQJFѫEҧn, vӯDÿӫ

QKѭQJYүQÿiSӭQJÿѭӧc hҫu hӃWFiFQKXFҫu vӅ kPQKҥc:

TҥRUDÿѭӧFP{LWUѭӡng, 1 mҥQJ[mKӝLQăQJÿӝQJSKiWWULӇn, linh hoҥWYjÿiSӭQJÿѭӧc nhu cҫu nghe nhҥc cӫDQJѭӡLGQJQJѭӡLGQJFyWKӇ chia sҿ

nhӳQJEjLKiWQKӳQJÿRҥn nhҥFKD\GRFKtQKPuQKWҥo ra hoһFFyWKӇ OjFӫa bҩt cӭ FDVƭQJKӋ VƭQjRPLӉQOjNK{QJYLSKҥm vҩQÿӅ bҧn quyӅn

/jVkQFKѫLFKXQJFKRWҩt cҧ mӑLQJѭӡLNK{QJJLӟi hҥQQKѭVӕ nӅn tҧng lӟn ӣ ViӋW1DPQKѭ]LQJPSKD\QKDFFXDWXLFKӍ FyDGPLQFӫa page mӟLÿѭӧc

quyӅn upload EiLKiWOrQ

x 1JѭӡLGQJFyWKӇ tҧLÿѭӧFEjLKiWFӫa nhӳQJQJѭӡLNKiFOLNH

comment, chia sҿ cҧm nhұn cӫDPuQKNӃt nӕi mӑLQJѭӡi lҥi vӟi nhau WK{QJTXDkPQKҥc

Trang 21

20

x MӑLQJѭӡLFyWKӇ WUzFKX\Ӌn vӟLQKDXWK{QJTXDKӋ thӕQJFKDWFyVҹn trong hӋ thӕQJJL~Scho viӋc kӃt nӕLWUDRÿәLWK{QJWLQWUӣ QrQWKXұn tiӋQYjGӉ GjQJKѫQ

x HӋ thӕng xӃp hҥQJEjLKiWSKkQFKLDEjLKiWWKHRTXӕc gia, thӇ loҥi JL~SFKRYLӋFQJѭӡLGQJFyWKӇ dӉ GjQJWLӃp cұn vӟLFiFEjLKiWPjPuQK\rXWKtFKFNJQJQKѭFiFEjLKiWPӟi nәLWUrQWKӏ WUѭӡng

x Sӱ dөng hӋ thӕQJDGPLQÿӇ [pWGX\ӋWEjLKiWQKұQEiRFiRUHSRUWEjLKiWQJѭӡLGQJ *L~SFKRKӋ thӕng trӣ QrQFOHDQKѫQNK{QJ[Xҩt hiӋn FiLEjLKiWQJѭӡLGQJYLSKҥPÿӅu luұt cӫa hӋ thӕng

1.3 MөFWLrXFӫDÿӅ WjL

MөFWLrXFӫDÿӅ WjLOjSKiWWULӇQÿѭӧc mӝt hӋ thӕng vӟLFiFWtQKQăQJGӵDWUrQnghiӋp vө ÿѭӧFSKkQWtFKSKiLErQWUrQ1KѭQJGRWtQKFKҩt cӫa nhӳng nӅn tҧQJkPnhҥFOjFyKӋ thӕQJY{FQJWROӟQWtQKQăQJQKLӅXFNJQJQKӭ FyÿӝLQJNJSKiWWULӇn mҥnh mӁ'RÿyPөFWLrXFҧXNKyDOXұQQj\FKӍ OjFyWKӇ SKiWWULӇQÿѭӧc tӕLÿDnhӳQJWtQKQăQJFѫEҧQYjFiFWtQKQăQJQkQJFiRWKuFyWKӇ triӇQNKDLÿѭӧc nhiӅu nhҩWFyWKӇ 9uWKӃ QrQÿӅ WjLGNK{QJWKӇ FyKӋ thӕng lӟQQKѭQKӳng nӅn tҧQJÿyWKuFNJQJYүQFyWKӇ ÿiSӭQJÿѭӧc nhӳQJWtQKQăQJFѫEҧn nhҩt:

x 3KkQORҥLEjLKiWWKHRTXӕc gia, thӇ loҥi

x Push notification real-time mӛLNKLFyHYHQWJuÿy[ҧy ra

Trang 22

21

1.4 Phҥm vi tiӃp cұn cӫDÿӅ WjL

Ӭng dөQJQj\Kѭӟng tӟi nhӳQJQJѭӡL\rXkPQKҥFYjFyQKXFҫu chia sҿ kPQKҥc cӫDPuQKÿӃn vӟi tҩt cҧ mӑLQJѭӡi TҩWQKLrQKӋ thӕng sӁ FjQJSKiWWULӇn nӃXQKѭFjQJFyQKLӅXQJѭӡLTXDQWkPYjFKLDVҿ nhӳQJEjLKiWFӫa hӑJySSKҫn JL~SFKRKӋ thӕQJÿDGҥQJYjSKRQJSK~KѫQ

7X\QKLrQӭng dөQJQj\VRYӅ TX\Y{WKuNK{QJWKӇ QjRVRViQKÿѭӧc vӟLFiFnӅn tҧng lӟn hiӋQQD\'RÿyWURQJNKX{QNKә NKyDOXұQQj\WKuӭng dөng sӁ chӍ FyÿӃn khҧ QăQJOjKRҥWÿӝng әQÿӏQKWUѫQWUXFNJQJQKѭFXQJFҩSÿӃn cho mӝt bӝ phұn nhӓ QJѭӡi sӱ dөng

7URQJWѭѫQJODLWKuQӃXFyWKӇ, ӭng dөQJQj\VӁ SKiWWULӇQWKrPQKLӅXWtQKQăQJQkQJFҩp hӋ thӕng lӟQKѫQÿiSӭQJÿѭӧc nhu cҫu cӫa nhiӅXQJѭӡLQJѭӡi WKDPJLDKѫQ[k\Gӵng cӝQJÿӗng trong mҥQJ[mKӝLQj\WROӟQYjSKiWWULӇQKѫQ

Trang 23

22

&+ѬѪ1*7ӘNG QUA1Ĉӄ 7¬,

2.1 KhҧRViWWKӏ WUѭӡng

+uQK%LӇXÿӗ P{Wҧ QJѭӡLGQJVӱ dөng F{QJFө JuÿӇ nghe nhҥc [2]

Hunh 2.1 BiӇXÿӗ thӇ hiӋQFiFQӅn tҧQJPjQJѭӡLGQJVӱ dөQJÿӇ nghe nhҥc

Trang 24

23

+uQKWKӭ OjELӇXÿӗ KuQKTXҥWP{Wҧ rҵQJQJѭӡLGQJWKѭӡng sӱ dөQJJuÿӇ nghe nhҥc Qua biӃXÿӗ WKuWDFyWKӇ thҩ\U}Oj<RXWXEHYj6SRWLI\OjQӅn tҧng ÿѭӧFQJѭӡLGQJOӵa chӑn nhiӅu nhҩWÿӇ nghe nhҥF7URQJÿy<RXWXEHWX\NK{QJphҧi OjPҥQJ[mKӝLÿӇ chia sҿ kPQKҥFPjQyOjPҥQJ[mKӝi chia sҿ video, QKѭQJQJѭӡLGQJYүn chӑn youtube nhiӅXKѫQVRYӟLFiFQӅn tҧQJkPQKҥc nәi tiӃQJQKѭ6RXQGFORXGKD\6SRWLI\

BiӇXÿӗ thӭ OjNKҧRViWYӅ sӵ phә biӃn cҧXFiFQӅn tҧng nghe nhҥc trrQWRjQWKӃ giӟLTXDÿyWKuFK~QJWDWKҩ\U}6SRWLI\tӓ UDYѭӧt trӝLKѫQKҷn so vӟLFiFnӅn tҧQJNKiF

2.2&iFQӅn tҧQJOLrQTXDQ

Mӝt sӕ nӅn tҧQJOLrQTXDQÿӃQÿӅ WjLQj\

x Ӣ ViӋW1DPWKuFyQәi bұt nhҩWOj]LQJPSYjQKDFFXDWXLQӅn tҧng Qj\FXQJFҩp rҩt nhiӅXEjLKiWÿӫ tҩt cҧ FiFWKӇ loҥi, quӕc gia, chӫ ÿӅ Hunh 2.2 BiӇXÿӗ thӇ hiӋn sӵ phә biӃn cӫDFiFQӅn tҧng

stream nhҥc [3]

Trang 25

RDIO

ѬXÿLӇm

x VӟLKѫQWULӋXEjLKiWYjFyVҹn ӣ quӕFJLD5GLROjOjPFKROӵc NpRÿiQJNӇ WURQJkPQKҥc trӵc tuyӃn trӵc tuyӃn kinh doanh

x Hӑ FNJQJFKRSKpSEҥQÿӇ hӝi nhұSKѫQQӳDFiFGӏch vө vӟi Facebook

ÿӇ cho bҥQYjEҥQEqFӫa bҥQÿӇ OjPWKHRWKӏ hiӃXkPQKҥc cӫa nhau

x Xoay nһQJOjPӝWWtQKQăQJFKRSKpSEҥn xem nhӳQJJuFӝQJÿӗng RGLROjQJKH

x Khi bҥn bҳWÿҫXÿӇ OjPWKHRQKӳQJQJѭӡLGQJNKiFEҥn sӁ nhұn thҩy avatar cӫa hӑ ErQGѭӟi nhӳQJDOEXPPjKӑ ÿmQJKHKRһc nhӳng QJѭӡi hӑ ÿmOѭXĈk\OjPӝWWtQKQăQJWKXұn tiӋQÿӇ JL~SEҥQNKiPSKiWKrPkPQKҥc

x 5GLRQKѭ'HH]HUKӛ trӧ hҫu hӃWFiFQӅn tҧng

1KѭӧFÿLӇm

x /jPӝt dӏch vө quҧQJFiRKӛ trӧ QKѭQJNK{QJSKҧLOjNK{QJJLӟi hҥn, YuYұ\PjFyWKӇ NK{QJWKXK~WWҩt cҧ mӑLQJѭӡi

Trang 26

25

x Hӑ FyFiFÿjLSKiWWKDQKWK{QJPLQKWtQKQăQJW\FKӍnh cӫa bҥn kinh nghiӋm nghe theo khҭu vӏ cӫa bҥQWURQJkPQKҥc YjQyVӁ ÿӅ xuҩWFiFEjLKiWPӟi, bҥQFyWKӇ tұQKѭӣQJVXSHULRU[DKѫQ

x GiӕQJQKѭ*URRYHVKDUNEҥQFyWKӇ ÿăQJQKұp trӵc tiӃp vӟi email cӫa bҥn, Google Plus hoһc Facebook

x Mӝt trong nhӳQJÿLӅu tuyӋt vӡi vӅ WUDFNVOjEҥQFyWKӇ kӃt nӕi vӟLFiFFiQKkQ[mKӝLWK{QJTXDkPQKҥc bҵQJFiFKSKiWKLӋQGDQKViFKSKiWcӫa hӑ hoһc bҵQJFiFKEuQKOXұQWUrQFK~QJ

x K{QJFyTXҧQJFiRJLiQÿRҥn trҧi nghiӋPkPQKҥc

1KѭӧFÿLӇm

x BҥQNK{QJWKӇ bӓ TXDFiFEjLKiWTXiQKLӅu trong mӛLGDQKViFKSKiW

x K{QJFyFQJPӝWêWKӭc cӝQJÿӗQJ[mKӝLYuNK{QJFKLDVҿ danh ViFKSKiWFӫa bҥn vӟi bҥQEqFӫa bҥQErQQJRjLFӫa trang web

SOUNDCLOUD

ѬXÿLӇm

Trang 27

26

x phөc vө FKRÿiPÿ{QJKLSVWHUYuQyFKRSKpSÿӇ ҭQGDQKYjFiFW\chӑQÿӇ chia sҿ kPQKҥc cӫa bҥn vӟi thӃ giӟi

x KiӇXGiQJÿҽSYjWӕi giҧn vӟi giao diӋn

x CӝQJÿӗng lӟn, vӟi nhiӅXQKyPYjÿDPPrkPÿѭӧFGjQKULrQJFKRkPQKҥc

x 1yFyWtQKWKӡi gian hӋ thӕQJEuQKOXұQQѫLQJѭӡLGQJFyWKӇ thҧo luұn vӅ mӝt sӕ phҫn, lӡLEjLKiWKRһc nhӏSÿұp trong mӛLEjLKiWO~FQj\WKtFKKӧp

x NӃu bҥn sӵ NKDRNKiWFKRkPQKҥFEDQÿҫXVDXÿyÿLӅXQj\OjQӅn tҧng cӫa bҥn; hoһc nӃu bҥn chӍ cҫQWuPNLӃm mӝt sӕ kPQKҥc mӟi sau ÿyWuPWKҩy mӝt thӇ loҥLWKtFKKӧSYjÿӇ FKRÿ{LWDLFӫa bҥQNKiPSKikPQKҥc mӟL\rXWKtFKFӫa bҥn

x 6RXQGFORXGFNJQJOjFyVҹQFKRÿLӋn thoҥLGLÿӝng Android hoһc

L3KRQHYjFyPӝt hӛ trӧ tuyӋt vӡi

x BҥQFyWKӇ WtFKKӧp kinh nghiӋm nghe SoundCloud cӫa bҥQWURQJWjLkhoҧn Facebook cӫa bҥQFKRSKpSFKREҥQEqFӫa bҥQÿӇ xem nhӳng JuEҥQÿDQJQJKHKRһFÿӇ cho hӑ OjPWKHRWKӏ hiӃXkPQKҥc cӫa bҥn

x BҥQFyWKӇ ÿăQJQKұp vӟi Google cӫa bҥQYjWjLNKRҧn Facebook, Spotify chӍ FKRSKpSEҥQÿăQJQKұp bҵQJWjLNKRҧn FB

x ;mKӝLUDGLRDSSFyVҹQWUrQL2V9ӟLQyQJѭӡLGQJFyWKӇ tҧLOrQDQLPDWHGJLIYjGzQJFӫDÿjLSKiWWKDQK[mKӝi tӯ 0\VSDFHFKRSKpSFKRWKrPGLVFRYHUDELOLW\

1KѭӧFÿLӇm

x 1yOjWKLӃu nghӋ VƭKjQJÿҫu kӇ tӯ khi nhiӅXQJѭӡLÿmNêWrQOjWѭѫQJÿӕLNK{QJU}

Trang 28

x +ѫQQӳD*URRYHVKDUNFKRSKpSFKRVӵ ULrQJWѭQKLӅXKѫQYjRFӝng ÿӗng

x K{QJFKӍ bҥQFyWKӇ nghe nhҥF\rXWKtFKFӫa bҥQQKѭQJEҥQFyWKӇ chӑQÿjL SKiWWKDQKKRһc nhӳQJQJѭӡLGQJNKiFGDQKViFKSKiWFNJQJQKѭFKLDVҿ cӫDULrQJEҥn

x *URRYHVKDUNFNJQJOjWѭѫQJWKtFKYӟLÿLӋn thoҥLGLÿӝng nӅn tҧng 1KѭӧFÿLӇm

x /jPӝt dӏch vө quҧQJFiRKӛ trӧ QKѭQJNK{QJSKҧLOjNK{QJJLӟi hҥn, YuYұ\PjFyWKӇ NK{QJWKXK~WWҩt cҧ mӑLQJѭӡi

Trang 29

28

&+ѬѪ1*&Ѫ6Ӣ KHOA HӐ& &Ð1*1*+ӊ HIӊN THӴC

Trong phҫQQj\VӁ P{Wҧ YjWUuQKEj\QKӳng kiӃn thӭc nӅn tҧQJFѫVӣ khoa hӑFYjF{QJQJKӋ hiӋn thӵFÿѭӧFiSGөQJÿӇ thӵc hiӋQÿӅ WjLNKRiOXұQQj\

'ROjÿӅ WjLNKyDOXұn Qj\OjWKXӝFQKyPF{QJQJKӋ phҫn mӅPYjKӋ thӕng WK{QJWLQQrQNK{QJWUuQKEj\YӅ FѫVӣ khoa hӑc

Trang 30

29

&yVӕ vҩQÿӅ vӟLP{KuQKQj\ÿyOjPi\FKӫ chӍ FjLÿѭӧc 1 hӋ ÿӅXKjQK

26 'RÿyNK{QJWKӇ NKDLWKiFKӃWÿѭӧc lӧi thӃ cӫDPi\FKӫ GRGFyUDPNKӫng hay ssd khӫQJQKѭWKӃ QjRÿLQӳa VҩQÿӅ Qj\VӁ Jk\UDY{FQJOmQJSKtWjLQJX\rQNKLPjShҫn cӭQJPi\WtQKSKiWWULӇn vӟi tӕFÿӝ FKyQJPһt

6DXQj\WKuFyNKiLQLӋm mӟLÿѭӧFUDÿӡLĈyOj9LUWXDOL]DWLRQ

&{QJQJKӋ YLUWXDOL]DWLRQQj\FKRSKpSFK~QJWDFyWKӇ FjLÿһWÿѭӧc nhiӅu OS WUrQFQJPi\FKӫ ĈѭӧF[k\Gӵng dӵDWUrQêWѭӣQJSKkQFKLDә cӭng, ram Tӯ ÿyWUrQPӝWPi\FKӫ FyWKӇ tҥRUDÿѭӧc nhiӅXPi\ҧRNKiFQKӳQJPi\ҧRQj\FKҥy ÿӝc lұp vӟi nhau

7X\QKLrQF{QJQJKӋ Qj\YүQFzQFyYjLYҩQÿӅ:

x Khi tҥRUDPi\ҧRWKuPi\FKӫ OX{QOX{QSKҧi chia WjLQJX\rQFKRQy(ram, ә cӭng) thұm chӍ cҭn bұWPi\ҧROrQWK{LFKӭ FKѭDFKҥ\WiFYө JuhӃW/jPOmQJSKtWjLQJX\rQÿmFKLDFKRPi\ҧo

x 0i\FKӫ sӁ phҧi chӏu tҧLFKRFiFPi\ҧo trong hӋ thӕQJNK{QJWKӇ hoҥWÿӝng hӃWF{QJVXҩWNKyTXҧQOê

x 9uQKӳQJNKyNKăQYҩQÿӅ QKѭYұ\FKRQrQNKiLQLӋPFRQWDLQHUÿѭӧc UDÿӡi

b Container

Hunh 3.3 0{KuQKYLUWXDOL]DWLRQ

Trang 31

30

&iFFKѭѫQJWUuQKӭng dөng sӁ ÿѭӧFÿyQJJyLWKjQKFiLFRQWDLQHU&iF

FRQWDLQHUQj\VӁ tҥRUDP{LWUѭӡng bao gӗm nhӳng thӭ PjSKҫn mӅm cҫQÿӇ chҥy VjFKҥ\KRjQWRjQÿӝc lұp vӟi hӋ thӕng, hӋ thӕQJNK{QJFҫn phҧLFjLÿһWTXinhiӅu thӭ PjSKҫn mӅm cҫQÿӇ chҥ\9jFiFFRQWDLQHUQj\ÿӅu sӱ dөng chung kernel cӫa host OS

dө QKѭ0\64/1*,1;8EXQWX1RGH YjRWURQJFRQWDLQHU1Kӳng container Qj\FKҥ\WURQJQKkQFҧu hӋ ÿӅXKjQK>6@+D\QyLFiFKNKiF'RFNHUOjPӝt nӅn tҧng

ÿӇ cung cҩSFiFKÿӇ EXLOGLQJGHSOR\YjUXQFiFӭng dөng mӝWFiFKGӉ GjQJWUrQnӅn tҧng ҧRKyD- "Build once, run anywhere"

Ӭng dөQJÿѭӧF'RFNHUKyDFKҥ\WURQJFRQWDLQHUFyWKӇ ÿѭӧc sӱ dөng trong bҩt cӭ nӅn tҧng, hӋ thӕQJQjR 9tGө QKѭ/DSWRSFӫa developer, hӋ thӕQJWUrQFѫ

sӣ hay trong hӋ thӕQJÿiPPk\ FORXGFRPSXWLQJ 1yFzQOjF{QJFө tҥRUDP{LWUѭӡQJÿѭӧFÿyQJJyL &zQJӑLOjFRQWDLQHU WUrQPi\WtQKPjNK{QJOjPҧQKKѭӣng KD\WiFÿӝQJÿӃQP{LWUѭӡng hiӋn tҥi cӫDPi\FKӫP{LWUѭӡng trong Docker sӁ chҥy ÿӝc lұp

'RFNHUFyWKӇ OjPYLӋc tre6n hҫu hӃWFiFQӅn tҧng hӋ ÿӅXKjQKSKә biӃn nhҩt hiӋQQD\QKѭ/LQX[:LQGRZVKD\0DF26

Hunh 3.4 0{KuQKFRQWDLQHU

Trang 32

3.1.2 KiӃQWU~F

ÈSGөQJFiFNLӃQWU~FYjFiFSDWWHUQYjRWURQJNKyDOXұn

a) 0{KuQKOӟp [7]

0{KuQKOӟp (3-layers) gӗPFySKҫQFKtQK

x Presentation Layer (GUI): LӟSQj\ÿѭӧFFRLQKѭOjWҫng UI cӫa ӭng dөQJÿҧm nhiӋm trӑQJWUiFKJLDRWLӃp vӟLQJѭӡi dQJ%DRJӗm FiFUI component cҩXWKjQKQrQWUDQJZHEKD\ӭng dөng Ĉӗng thӡLFzQFKӭDFiFFRPSRQHQWGQJÿӇ hiӇn thӏ UDGDWD 9tGө: List, Menu, Card, Avatar,« YjFiFcomponent GQJÿӇ nhұQGDWDYjR 9tGө: Input, Button, Select, «

Ngày đăng: 31/07/2024, 10:16

w