Biểu đồ hoạt động chỉnh sửa thông tin nhóm: 62... Tích hợp Pusher và Laravel: 86... Website thông báo quá trình đăng nh p không thành côngậ 3.
Trang 1TRƯỜ NG Đ I H C ĐI N L C Ạ Ọ Ệ Ự
KHOA CÔNG NGH THÔNG TIN Ệ
BÁO CÁO Đ ÁN T T NGHI P Ồ Ố Ệ
Đ TAI: M NG XÃ H I MEDIA SOCIAL Ê Ạ Ộ
M M Ê
Hà N i, tháng 02 năm 2023 ộ
Trang 32.4.10 Chỉnh sửa bài viết: 38
2.4.25 Thay đổi thông tin người dùng: 442.4.26 Xem thông tin theo dõi của người dùng 45
2.5 Biểu đồ hoạt động (Active Diagrams): 47
2.5.4 Biểu đồ hoạt động thêm mới bài viết: 502.5.5 Biểu đồ hoạt động chỉnh sửa bài viết: 512.5.6 Biểu đồ hoạt động xóa bài viết: 522.5.7 Biểu đồ hoạt động yêu thích bài viết: 532.5.8 Biểu đồ hoạt động bỏ yêu thích bài viết: 54
2.5.10 Biểu đồ hoạt động trả lời bình luận: 562.5.11 Biểu đồ hoạt động yêu thích bình luận: 572.5.12 Biểu đồ hoạt động bỏ yêu thích bình luận: 582.5.13 Biểu đồ hoạt động sửa thông tin người dùng: 592.5.14 Biểu đồ hoạt động theo dõi, bỏ theo dõi người dùng: 602.5.15 Biểu đồ hoạt động tạo mới nhóm: 612.5.16 Biểu đồ hoạt động chỉnh sửa thông tin nhóm: 62
Trang 42.5.17 Biểu đồ hoạt động xóa thành viên khỏi nhóm: 632.5.18 Biểu đồ hoạt động xóa bài viết: 642.5.19 Biểu đồ hoạt động tham gia/bỏ tham gia nhóm: 65
2.6.5 Biểu đồ trình tự yêu thích, bỏ yêu thích: 69
2.6.7 Biểu đồ trình tự thông tin cá nhân: 712.6.8 Biểu đồ trình tự bình luận, trả lời bình luận: 72
3.2.1.1 Bật JavaScript SDK Facebook 823.2.1.2 Kiểm tra trạng thái đăng nhập của một người 83
3.2.2 Tích hợp Pusher sử dụng real time: 853.2.2.1 Quy trình hoạt động Pusher: 853.2.2.2 Tích hợp Pusher và Laravel: 86
Trang 7L I M Đ U Ờ Ở Ầ
Hi n nay, v i s phát tri n bùng n c a công ngh thông tin, m raệ ớ ự ể ổ ủ ệ ở
m t k nguyên m i cho cu c cách m ng công ngh s , vi c ng d ng côngộ ỉ ớ ộ ạ ệ ố ệ ứ ụngh vào trong công vi c, ngành ngh , th m chí là trong cu c s ng là vôệ ệ ề ậ ộ ốcùng ph bi n, c n thi t Chúng ta đang s ng th k 21, k nguyên 4.0,ổ ế ầ ế ố ở ế ỷ ỷ
m i vi c đ đọ ệ ề ược tin h c hóa đ n m c t i đa, đ n gi n hóa và nâng caoọ ế ứ ố ơ ả
hi u su t công vi c Chính vì v y mà s phát tri n, l n m nh c a cácệ ấ ệ ậ ự ể ớ ạ ủdoanh nghi p công ngh thông tin trong nệ ệ ước đã và đang đóng góp m t vaiộtrò vô cùng quan tr ng trong s phát tri n c a đ t nọ ự ể ủ ấ ước trong m i lĩnh v cọ ự
nh kinh t , chính tr ư ế ị
S ng trong m t xã h i ngày càng phát tri n v tin h c và công nghố ộ ộ ể ề ọ ệ
s , nhu c u s ng c a con ngố ầ ố ủ ười cũng t đó mà phát tri n, v i mong mu nừ ể ớ ố
m r ng, k t n i t i m i n i trên th gi i, h c h i nh ng đi u m i m vàở ộ ế ố ớ ọ ơ ế ớ ọ ỏ ữ ề ớ ẻthú v h n bên ngoài Đ có th đáp ng đị ơ ở ể ể ứ ược nh ng nhu c u, mongữ ầ
mu n y, t đó m ng xã h i đã ra đ i M ng xã h i, di n đàn, hay nh ngố ấ ừ ạ ộ ờ ạ ộ ễ ữ
c ng đ ng là n i m i ngộ ồ ơ ọ ười có th k t n i v i nhau, chia s , trao đ iể ế ố ớ ẻ ổ
nh ng thông tin t kh p m i n i trên th gi i B qua nh ng rào c n v vữ ừ ắ ọ ơ ế ớ ỏ ữ ả ề ịtrí đ a lý, ngôn ng hay qu c gia, là m t n i con ngị ữ ố ộ ơ ười giao l u k t b n,ư ế ạ
h c h i nh ng đi u m i l , t o đọ ỏ ữ ề ớ ạ ạ ượ ếc ti ng nói chung
Không nh ng là m t môi trữ ộ ường giúp con ngườ ế ối k t n i, chia sẻthông tin đượ ớc v i nhau, mà còn là n i đ m i ngơ ể ọ ười trao đ i, bàn lu n vổ ậ ề
m t v n đ nào đó, m t khía c nh trong cu c s ng hay th m chí là lĩnh v cộ ấ ề ộ ạ ộ ố ậ ựcông vi c nh công ngh , âm nh c, xây d ng… ệ ư ệ ạ ự
Là nh ng c nhân công ngh thông tin tữ ử ệ ương lai, nh n th c đậ ứ ược
t m quan tr ng c a tin h c hóa và nhu c u s ng đang ngày càng phát tri nầ ọ ủ ọ ầ ố ể
l n m nh nh hi n nay Sau quãng th i gian h c t p và nghiên c u, em đãớ ạ ư ệ ờ ọ ậ ứquy t đ nh ch n đ tài: “M NG XÃ H I MEDIA SOCIAL”, nh m ngế ị ọ ề Ạ Ộ ằ ứ
Trang 8d ng nh ng ki n th c đã đụ ữ ế ứ ược trau d i, tìm hi u đồ ể ược khi h c t p trênọ ậ
trường cũng nh ki n th c th c t khi th c t p t i công ty.ư ế ứ ự ế ự ậ ạ
Trang 9CH ƯƠ NG 1: KH O SÁT HI N TR NG VA L P D ÁN Ả Ệ Ạ Ậ Ự1.1 Kh o sát hi n tr ng: ả ệ ạ
Theo t ng h p trên Wikipedia, m ng xã h i v i cách g i đ y đ làổ ợ ạ ộ ớ ọ ầ ủ
“d ch v m ng xã h i” hay “trang m ng xã h i”, là n n t ng tr c tuy n n iị ụ ạ ộ ạ ộ ề ả ự ế ơ
m i ngọ ười dùng đ xây d ng các m i quan h v i ngể ự ố ệ ớ ười khác có chungtính cách, ngh nghi p, công vi c, trình đ ,… hay có m i quan h ngoài đ iề ệ ệ ộ ố ệ ờ
M ng xã h i cho phép ngạ ộ ười dùng chia s câu chuy n, bài vi t, ýẻ ệ ế
tưởng cá nhân, đăng nh, video, đ ng th i thông báo v ho t đ ng, s ki nả ồ ờ ề ạ ộ ự ệtrên m ng ho c trong th gi i th c N u nh trong mô hình m ng xã h iạ ặ ế ớ ự ế ư ạ ộtruy n th ng, ví d nh s ki n h i ch , đã t n t i t lâu trong l ch s thìề ố ụ ư ự ệ ộ ợ ồ ạ ừ ị ử
m ng xã h i trên web giúp ngạ ộ ười dùng k t n i v i nh ng ngế ố ớ ữ ườ ối s ng ởnhi u vùng đ t khác nhau, thành ph khác ho c trên toàn th gi i.ề ấ ở ố ặ ế ớ
Ví d m t s m ng xã h i đang đụ ộ ố ạ ộ ượ ử ục s d ng ph bi n Vi t Nam:ổ ế ở ệ+ Facebook: M ng xã h i ph bi n nh t hi n nay Ngạ ộ ổ ế ấ ệ ười dùng có th t oể ạtài kho n b ng s đi n tho i ho c email.ả ằ ố ệ ạ ặ
+ YouTube: Trang m ng xã h i chia s video, ngạ ộ ẻ ười có tài kho n trênảYouTube có th truy c p b ng đi n tho i ho c máy tính.ể ậ ằ ệ ạ ặ
+ Instagram: ng d ng chia s nh và video mi n phí trên đi n tho i, máyỨ ụ ẻ ả ễ ệ ạtính B n có th đăng t i hình nh ho c video lên Instagram và chia sạ ể ả ả ặ ẻchúng v i nhóm b n bè, h có th xem, bình lu n và thích bài vi t c a b n.ớ ạ ọ ể ậ ế ủ ạ
Trang 10+ Tiktok: M ng xã h i cũng vô cùng ph bi n và đang c nh tranh v iạ ộ ổ ế ạ ớFacebook Vi t Nam Đây là m ng xã h i chia s nh ng đo n Video ng nở ệ ạ ộ ẻ ữ ạ ắthu hút người dùng.
Hi n nay Vi t Nam v i s phát tri n m nh m c a m ng xã h i vàệ ở ệ ớ ự ể ạ ẽ ủ ạ ộ
nh ng tác đ ng to l n đ n đ i s ng hi n t i c a chúng ta nên em quy tữ ộ ớ ế ờ ố ệ ạ ủ ế
đ nh ch n đ tài xây d ng m ng xã h i Media Social đ có th ng d ng,ị ọ ề ự ạ ộ ể ể ứ ụ
v n d ng nh ng ki n th c b n thân h c đậ ụ ữ ế ứ ả ọ ượ ởc trên trường cũng nh ư ởdoanh nghi p m t cách t ng quát nh t.ệ ộ ổ ấ
1.2 Xác l p d án: ậ ự
1.2.1 M c đích: ụ
Phát tri n m t m ng xã h i đòi h i 1 kh i nghi p v cao, s d ngể ộ ạ ộ ỏ ố ệ ụ ử ụnhi u ch c năng Đ tài có giá tr th c ti n trong cu c s ng, là th mà m iề ứ ề ị ự ễ ộ ố ứ ỗchúng ta đ u đang s d ng h ng ngày nh Facebook, Tiktok, …, đề ử ụ ằ ư ược áp
d ng nh ng công ngh đang hi n hành nh realtime, single pageụ ữ ệ ệ ưcomponent Và cũng nh đó mà sau khi làm đ tài này em có th phátờ ề ểtri n để ượ ốc t t nh ng ki n th c đã đữ ế ứ ược h c trên nhà trọ ở ường, h c h iọ ỏ
được thêm k năng m i, phát tri n đỹ ớ ể ược k năng và nghi p v c a b nỹ ệ ụ ủ ảthân đ có th đóng góp cho doanh nghi p.ể ể ệ
Ngoài ra, vì s phát tri n m nh m c a m ng xã h i đã cung c p choự ể ạ ẽ ủ ạ ộ ấchúng ta m t c ng đ ng đ có th k t n i m i ngộ ộ ồ ể ế ế ố ọ ườ ới v i nhau Giúp m iọ
người có th d dàng tìm ki m thông tin trên các n n t ng m ng xã h i,ể ễ ế ề ả ạ ộ
g n k t m i ngắ ế ọ ườ ới v i nhau D dàng trò chuy n và chat video nên em đãễ ệ
ch n đ tài này làm đ án t t nghi p c a mình.ọ ề ồ ố ệ ủ
1.2.2 N i dung kh o sát và n m b t hi n tr ng: ộ ả ắ ắ ệ ạ
Trang 11c ng đ ng ngộ ồ ười dùng l n M i ngớ ọ ườ ử ụi s d ng m ng xã h i v i các m cạ ộ ớ ụđích khác nhau Nh n tin, trò chuy n, g i video call v i nhau Chia sắ ệ ọ ớ ẻ
nh ng thông tin, hình nh, nh ng c m xúc, nh ng video c a cá nhân lênữ ả ữ ả ữ ủ
m ng xã h i Chính nh ng đi u y khi n m ng xã h i d n d n tr thànhạ ộ ữ ề ấ ế ạ ộ ầ ầ ở
m t th không th thi u ộ ứ ể ế
H u nh ai trong chúng ta cũng đ u có các tài kho n m ng xã h i Cóầ ư ề ả ạ ộ
th lên xem m ng xã h i h ng ngày, đ c nh ng thông tin, tin t c đ n tể ạ ộ ằ ọ ữ ứ ế ừ
m ng xã h i đạ ộ ược chia s b i nh ng ngẻ ở ữ ười thân, b n bè, các trang thôngạtin, D n d n chính m ng xã h i tr thành th không th thi u trong cu cầ ầ ạ ộ ở ứ ể ế ộ
s ng c a chúng ta, là m t thói quen khó b ố ủ ộ ỏ
Vì v y, đ tài s đậ ề ẽ ượ ạ ực t o d ng đ m i ngể ọ ười có th s d ng chúngể ử ụ
đ chia s nh ng thông tin, nh ng câu chuy n, nh ng hình nh video Cóể ẻ ữ ữ ệ ữ ả
th d dàng trò chuy n, k t n i v i m i ngể ễ ệ ế ố ớ ọ ười ho c nh ng nhóm c ngặ ữ ộ
đ ng nh mà h có th t o ra theo m t s thích.ồ ỏ ọ ể ạ ộ ở
1.2.3 Đ t v n đ : ặ ấ ề
Hi n nay đa s chúng ta ai cũng đ u s d ng m ng xã h i, có nhi uệ ố ề ử ụ ạ ộ ề
m ng xã h i khác nhau và hạ ộ ướng t i nh ng đ i tớ ữ ố ượng khác nhau MediaSocial đượ ạc t o ra vô cùng đ n gi n Nh m t c ng đ ng nh l trong vôơ ả ư ộ ộ ồ ỏ ẻvàn nh ng ông l n m ng xã h i ữ ớ ạ ộ
M i ngỗ ười trong chúng ta đ u có nhu c u k t n i v i c ng đ ng m iề ầ ế ố ớ ộ ồ ọ
người xung quanh, mu n chia s nh ng thông tin, nh ng c m xúc c a b nố ẻ ữ ữ ả ủ ảthân Mu n m i ngố ọ ười bi t đ n mình, mu n k t thêm nhi u b n bè Chínhế ế ố ế ề ạ
vì th nên m ng xã h i đế ạ ộ ượ ạc t o ra đ m i ngể ọ ười có th d dàng k t n iể ễ ế ố
v i nhau m t cách đ n gi n nh t mà không c n ph i đi ra ngoài nh ng v nớ ộ ơ ả ấ ầ ả ư ẫ
có th d dàng làm quen, b t chuy n v i nhau.ể ễ ắ ệ ớ
Trang 13- Xem thông tin c a ngủ ười bình lu nậ
- Xem thông tin chi ti t ngế ười đăng bài vi tế
- Xem thông tin chi ti t c ng đ ng ế ộ ồ
1.4 Thông báo v bài vi tề ế
- Thông báo đ n tác gi bài vi t khi có ngế ả ế ười th c mả ả
- T o ra lu t trong nhóm đ thành viên tuân thạ ậ ể ủ
- Xem s lố ượng thành viên trong nhóm
- Xem chi ti t các thành viên trong nhómế
- Xóa thành viên kh i nhómỏ
2.3 Người tham gia nhóm
- Đăng bài vi t lên nhómế
- Xóa bài vi t c a mình trên nhómế ủ
- Tham gia nhóm/Không tham gia nhóm
Trang 14- Sau khi th c hi n đăng ký s xác th c Email và cài ự ệ ẽ ự
đ t c b n cho tài kho nặ ơ ả ả
3.3 Cài đ t tài kho n c b nặ ả ơ ả
- Người dùng có th thay đ i thông tin cá nhân (Tên, ể ổ
Trang 155 Chat
- Nh n tin v i ngắ ớ ười khác
- Nh n thông báo khi có tin nh n đ nậ ắ ế
- G i video cho 1 ngọ ười khác
- Nh n thông báo khi có cu c g i đ nậ ộ ọ ế
PHP là ngôn ng script đữ ượ ạc t o cho các giao ti p phía server Do đó,ế
nó có th x lý các giao ti p phía server nh thu th p d li u, bi u m u,ể ử ế ư ậ ữ ệ ể ẫ
qu n lý file trên server, s a đ i c s d li u và nhi u h n.ả ử ổ ơ ở ữ ệ ề ơ
Ngôn ng này ban đ u đữ ầ ượ ạc t o ra b i Lerdorf đ theo dõi khách truyở ể
c p vào trang ch cá nhân c a anh Khi tr nên ph bi n, Lerdorf phát hànhậ ủ ủ ở ổ ế
nó thành d án ngu n m Quy t đ nh này khuy n khích các nhà phát tri nự ồ ở ế ị ế ể
s d ng, s a ch a và c i thi n, bi n nó thành ngôn ng script s d ngử ụ ử ữ ả ệ ế ữ ử ụngày nay
Trang 16Dù PHP được coi là ngôn ng script vì m c đích chung, nh ng nóữ ụ ư
đượ ử ục s d ng r ng rãi nh t đ phát tri n web Kh năng nhúng vào fileộ ấ ể ể ảHTML là m t trong nh ng tính năng n i b t c a nó.ộ ữ ổ ậ ủ
⮚ M t s u đi m c a ngôn ng :ộ ố ư ể ủ ữ
- Đ u tiên đó là PHP đầ ượ ử ục s d ng mi n phí Là m t l i th c c l n cho aiễ ộ ợ ế ự ớ
mu n h c l p trình này Các b n có th h c và th c hành theo d ng online.ố ọ ậ ạ ể ọ ự ạKhông c n ph i lo đ n vi c chi tr s ti n l n đ h c l p trình.ầ ả ế ệ ả ố ề ớ ể ọ ậ
- Cú pháp và c u trúc c a PHP tấ ủ ương đ i d dàng N u b n mu n h c vố ễ ế ạ ố ọ ềngôn ng này, b n s không ph i m t quá nhi u th i gian đ hi u đữ ạ ẽ ả ấ ề ờ ể ể ược
Đa s các b n l p trình viên thố ạ ậ ường ng i v i c u trúc khó Là m t u đi mạ ớ ấ ộ ư ể
l n cho m i ngớ ọ ười quan tâm và yêu thích hàng đ u v ngôn ng l p trình.ầ ề ữ ậ
- S r t d ki m đẽ ấ ễ ế ược vi c làm v i m c lệ ớ ứ ương kh ng Đa s công ty thi tủ ố ế
k web hi n nay đ u có b ph n PHP Và đó là đi u không th thi u Ngoàiế ệ ề ộ ậ ề ể ế
ra còn có thêm các công ty v ph n m m Nhi u công vi c l n khác nhau,ề ầ ề ề ệ ớcũng nh nhi u công ty khác nhau s mang l i cho b n thu nh p đáng k ư ề ẽ ạ ạ ậ ể
- Không ch v i hi n t i mà trong tỉ ớ ệ ạ ương lai ngôn ng l p trình này s cònữ ậ ẽphát tri n m nh m h n n a đ kh ng đ nh v trí c a mình luôn là cao nh tể ạ ẽ ơ ữ ể ẳ ị ị ủ ấtrong các b ng kh o sát ngôn ng l p trình.ả ả ữ ậ
- Hướng đ i tố ượng: M i th trong PHP đ u là họ ứ ề ướng đ i tố ượng L p trìnhậ
hướng đ i tố ượng (OOP) giúp gi i quy t nh ng v n đ ph c t p m t cáchả ế ữ ấ ề ứ ạ ộ
tr c quan V i OOP, b n có th phân chia nh ng v n đ ph c t p thànhự ớ ạ ể ữ ấ ề ứ ạ
nh ng t p nh h n b ng cách t o ra các đ i tữ ậ ỏ ơ ằ ạ ố ượng
Trang 171.3.2 Ngôn ng l p trình Javascript: ữ ậ
Javascript chính là m t ngôn ng l p trình v i kh năng đem t i sộ ữ ậ ớ ả ớ ựsinh đ ng khi thi t k website Đây là d ng ngôn ng theo k ch b n, d aộ ế ế ạ ữ ị ả ựtrên chính đ i tố ượng phát tri n có s n, ho c là t đ nh nghĩa ra Chính vìể ẵ ặ ự ịtính ti n l i, hi u qu ng d ng cao mà ngôn ng l p trình này đệ ợ ệ ả ứ ụ ữ ậ ược tindùng ngày càng nhi u, ng d ng r ng rãi trong các website hi u qu ề ứ ụ ộ ệ ả
Vi c s d ng ngôn ng JS có th ng d ng cho m i trình duy t khácệ ử ụ ữ ể ứ ụ ọ ệnhau, hi n đệ ượ ử ục s d ng ph bi n nh Chrome, hay Firefox,… H n n a,ổ ế ư ơ ữđây còn là ngôn ng l p trình ho t đ ng hi u qu , đữ ậ ạ ộ ệ ả ượ ỗ ợ ầc h tr đ y đ trênủcác trình duy t c a thi t b di đ ng B i th mà vi c s d ng đa d ng, cóệ ủ ế ị ộ ở ế ệ ử ụ ạ
th đáp ng t t cho nhi u nhu c u, nh ng đòi h i khác nhau c a ngể ứ ố ề ầ ữ ỏ ủ ườidùng
Nhìn chung, ngôn ng l p trình Javascript khi s d ng đữ ậ ử ụ ược đánh giá
d h c, đễ ọ ược phát tri n b i Netscape và s d ng trong h n 92% cácể ở ử ụ ơwebsite ngày nay Vi c s d ng JS có th g n trong m t element trongệ ử ụ ể ắ ộwebsite, ho c có th trong m t s ki n c a trang web ti n l i và hi u qu ặ ể ộ ự ệ ủ ệ ợ ệ ảChính vi c có th ho t đ ng nhanh, nh và mệ ể ạ ộ ẹ ượt mà,… nên ngôn ng l pữ ậtrình này càng được tin tưởng và ng d ng nhi u h n cho nhu c u c aứ ụ ề ơ ầ ủ
M c dù ra đ i mu n h n so v i các đ i th , tuy nhiên Laravel đã th tặ ờ ộ ơ ớ ố ủ ậ
s t o thành m t làn sóng l n, đự ạ ộ ớ ược đánh giá t t và s d ng r ng rãi nh tố ử ụ ộ ấ
Trang 18hi n nay Framework cho th y s tăng trệ ấ ự ưởng v s lề ố ượng sao trên Github
c a Laravel so v i các Framework khác Nh ng tính năng n i b t c aủ ớ ữ ổ ậ ủLaravel làm cho Laravel Framework khác bi t so v i các Web Frameworkệ ớkhác:
- Tính mô đun:Tính mô đun là kh năng m t thành ph n ng d ng web cóả ộ ầ ứ ụ
th tách r i và kêt h p l i Có th phân chia logic nghi p v thành các mo-ể ờ ợ ạ ể ệ ụđun khác nhau, t t c đ u ho t đ ng cùng nhau đ làm cho ng d ng webấ ả ề ạ ộ ể ứ ụ
- Tính năng Caching: Caching(b nh đ m) là m t k thu t đ l u tr dộ ớ ệ ộ ỹ ậ ể ư ữ ữ
li u trong m t v trí l u tr t m th i có th l y ra nhanh chóng khi c n.ệ ộ ị ư ữ ạ ờ ể ấ ầ
Đi u này giúp Laravel gi m th i gian x lý và tăng hi u su t r t nhi u.ề ả ờ ử ệ ấ ấ ề
- Tính năng b o m t r t t t: Laravel cung c p cách t o các ng d ng webả ậ ấ ố ấ ạ ứ ụ
an toàn L u tr t t c các m t kh u dư ữ ấ ả ậ ẩ ướ ại d ng hash, thay vì m t kh u textậ ẩ
đ n gi n Laravel cung c p b o m t đ ch ng l i các cu c t n công truyơ ả ấ ả ậ ể ố ạ ộ ấ
v n c s d li u An toàn khi x lý v i d li u mà ngấ ơ ở ữ ệ ử ớ ữ ệ ười dùng cung c p.ấ
Trang 191.3.4 Vuejs:
Vue (phiên âm /vju /, đ c gi ng nh t view) là m t frameworkː ọ ố ư ừ ộJavascript tiên ti n trong xây d ng giao di n ngế ự ệ ười dùng, không gi ng nhố ưcác framework khác, Vue được xây d ng t nh ng dòng code c b n nh tự ừ ữ ơ ả ấ
nh m t i u t c đ Th vi n c a Vue ch t p trung vào l p hi n th , r tằ ố ư ố ộ ư ệ ủ ỉ ậ ớ ể ị ấ
1.3.5 Pusher:
Pusher là m t d ch v cloud, t o ra m t server trung gian giúp chúngộ ị ụ ạ ộ
ta có th x lý các tác v th i gian th c D li u để ử ụ ờ ự ữ ệ ược g i t i pusher, vàử ớpusher l i g i nó đi t i các client đã subscribe (đăng ký) và các channel.ạ ử ớTrong đó Pusher Channel cung c p giao ti p th i gian th c gi a các máyấ ế ờ ự ữ
ch , ng d ng và thi t b Các kênh đủ ứ ụ ế ị ượ ử ục s d ng cho các bi u đ th iể ồ ờgian th c, danh sách ngự ười dùng th i gian th c, b n đ th i gian th c, ch iờ ự ả ồ ờ ự ơtrò ch i nhi u ngơ ề ười ch i và nhi u lo i c p nh t giao di n ngơ ề ạ ậ ậ ệ ười dùngkhác Nó có m t th vi n h tr m i th nh trình duy t web, ng d ngộ ư ệ ỗ ợ ọ ứ ư ệ ứ ụiOS và Android, khung PHP, ch c năng đám mây, t p l nh bash, thi t b IoT.ứ ậ ệ ế ịPusher Channel ho t đ ng m i n i vì nó s d ng WebSockets và HTTPạ ộ ở ọ ơ ử ụ
và cung c p d phòng cho các thi t b không h tr WebSockets.ấ ự ế ị ỗ ợ
Trang 201.3.6 C s d li u MySQL ơ ở ữ ệ
MySQL là m t h th ng qu n tr c s d li u mã ngu n mộ ệ ố ả ị ơ ở ữ ệ ồ ở(Relational Database Management System, vi t t t là RDBMS) ho t đ ngế ắ ạ ộtheo mô hình client-server MySQL là m t trong s các ph n m m c aộ ố ầ ề ủRDBMS, nh ng thư ường được cho là m t vì đ quá ph bi n c a nó.ộ ộ ổ ế ủ
Hình 1.2 Mô hình ho t đ ng c a MySQLạ ộ ủ
Trang 21● Linh ho t và d dùng: Có th s a source code đ đáp ng nhu c u sạ ễ ể ử ể ứ ầ ử
d ng mà không ph i thanh toán thêm chí phí nào, quá trình cài đ tụ ả ặcũng đ n gi n.ơ ả
● Hi u năng cao: B t k l u tr d li u l n c a các trang thệ ấ ể ư ữ ữ ệ ớ ủ ương m iạ
đi n t ho c nh ng ho t đ ng kinh doanh l n liên quan đ n côngệ ử ặ ữ ạ ộ ớ ếngh thông tin, MySQL cũng có th đáp ng.ệ ể ứ
Trang 22CH ƯƠ NG 2: PHÂN TÍCH THI T K H TH NG Ế Ế Ệ Ố2.1 Xác đ nh các tác nhân: ị
● Theo dõi (h y theo dõi) ngủ ười dùng
● Tham gia (h y tham gia) c ng đ ngủ ộ ồ
Trang 23Sau đây là b ng tác nhân c th :ả ụ ể
➔ Theo dõi (h y theo dõi) ngủ ười dùng
➔ Tham gia (h y tham gia) c ng đ ngủ ộ ồ
Qu n tr nhómả ị ➔ Xem, xóa thành viên
➔ Xóa bài vi t c a thành viên đăng trong nhómế ủ
➔ Xóa nhóm
➔ Ch nh s a nhómỉ ử
Trang 242.2 S đ Use Case T ng quát: ơ ồ ổ
Trang 262.3.2 Gói thành viên:
● Case bài vi t:ế
● Case tìm ki m:ế
Trang 27● Case bình lu n:ậ
● Case yêu thích bài vi t, bình lu n:ế ậ
Trang 28● Case nh n tin:ắ
● Case ch nh s a tài kho n:ỉ ử ả
Trang 29● Case theo dõi người dùng
● Case t o nhómạ
Trang 302.3.2 Gói qu n tr viên nhóm: ả ị
● Case qu n lý danh sách thành viênả
● Case cài đ t nhómặ
Trang 31● Case xóa bài vi t c a thành viênế ủ
Trang 32● Lu ng s ki n chính cho usecase đăng nh p:ồ ự ệ ậ
1 Người dùng ch n ch c năng Login trên website.ọ ứ
2 N u ngế ười dùng ch n Login b ng Facebook thì th c hi nọ ằ ự ệ
lu ng r nhánh A1 N u không th c hi n ti pồ ẽ ế ự ệ ế
3 Website hi n th form đăng nh p.ể ị ậ
4 Người dùng nh p tài kho n và m t kh u.ậ ả ậ ẩ
5 Website ti n hành nh n và so sánh tài kho n và m t kh u v iế ậ ả ậ ẩ ớ
c s d li u, n u vi c đăng nh p thành công thì thi t l pơ ở ữ ệ ế ệ ậ ế ậphiên đăng nh p cho ngậ ười dùng, hi n th nh ng ch c năng hể ị ữ ứ ọ
đượ ử ục s d ng N u ngế ười dùng nh p sai tên, m t kh u thìậ ậ ẩchuy n sang lu ng r nhánh A2.ể ồ ẽ
● Lu ng r nhánh A1:ồ ẽ
1 Th c hi n l y thông tin ngự ệ ấ ười dùng t Facebook tr vừ ả ề
2 Ki m tra thông tin có trong Database n u không có th c hi nể ế ự ệđăng ký tài kho n m i.ả ớ
3 N u có thông tin trong Database th c hi n đăng nh p.ế ự ệ ậ
● Lu ng r nhánh A2:ồ ẽ
1 Người dùng đăng nh p không thành công.ậ
2 Website thông báo quá trình đăng nh p không thành côngậ
3 Ch n đăng nh p l i.ọ ậ ạ
4 Website yêu c u ngầ ười dùng nh p l i tên và m t kh u ậ ạ ậ ẩ
Trang 335 N u ngế ười dùng đ ng ý thì quay v bồ ề ước 2 c a lu ng s ki nủ ồ ự ệchính, n u không đ ng ý thì UC k t thúcế ồ ế
2.4.2 Đăng xu t website ấ
● Tác nhân chính: Thành viên
● Ti n đi u ki n: Thành viên đã đăng nh p thành công.ề ề ệ ậ
● H u đi u ki n: Ngậ ề ệ ười dùng thoát kh i website.ỏ
● Ti n đi u ki n: Ngề ề ệ ười dùng mu n đăng ký làm thành viên.ố
● H u đi u ki n: Ngậ ề ệ ười dùng xác nh n Emailậ
● Kích ho t: Ch n đăng ký.ạ ọ
● Lu ng s ki n chính cho usecase đăng ký tài kho n:ồ ự ệ ả
1 Người dùng ch n đăng ký.ọ
2 Người dùng nh p thông tin đăng ký.ậ
3 Sau khi đăng ký xong ch n nút xác nh n.ọ ậ
4 H th ng ki m tra thông tin c n thi t và Email trùng l p, n uệ ố ể ầ ế ặ ế
Trang 34m i.ớ
● Lu ng r nhánh A1:ồ ẽ
1 N u x y ra l i thông báo l i đ n ngế ả ỗ ỗ ế ười dùng
2 Người dùng có th th c hi n l i vi c đăng ký tài kho n sể ự ệ ạ ệ ả ẽ
th c hi n l i lu ng chính.ự ệ ạ ồ
2.4.4 T o m i bài vi t: ạ ớ ế
● Tác nhân chính: Thành viên
● Ti n đi u ki n: Thành viên đã đề ề ệ ược đăng nh pậ
● H u đi u ki n: Thông báo t o bài vi t thành công đ n ngậ ề ệ ạ ế ế ười dùng
● Kích ho t: ngạ ười dùng ch n t o bài vi tọ ạ ế
● Lu ng s ki n chính cho use case t o m i bài vi tồ ự ệ ạ ớ ế
1 Người dùng ch n trang t o bài vi tọ ạ ế
2 Người dùng đi n thông tin c n thi tề ầ ế
3 Người dùng ch n nhóm n u mu n đăng bài vi t lên nhómọ ế ố ếchuy n sang lu ng r nhánh A1.ể ồ ẽ
1 Ki m tra thông tin c n thi t bài đăngể ầ ế
2 N u đã đ y đ thông tin thì th c hi n đăng bài ế ầ ủ ự ệ
3 N u x y ra l i trong quá trình đăng bài th c hi n đăng bài th cế ả ỗ ự ệ ự
hi n lu ng r nhánh A3 N u không x y ra l i th c hi n thôngệ ồ ẽ ế ả ỗ ự ệbáo đ n qu n tr viên nhóm và thông báo đ n ngế ả ị ế ười dùng
Trang 35● Lu ng r nhánh A2:ồ ẽ
1 Khi x y ra l i do thi u thông tin c n thi t th c hi n hi n thả ỗ ế ầ ế ự ệ ể ị
l i thông báo đ n ngỗ ế ười dùng
2 Người dùng có th s a l i đ ti p t c đăng bài th c hi n l iể ử ỗ ể ế ụ ự ệ ạ
lu ng chính ho c thoát kh i đăng bài.ồ ặ ỏ
● Lu ng r nhánh A3:ồ ẽ
1 Khi x y ra l i không th đăng bài ti n hành ghi log vào hả ỗ ể ế ệ
th ng và thông báo l i không th đăng bài vi t đ n ngố ỗ ể ế ế ườidùng
2 Sau khi nh n thông báo l i ngậ ỗ ười dùng có th ti p t c đăng bàiể ế ụ
l i s th c hi n l i lu ng chính ho c thoát kh i đăng bài.ạ ẽ ự ệ ạ ồ ặ ỏ
2.4.5 Yêu thích bài vi t: ế
● Tác nhân chính: Thành viên
● Ti n đi u ki n: Thành viên đã đăng nh p vào h th ng.ề ề ệ ậ ệ ố
● H u đi u ki n: Tăng s lậ ề ệ ố ượng yêu thích bài vi t, đánh d u bài vi tế ấ ế
đã được yêu thích
● Kích ho t: Ngạ ười dùng ch n thích bài vi tọ ế
● Lu ng s ki n chính cho usecase yêu thích bài vi t:ồ ự ệ ế
1 Người dùng ch n yêu thích bài vi t.ọ ế
2 H th ng th c hi n ki m tra bài vi t này đã đệ ố ự ệ ể ế ược người dùngyêu thích trước đó ch a.ư
3 N u đã đế ược yêu thích trước đó h th ng s không th c hi nệ ố ẽ ự ệthêm và tr v k t qu bài vi t đã đả ề ế ả ế ược yêu thích N u bài vi tế ế
ch a đư ược yêu thích h th ng s đánh d u bài vi t đệ ố ẽ ấ ế ược yêuthích, th c hi n tăng s lự ệ ố ượng yêu thích và tr v bài vi t đãả ề ế
được yêu thích
Trang 362.4.6 B yêu thích bài vi t: ỏ ế
● Ti n đi u ki n: Thành viên đã đăng nh p vào h th ng.ề ề ệ ậ ệ ố
● H u đi u ki n: Gi m s lậ ề ệ ả ố ượng yêu thích bài vi t, đánh d u bài vi tế ấ ế
đã đượ ỏc b yêu thích
● Kích ho t: Ngạ ười dùng ch n b thích bài vi tọ ỏ ế
● Lu ng s ki n chính cho usecase yêu thích bài vi t:ồ ự ệ ế
1 Người dùng ch n b yêu thích bài vi t.ọ ỏ ế
2 H th ng th c hi n ki m tra bài vi t này đã đệ ố ự ệ ể ế ược người dùngyêu thích trước đó ch a.ư
3 N u đã đế ược yêu thích trước đó h th ng s không th c hi nệ ố ẽ ự ệthêm và tr v k t qu bài vi t đã đả ề ế ả ế ược yêu thích N u bài vi tế ế
ch a đư ược yêu thích h th ng s đánh d u bài vi t đệ ố ẽ ấ ế ược yêuthích, th c hi n tăng s lự ệ ố ượng yêu thích và tr v bài vi t đãả ề ế
được yêu thích
2.4.7 Bình lu n bài vi t: ậ ế
● Ti n đi u ki n: Thành viên đã đăng nh p h th ngề ề ệ ậ ệ ố
● H u đi u ki n: Thêm bình lu n vào danh sách bình lu n hi n t iậ ề ệ ậ ậ ệ ạ
● Kích ho t: Ngạ ười dùng ch n bình lu n vào bài vi tọ ậ ế
● Lu ng s ki n chính:ồ ự ệ
1 Người dùng nh p bình lu n và bình lu n vào bài vi tậ ậ ậ ế
2 Ki m tra bài vi t hi n t i có t n t i hay khôngể ế ệ ạ ồ ạ
3 N u bài vi t t n t i th c hi n thêm bình lu n N u bài vi tế ế ồ ạ ự ệ ậ ế ếkhông t n t i th c hi n lu ng r nhánh A1ồ ạ ự ệ ồ ẽ
4 Sau khi thêm bình lu n th c hi n ki m tra bài vi t hi n t iậ ự ệ ể ế ệ ạthu c bài vi t c a ngộ ế ủ ười bình lu n hay khôngậ
5 N u bài vi t không thu c ngế ế ộ ười bình lu n th c hi n g i thôngậ ự ệ ửbáo cho ch bài vi t khi có ngủ ế ười bình lu nậ
Trang 37● Lu ng s ki n r nhánh A1:ồ ự ệ ẽ
1 Th c hi n tr v thông báo l i không th thêm bình lu n vàoự ệ ả ề ỗ ể ậbài vi t không t n t i.ế ồ ạ
2.4.8 Tr l i bình lu n bài vi t: ả ờ ậ ế
● Ti n đi u ki n: Thành viên đã đăng nh p h th ngề ề ệ ậ ệ ố
● H u đi u ki n: Thêm tr l i bình lu n vào danh sách bình lu nậ ề ệ ả ờ ậ ậ
● Kích ho t: Ngạ ười dùng ch n tr l i bình lu nọ ả ờ ậ
● Lu ng s ki n chính: ồ ự ệ
1 Người dùng nh p bình lu n và ti n hành tr l i bình lu nậ ậ ế ả ờ ậ
2 Ki m tra xem bình lu n để ậ ược tr l i và bài vi t có đang t n t iả ờ ế ồ ạ
3 N u m t trong hai bình lu n và bài vi t không t n t i ti nế ộ ậ ế ồ ạ ếhành th c hi n l nh r nhánh A1.ự ệ ệ ẽ
4 N u t n t i bình lu n đế ồ ạ ậ ược tr l i và bài vi t ti n hành l uả ờ ế ế ưbình lu n tr l iậ ả ờ
5 Ki m tra bài vi t có thu c ngể ế ộ ườ ả ời tr l i bình lu n không n uậ ếkhông th c hi n thông báo đ n ch bài vi t.ự ệ ế ủ ế
6 Ki m tra bình lu n để ậ ược tr l i có đả ờ ượ ở ữc s h u b i ngở ườ ải tr
l i không N u không th c hi n thông báo đ n ch c a bìnhờ ế ự ệ ế ủ ủ
Trang 382.4.9 Xóa bài vi t: ế
● Ti n đi u ki n: Ngề ề ệ ười dùng thành viên đã đăng nh p h th ng, làậ ệ ố
ch s h u bài vi tủ ở ữ ế
● H u đi u ki n: Xóa bài vi t và bình lu n liên quan.ậ ề ệ ế ậ
● Kích ho t: Ngạ ười dùng ch n xóa bài vi t c a chính mìnhọ ế ủ
● Lu ng s ki n chính:ồ ự ệ
1 Th c hi n xóa bài vi t và các bình lu n liên quan.ự ệ ế ậ
2 Tr v thông báo đã th c hi n xóa bài vi t.ả ề ự ệ ế
3 Xóa bài vi t kh i danh sách bài vi t.ế ỏ ế
1 Người dùng đi n thông tin c n s a.ề ầ ử
2 Ki m tra thông tin để ượ ửc s a có đ y đ thông tin c n thi tầ ủ ầ ếkhông
3 N u không đ y đ s th c hi n lu ng r nhánh A1ế ầ ủ ẽ ự ệ ồ ẽ
4 Th c hi n l u thông tin bài vi tự ệ ư ế
5 N u x y ra l i trong quá trình l u bài vi t s th c hi n lu ngế ả ỗ ư ế ẽ ự ệ ồ
Trang 391 Thông báo l i cho ngỗ ười dùng
2 Tr v bài vi t cũ và thông báo l i cho ngả ề ế ỗ ười dùng
5 Tr v bình lu n m i cho ngả ề ậ ớ ười dùng
● Lu ng r nhánh A1:ồ ẽ
1 Thông báo l i cho ngỗ ười dùng
2 Cho người dùng c p nh t l i bình lu n th c hi n l i lu ngậ ậ ạ ậ ự ệ ạ ồchính
Trang 404 N u trong quá trình xóa bình lu n x y ra l i th c hi n lu ngế ậ ả ỗ ự ệ ồ
r nhánh A1ẽ
5 Tr v thông báo xóa bình lu n thành côngả ề ậ
● Lu ng r nhánh A1:ồ ẽ
1 Thông báo l i cho ngỗ ười dùng
2 Cho người dùng th c hi n xóa l i bình lu n th c hi n l iự ệ ạ ậ ự ệ ạ
lu ng chínhồ
2.4.13 Yêu thích bình lu n: ậ
● Ti n đi u ki n: Ngề ề ệ ười dùng thành viên đăng nh p h th ngậ ệ ố
● H u đi u ki n: Thêm vào danh sách yêu thích bình lu nậ ề ệ ậ
● Kích ho t: Ngạ ười dùng ch n yêu thích bình lu nọ ậ
● Lu ng s ki n chính:ồ ự ệ
1 Th c hi n thêm ngự ệ ười dùng vào danh sách yêu thích bình lu nậ
2 Ki m tra ngể ười dùng có ph i là ch s h u c a bình lu n hayả ủ ở ữ ủ ậkhông
3 N u không ph i là ch s h u s th c hi n thông báo cho chế ả ủ ở ữ ẽ ự ệ ủ
s h u bình lu n.ỡ ữ ậ
4 Tr v s lả ề ố ượng yêu thích tăng lên
2.4.14 B yêu thích bình lu n: ỏ ậ
● Ti n đi u ki n: Ngề ề ệ ười dùng thành viên đăng nh p h th ngậ ệ ố
● H u đi u ki n: S lậ ề ệ ố ượng yêu thích bình lu n m iậ ớ
● Kích ho t: Ngạ ười dùng ch n yêu thích bình lu nọ ậ
● Lu ng s ki n chính:ồ ự ệ
1 Th c hi n xóa ngự ệ ười dùng kh i danh sách yêu thích bình lu nỏ ậ
2 Tr v s lả ề ố ượng yêu thích sau khi xóa b ngỏ ười dùng