Các đối tượng quản lý Là một website review, dự kiến nội dung và dữ liệu là khá lớn, vì vậy các đối tượng quản lý sẽ được phân chia theo từng nhóm phù hợp, cụ thể: Danh mục quán coffee D
Trang 1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRUONG DAI HOC NGUYEN TAT THANH
KHOA CONG NGHE THONG TIN
NGUYEN TAT THANH
KHÓA LUẬN TÓT NGHIỆP
THIET KE VA XAY DUNG WEBSITE DANH GIÁ CAC DIA DIEM KINH DOANH CA PHE
Giang vién huéng dan : ThS BO HOANG NAM
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRUONG DAI HOC NGUYEN TAT THANH
KHOA CONG NGHE THONG TIN
NGUYEN TAT THANH
KHÓA LUẬN TÓT NGHIỆP
THIET KE VA XAY DUNG WEBSITE DANH GIÁ CAC DIA DIEM KINH DOANH CA PHE
Giảng viên hướng dẫn : Ths ĐỖ HOÀNG NAM
Trang 3LỜI MỞ ĐẦU
Ngày nay công nghệ thông tin được coi là chìa khoá của thế giới và mở ra một ký nguyên công nghệ với những phát triển nhanh chóng và mạnh mẽ Những thành tựu mà công nghệ thông tin mang lại đã và đang làm thay đổi mọi mặt của đời sống xã hội, xâm nhập vào nhiều lĩnh vực như khoa học, kỹ thuật, giáo dục và đào tao, Nó đã trở thành công cụ hỗ trợ đắc lực và không thể thiếu trong nhiều lĩnh vực hoạt động trong công tác quản lý, nghiên cứu, và đặc biệt là trong lĩnh vực giải trí
Cùng với sự phát triển và đầu tư mạnh mẽ của cá nhân, tập đoàn giờ đây những địa điểm cofee dường như đã trở thành một trong những món ăn tỉnh thần không thê thiếu với nhiều người Nhưng trên thực tế, không phải ai cũng nắm bắt hết được các địa điểm coffee phủ hợp với bản thân Bởi hiện nay các trang đánh giá tại Việt Nam còn khá ít cũng như chưa cập nhật đầy đủ thông tin như người tiêu dùng mong muốn Điều đó vô tình tạo ra bức màn ngăn cách cho việc tìm kiếm thông tin, đánh giá thông qua các kênh Internet
Do đó các website đánh giá được ra đời như là một chiếc chìa khoá mở cửa cho vấn đề nan giải ây Là một sinh viên công nghệ thông tin, nhận thức được tầm quan trọng của tin học hoá và các ứng dụng tin học trong cơ chế thị trường giải trí như hiện nay ở Việt Nam, sau một thời gian nghiên cứu và tìm hiểu em đã quyết định chọn đề tài: “Thiết kế và xây dựng website đánh giá các địa điểm kinh doanh quán cà phê” mang tên “K-GO” làm đề tài khóa luận tốt nghiệp
Đề tài là kết tinh của quá trình nghiên cứu nghiêm túc của ban than em trong suốt quá trình học tập và tiếp thu kiến thức mới, cùng sự hướng dẫn tận tình của thầy Đỗ Hoàng Nam và các tài liệu được thầy cung cấp, chia sẻ qua các kênh giao tiếp trong suốt thời gian diễn ra môn học
Rất mong nhận được sự góp ý của quý thầy cô và các bạn đề đề tài ngày cảng hoàn thiện và có thể được đưa vào sử dụng trong thực tế vào một ngày không xa
Ul
Trang 4LỜI CẢM ƠN
Trước tiên với tình cảm chân thành và sâu sắc nhất, cho phép em được bày tỏ lòng biết ơn đến thầy Đỗ Hoàng Nam, người đã giúp em trong suốt quá trình thực hiện khóa luận tốt nghiệp Em cũng xin gửi lời cảm ơn đến Ban giám hiệu trường Đại học Nguyễn Tất Thành, quý thầy cô khoa Công nghệ thông tin đã tận tâm giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý báu cho em
Khóa luận tốt nghiệp là cơ hội cho em tông hợp và hệ thống hóa lại những kiến thức đã học, đồng thời kết hợp với thực tế đề nâng cao kiến thức chuyên môn Tuy chỉ có một thời gian ngắn, nhưng thông qua đề tài, em đã được mở rộng tầm nhìn và tiếp thu rất nhiều kiến thức Từ đó em nhận thay, việc cọ sát thực tế là vô cùng quan trọng - nó giúp sinh viên xây dựng nền tảng lý thuyết được học ở trường vững chắc hơn Trong quá trình tìm hiểu và tiếp thu kiến thức, từ chỗ còn bỡ ngỡ
cho đến thiếu kinh nghiệm, em đã gặp phải rất nhiều khó khăn nhưng với sự giúp
đỡ tận tình của quý thầy cô khoa Công nghệ thông tin và sự nhiệt tình của thầy Đỗ Hoàng Nam, từ đó đã giúp em có được những kinh nghiệm quý báu đề hoàn thành
tốt đề tài khóa luận tốt nghiệp
Vì thời gian và kiến thức còn hạn hẹp nên đề tài không thé tránh khỏi những
thiếu sót, rất mong sự góp ý của Quý thầy cô và các bạn, đề em rút kinh nghiệm và hoàn thành tốt hơn Em xin chân thành cảm ơn!
Sinh viên thực hiện
(Ký tên)
Huỳnh Thiện Nhân
il
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
1 Hình thức (Bồ cục, trình bày, lỗi, các mục, hình, bảng, công thức, phụ lục, )
- Báo cáo khoá luận trình bày rõ ràng, đầy đủ các nội dung theo yêu cầu quy định chung của Khoa CNTT và giảng viên hướng dẫn
2 Nội dung (mục tiêu, phương pháp, kết quả, sao chép, các chương, tài liệu, .)
- Các chương trong báo cáo luận văn trình bày đây đủ các nội dung chỉ tiết minh hoạ cho nhiệm vụ khoá luận đã đăng ký
3 Kết luận
- Trong thời gian thực hiện khoá luận tốt nghiệp, em Nhân đang làm thực tế đự án
cho công ty TNHH §X TM Nam Thiên Long nên trong báo cáo luận văn thê hiện được những kiến thức học hỏi thực tế và em đã có kế hoạch thời gian thực hiện phù
hợp Với nhiệm vụ giảng viên hướng dẫn em Huỳnh Thiện Nhân đồng ý cho em bảo
vệ kết quả luận văn trước hội đồng khoá luận Kính mong hội đồng khoá luận tốt nghiệp tạo điều kiện cho em Nhân báo cáo
Tran trong!
TPHCM, Ngày thang nam 2023
Giáo viên hướng dẫn (Ký tên, shi rõ họ tên)
ThS D6 Hoàng Nam
Trang 6NHAN XET CUA GIANG VIEN PHAN BIEN
TPHCM, Ngày thang nam 2023
Giáo viên phản biện (Ký tên, shi rõ họ tên)
Trang 7MỤC LỤC
LỜI MỞ ĐẦU 252 21221 2212221221211 2212212222121 re ii LỜI CẢ MƠN Q2 212212 2122122222112121222121 12121222 rau iii NHẬN XÉT CUA GIẢNG VIÊN HƯỚNG DÂẪN S221 grrreg iv NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN - 5 ST 22tr rrre Vv MUC LUC ccc cccesseessesseseresseesisaretecessestestaretsessiisserinsssssierasetsesisaneenesseseen vi DANH MỤC BẢNG BIỀẾU 5 S2 T1 221211 7111121 71.11171222 errrrrye viii DANH MỤC BẢNG HÌNH - n1 S21 2221121121 121 1g x DANH MỤC CÁC TỪ VIẾT TẮTT - 211211112711 112E177121121E 11.11 1E c tre xii CHUONG 1: TONG QUAN VẺ ĐÈ TÀI - 52 21 1221221121122212212212 1e 1
1.1 Khao sat hign trang ccc L0 0201122011211 1121 11521115111 181111011 1811110111 1011 0112111122 1
1.2 Phát biêu bài toán - 52 s21 221 1122112122112112112121121121121201212101212 kg 1 1.3 Các đối tượng quản lý - 5 c1 1111111111 1111 1 1111221211211 2 1.4 Các đối tượng quản lý - 5 c1 1111111111 1111 11 1111221211211 111g 2
1.6 Bố cục để tài 5 s21 2212212211 11121111211 1221211211212 rg 3 CHƯƠNG 2: CƠ SỞ LÝ LUẬN VẺ ĐÈ TÀI NGHIÊN CỨU 5 szczszsccez 4
"1" ccccccesccceceessssscecesesssescccesessseceseesssssseseesessssesesesessseseesesesennesenenes 4 2.1.1 Định nghĩa ReactJS - 2201222011211 1 1211152115111 1211110111011 1 1111011111 àu 4
2.1.2 Các thành phần chính 22 S11 SE1E1EE1EEE11E7171E11211117111121111 010111 11111 xxe 5
2.1.3 Lot ich ma ReactJS mang lại -. - c1 22 2221112211121 1 1121115211 1811 11221111 6
"¡` ceeec cc ccccccceccececesseccesssecertesccssusecesesecssusecessssecsssesetsssecseesenenttseseesseesntteens 6 2.2.1 Định nghĩa NodeJS - 2 2 1220111211121 1 1211 1121112211 10111101112 011 1011k 6 2.2.2 Cơ chế hoạt động Q0 0102011201111 11111111111 111 1111111111111 111111111111 11 ca 7
vi
Trang 82.2.3 Ưu và nhược điểm của NodeJS S121 121111 12121211155 115115151 eg 7
VI CN (li (0)9)5xrt+IỈI 8 2.3.1 Định nghĩa MongolDB c0 2220112111121 1 1521112111211 1181118111101 111 gà 8 2.3.2 Khả năng sử dụng - cc 22101011 1121112211121 1111111011101 111 0111101110111 1k 8 2.3.3 Ưu và nhược điểm của MongoDB -sc scc E111 1111811111121 121 xe 9
CHƯƠNG 3: PHẦN TÍCH VÀ THIẾT KẺ HỆ THÓNG -2- 52222 222cc 10 3.1 Phan tích và thiết ké hé thong cecccccecsecscseesesecsessesessesessesevseseesevevseseseveees 10
3.1.1 Yéu cau chire nang va phi chite nang cccccceceseseeseseseseseesesvsesesevevsvsees 10
3.1.2 Xác định các tác nhân của hệ thống 5221 E1 2EE122121221211112111 21 Ee II
3.1.3 Xác định chức năng cho từng nhóm đối tượng 5-55 scczcszSE2222zzxez 12 3.2 Sơ đồ chức năng Mind Map - 5s 5c 21 15E12111151111111111111 111211 111cc 16 3.2.1 Sơ đồ chức năng Mind Map trang quản trị - s St ctv 2E 222121 zze2 16 3.2.2 Sơ đồ chức năng Mind Map trang người dùng 5 5s stnnnnt ca 17 3.3 Sơ đồ Use Case tông quát ác n St T1 EEE111121111211211112111111 1 11tr 18 3.4 Đặc tả chỉ tiết một số Use Case nỗi bật 2 HS 551121 218111111511 118k 19 3.4.1 Đặc tả se Case đăng nhập - - 2 220 111201111011111 1111111111111 11 e2 19 3.4.2 Đặc tả Use Case quản lý danh mục quán coffee 52 c s2 c+2<22s52 20 3.4.3 Đặc tả Use Case quản lý quán coffee - Q0 2011121111112 1111k say 21 3.4.4 Dac ta Use Case Xem / truy van thong tite ccccccccsccsescssessesessessseseeseseees 22 3.5 Mô hình hoá cơ sở dit HOU ooo eeceeeeeseccecccenscecceccceseccceseseesecececeuausaaesecesecs 24 3.5.1 Mô hình hoá cơ sở dữ liệu mức khai niém (Conceptual Data Models) 24 3.5.2 Mô hình hoá cơ sở dữ liệu mức luận lý (Logieal Data Models) 25 3.5.3 Mô hình hoá cơ sở dữ liệu mức vật lý (Physical Data Models) 27
CHƯƠNG 4: TRIẾN KHAI VÀ THỰC NGHIỆM HỆ THÓNG -5¿ 34
4.1 Triển khai cơ sở dữ liệu cho hệ thống qua MongoDB Atlas - -ss se: 34 4.2 Sử đụng NodeJS va Express dé thiét lap RESTful API - 5: sex 35
Trang 94.3 Xây dựng giao diện cho hệ thống s11 111 1E1112111121111111121111111 1121 xe 37 4.3.1 Giao diện trang đăng ký / đăng nhập 2 2 2222222121222 21212xx+2 37 4.3.2 Giao diện trang chủ c1 2011020111201 1101 1111111111111 1111111111111 111111 ca 4l 4.3.3 Giao diện trang khám phá - 5 2 22 1222111231115 11111 111111211111 1111 111 xe 43 4.3.4 Giao điện trang khuyến mãi - SE 1111181 111E1111111121 011111112111 1 re 45
4.3.5 Giao điện trang bài viẾt - c1 H1 1 H11 111212211211 re 46
4.3.6 Giao điện trang chi tiết quán coffee 2s 11111511111111111 71.11 11 1 tee 47 4.3.7 Giao diện trang cá nhân của người dùng - 2 2221122222222 49 4.3.8 Giao diện trang trò chuyện trực tuyến ¬ 50 4.3.9 Giao diện trang lưu các địa điểm yêu thích - ¿+2 2221112222112 zs+2 51 4.3.10 Giao diện trang cập nhật thông tin cá nhân - 5 5-52 225‡222<x22s52 52
4.3.11 Giao diện trang thống kê 2 S211 111111111111111111111111127 0111111121 54
4.3.12 Giao diện trang quản lý khu vực - - 5-1 1112211112111 111211112112 22 56 4.3.13 Giao dién trang quan ly danh muc quan coffee ccc ceeeeeeenees 57 4.3.14 Giao diện trang quản lý danh sách chờ duyệt quán coffee 59 4.3.15 Giao diện trang quản lý quán coffee cc cc ccc cect ceteesetsteentsseseenees 60 4.3.16 Giao dién trang quan lý đánh giá - 2 22 2222121221112 111 111112 x+2 62 4.3.17 Giao diện trang quản lý khuyến mãi 1 S111 1811811111122 1171 E1 xe2 63 4.3.18 Giao diện trang quản lý tài khoản - - - 5c 2222222111211 12212 2211222122 64 4.4 Triển khai hệ thống trên môi trường thực An 65 4.4.1 Tao server RESTFul API voi VPS Ubuntu 20.04 x 64 in eerằ 65 4.4.2 Deloy website trên môi trường thực tế voi Netlify ccc eee 67
KÉT LUẬN 5á c2 21221112121 212112E T111 Ha 70 TÀI LIỆU THAM KHẢO - 5 ST E1 1122121211121 11 1 21211121 rrrrrre 7I
vill
Trang 10DANH MỤC BẢNG BIÊU
Bảng 3-1 Chức năng dành cho khách hàng vãng laI - 5-5255 22 22222 222<sss++2 13 Bảng 3-2 Chức năng dành cho khách hàng thành viên 5 5-25-2252 22222525<s252 14 Bảng 3-3 Chức năng dành cho người quản trỊ - 2: 2 22 2221222122122 2121xss+ 15 Bảng 3-4 Đặc tả Use Case Đăng nhập - - 2L 22 222112111211 1111155111111 2111 12g22 19 Bang 3-5 Đặc tả Use Case Quan ly danh muc quan coffee - 2-2 s 252222552 21 Bang 3-6 Dac ta Use Case Quan ly quan coffee - ĐÁ 0 02 111011112122 111211 1 se 22 Bang 3-7 Dac ta Use Case Xem / truy vấn thông tin 52 S1 111111117221 111.16 23 Bảng 3-8 Bảng CSDL CoffeeShop Q0 02001020 1222011111 1111111111111 1 11H key 27 s50 si 00.70)000 in 28
Bảng 3-10 Bảng CSDL Chat 5 Q2 2012012121111 11112111 0111111111012 11 1111 11 1111111 11 1 28
s0 5020067 00.)0)08./ 4a 29
si 6IUANsr.0519)00 0ì 8n e 29 Bảng 3-13 Bảng CSIDL, DIstrICt 0 0020101201120 1112111121 11115511111 15111 1111 111k gyy 30 Bảng 3-14 Bảng CSDL Category_CoffeShop 2L 2.11120121211121 112 1111k rrsey 30 Bảng 3-15 Bảng CSDL Category_ Blog - 020102201121 1121115511 1111191 k tre 31 Bảng 3-16 Bảng CSDL, Blog - 2 0 0201121111211 121 112111101112 211 1011118112 181kg 31 Bảng 3-17 Bảng CSIDL Promo 0 02211112211 111211 1157111110111 101111191 11121 ky 32
si it: 09.19)00.(241 an 33 Bang 4-1 M6 ta chỉ tiết giao diện trang đăng ký - s n T2 Hee 38 Bảng 4-2 Mô tả chỉ tiết giao diện trang đăng nhập - S21 t2 2111115222222 ,teg 40 Bảng 4-3 Mô ta chỉ tiết giao diện trang chủ s- 2211 1111111111 11112111 1111 ru 42 Bảng 4-4 Mô tả chỉ tiết giao diện trang khám phá 5c tt 2E 121211111111 122x 44 Bảng 4-5 Mô ta chỉ tiết giao diện trang khuyến mãi 2 S2 EEE 111111125711 252cce 45
Bảng 4-6 Mô ta chỉ tiết giao diện trang bài viẾt s11 E1 121121121 1g 46
Bảng 4-7 Mô tả chỉ tiết giao diện trang chỉ tiết quán coffee + scnc ersrrrre: 48 Bảng 4-8 Mô tả chỉ tiết giao diện trang cá nhân của người dùng -cccccc se 49 Bảng 4-9 Mô tả chỉ tiết trang trò chuyện trực tuyến t1 1151111211 21 1E trre 31 Bảng 4-10 Mô tả chi tiết giao diện trang cập nhật thông tin cá nhân 53 Bang 4-11 M6 ta chi tiét giao điện thống kê 5-5 c2 1111111111171 E111 121221 ceE 55
Trang 11Mô tả chỉ tiết giao điện trang quan ly Khu VC ccc eeeeeseseeseseseeees 57
Mô tả chỉ tiết giao điện trang quản lý danh mục quán coffee - 58
Mô tả chỉ tiét giao dién trang quan ly danh sach xét duyét quan coffee 60
Mô tả chỉ tiết giao điện trang quản lý quán coffe 2s s2 2 22ze2 61
Mô tả chỉ tiết giao điện trang quản lý đánh giá 555cc c2 zxze2 62
Mô tả chỉ tiết giao điện trang quản lý khuyến mãi - 2 sccszzzzzs2 64
Mô tả chỉ tiết trang quản lý tài khoản 5 Ss 111 SE115212111 1511122221 xe 65
Trang 12DANH MỤC BẢNG HÌNH
In: 000.4 4 I0: 0200.1111111 6 Hình 2-3 MongolDB - 1120111201 11111 111111111 11111 1111111111111 111111111111 1 11111 1 tra 8 Hình 3-I Sơ đỗ chức năng Mind Map trang quản trị - 5-5 S2 E1E1221211 1112 tre 16 Hình 3-2 Sơ đồ chức năng Mind Map trang người dùng - - s1 trrrre 17 Hình 3-3 Sơ đồ Use Case tông quát của hệ thống 2-5 S1 1111E11112212121 711152 Ee 18
Hình 3-4 Mô hình hóa CSDL hệ thống mức khái niệm 2 5 2212222 2222222525 24
Hình 3-5 Mô hình tham chiếu đữ liệu DRM -¿-522:2222222221 2221222, 25
Hình 3-6 Sơ đồ CSDL logic - 5s 1111111111 111121111 11 1111121221121 1g trau 26 Hình 4-I Thiết lập CSDL hệ thống với MongoDB s5 s13 1112111111111 2xe 34
Hình 4-2 Khởi tạo thành công CSIDL, “K~Ø0Ì”” Q20 1110111101111 1111111111111 11 e2 35
Hình 4-3 Thiết lập RESTFul API voi NodeJS và ExpressJS - 5c se 35
Hinh 4-4 Cầu trúc folder S€TVeT 2-5225 221221921521122122122111112112122112121121 2 re 36 Hình 4-5 Giao diện trang đăng ký 0 1201121112111 121115211 12111 1211120118111 1u 37 Hình 4-6 Giao diện trang đăng nhập - L2 E222 2221112111121 1 1121112111111 11 112mg 39 Hình 4-7 Giao diện trang chủ - - c1 2 220122011121 11123 115111151115 211 1811118111 kh sy 4I Hình 4-8 Giao diện trang khám phá 2 22 222122011121 1123 1123111511155 11 115 x5 43 Hình 4-9 Giao điện trang khuyến mãi - 2-5111 SE11111111111E111111 11117111 rree 45
Hình 4-10 Giao điện trang bài viẾt - c1 21111 1111 11 1110111212112 ra 46
Hình 4-L1 Giao diện trang chi tiết quán coffe - 5 11T 1111111112111 1111 xe 47 Hình 4-12 Giao diện trang cá nhân của người dùng - - 5 2222222222222 s+2 49 Hình 4-13 Giao điện trang trò chuyện trực tuyẾn s- scscn t E122 121211121 xe 50 Hình 4-14 Giao điện trang lưu các địa điểm yêu thích - + s scE SE cxExExsxszcre 31 Hinh 4-15 Giao diện trang cập nhật thông tin cá nhân - -2- 72222222222 * 2523 32
Hình 4-16 Giao điện trang thống kê - 5 s11 EE 1 E1E111121111111211112111111111 xe 54
Hình 4-17 Giao diện trang quản lý khu vực - 2: 2 2221112011123 11511 1112151112 xss2 56 Hinh 4-18 Giao diện trang quản lý danh mục quán coffee - +52 c s22 222x522 57 Hình 4-19 Giao diện trang quản lý danh sách chờ duyệt quán coffee 39 Hình 4-20 Giao diện trang quản lý quan cofÏfee 2 0 2 222011111121 11 115321112 60
Trang 13Hình 4-21 Giao diện trang quản lý đánh g1ả 5 2: 22 2222121312211 11221 131152151 +2 62
Hình 4-22 Giao điện trang quản lý khuyến mãi 2 2+SS12E S311 E1 1152122711111 Ee 63
Hình 4-23 Giao diện trang quản lý tài khoản 2 2 2222122221121 132321 12231111222 64
Hình 4-24 Kết nối SSH VP - 2c 2221122211222 12211111121 erdg 66
Hình 4-25 Clone source code với S5H - c cc c1 n1 11112 111 111111111 g1 81k 1 kg 66 Hình 4-26 VPS đang khởi chạy ÁPI Q2 1020111201121 115511 1111155111111 811 1tr 67
Hình 4-27 API hoạt động tốt trên môi trường thực tế VPS - cSn S22 tre 67
Hình 4-28 Triển khai build dự án SE 21212113 5511155511 1555151111111 5E sa 68 Hình 4-29 Tải lên folder build lén NetÌIÍy 2 2C 222122211123 113231 151111511551 cs2 68 Hình 4-30 Thay đổi tên miền của website vừa tải lên 5-1 21c 212122 1t 69 Hình 4-31 Website hoạt động trên hosting NetÏIfy 0 2 S22 122 2222211 sey 69
xi
Trang 14DANH MỤC CÁC TỪ VIẾT TẮT
1 JS JavaScript
2 HTML Hypertext Markup Language
3 CSS Cascading Style Sheets
4 XML eXtensible Markup Language
5 IDE Integrated Development Environment
6 CSDL Cơ sở dữ liệu
XxIHI
Trang 15CHUONG 1: TONG QUAN VE DE TAI
1.1 Khao sat hiện trạng
Cà phê là thức uống đem lại năng lượng cho người dân của cả một thành phố sôi động Chăng biết từ đâu và từ bao giờ người dân Sài Gòn lại có thói quen uống coffee và biến nó thành thức uống không thê nào bỏ qua được Thế nhưng
xã hội ngày càng phát triển và đời sống cũng được nâng tầm ở một vị trí khác, kèm theo đó sự đòi hỏi về nhu cầu sống cũng được dần hoàn thiện từng ngày Tuy vậy không phải ai cũng có đủ thời gian hoặc kinh nghiệm đề tìm ra những
“chốn riêng” của bản thân mình Vì vậy K-GO ra đời như là một giải pháp giải quyết vấn đề nan giải ấy Được ra đời với sứ mệnh “A⁄ang đến cho bạn những
sự lựa chọn tốt nhất cho điểm hẹn coffee” K-GO la kénh tong hop va review cac quan coffee dep & Sai Gon, giúp bạn dễ dàng tìm kiếm một quán cofee nhanh chóng theo vỊ trí, nhu cầu mục đích của bản thân, tiết kiệm thời gian và đạt trải nghiệm ưng ý nhất dé chọn ra quán có vị trí, không gian, đồ uống và giá tiền phù hợp Không những vậy, K-GO còn là nơi đề kết nối, lưu trữ những khoảnh khắc trong đời sống thường nhật
1.2 Phát biếu bài toán
- _ Xây dựng K-Go với mục tiêu là một kênh tổng hợp, review các địa điểm coff&e nỗi bật trên địa bàn thành phố Hồ Chí Minh Giúp khách hàng dễ dàng tìm kiếm một quán cofee phù hợp với bản thân một cách nhanh chóng và đạt
trải nghiệm ưng ý nhất Bên cạnh đó:
+ Khả năng đọc / truy vấn với CSDL phải diễn ra nhanh chóng, có thê đáp ứng gân như ngay lập tức các yêu cầu của người dùng
+ Xây dựng website với UI /UX đơn giản nhưng không kém phần sang trọng, đồng thời thực hiện responsIve đa thiết bị
+ Website phải có đầy đủ các chức năng cần thiết của l trang đánh giá như: đăng nhập, thêm bài đánh giá, tương tác giữa các người dùng, trang quản
tri
Trang 161.3 Các đối tượng quản lý
Là một website review, dự kiến nội dung và dữ liệu là khá lớn, vì vậy các đối tượng quản lý sẽ được phân chia theo từng nhóm phù hợp, cụ thể:
Danh mục quán coffee
Danh sách các quân cofee (chờ duyệt, đang hoạt động)
Khách hàng
Người quản trị
Danh mục bài viết
Danh sách bài viết
Thông tin các khuyến mãi
Tài khoản người dùng
1.4 Các đối tượng quản lý
Trang 17Tích hợp phần mã giảm giá hằng ngày, bài viết, bài đánh giá chuyên dùng đề đánh giá các quán cofee qua đó cho ra điểm số và một số thông tin liên quan (Yêu thích, bình luận, đánh giá, chia sẻ)
Cho phép khách hàng đóng góp những địa điểm kinh doanh coffee
mới (có yêu cầu xét duyệt)
Xây dựng chức năng đăng nhập đề quản lý thông tin khách hàng và
một số thông tin như (Tên, Hình ảnh, Mức độ đóng góp )
Sử đụng maps đề thuận hiện trong quá trình theo dõi và di chuyển của khách hàng
Xây dựng trang quản trị đành cho admin đề quản lý mọi hoạt động của website
Server (Backend):
+ Thue hign REST API thong qua NodeJS va ExpressJS
Cơ sở dữ liệu của hệ thống:
+ _ Tiến hành lưu trữ CSDL véi MongoDB
Chương l1: Tổng quan về đề tài
Chương 2: Cơ sở lý luận về đề tài nghiên cứu
Chương 3: Phân tích và thiết kế hệ thống
Chương 4: Triển khai và thực nghiệm hệ thống
Trang 18CHƯƠNG 2: CƠ SỞ LÝ LUẬN VẺ ĐÈ TÀI NGHIÊN CỨU
2.1 ReactJS
2.1.1 Dinh nghia ReactJS
-_ React là một thư viện trong đó có chứa nhiều JavaScript mã nguồn mở và cha đẻ của ReactJS đó chính là một ông lớn với cải tên ai cũng biết đó chính
là Facebook Mục đích của việc tạo ra ReactJS là để tạo ra những ứng dụng website hấp dẫn với tốc độ nhanh và hiệu quả cao với những mã hóa tối thiêu Và mục đích chủ chốt của ReactJS đó chính là mỗi website khi đã sử dụng ReactJS thi phải chạy thật mượt thật nhanh và có khả năng mở rộng cao và đơn giản thực hiện
-_ Nhìn chung tất cả những tính năng hay sức mạnh của ReactJS thường xuất phát từ việc tập trung vào các phân riêng lẻ chính vì điểm này nên khi làm việc trên web thay vì nó sẽ làm việc trên toàn bộ ứng dụng của website thì ReactJS cho phép developer có chức năng phá vỡ giao diện của người dùng
từ một cách phức tạp và biến nó trở thành các phần đơn giản hơn nhiều lần
có nghĩa là render dữ liệu không chỉ được thực hiện ở vị trí sever mà còn có thể thực hiện ở vị trí Client khi sử dung ReactJS
Ke ReactuS
Hinh 2-1 ReactlS
Trang 192.1.2 Các thành phần chính
- Virtual DOM: céng nghé DOM ảo giúp tăng hiệu năng cho ứng dụng Việc chỉ node gốc mới có trạng thái và khi nó thay đổi sẽ tái cấu trúc lại toàn bộ, đồng nghĩa với việc DOM tree cũng sẽ phải thay đổi một phần, điều này sẽ ảnh hưởng đến tốc độ xử lý React JS sử dụng Virtual DOM (DOMI ảo) để cải thién van dé nay Virtual DOM la mét object Javascript, méi object chứa day du thông tin cần thiết dé tạo ra một DOM, khi đữ liệu thay đổi nó sẽ tính toán sự thay đôi giữa object và tree thật, điều này sẽ giúp tối ưu hoá việc re- render DOM tree that
- JSX: là một đạng ngôn ngữ cho phép viết các mã HTML trong Javascript Đặc điểm: Faster: Nhanh hơn JSX thực hiện tối ưu hóa trong khi biên dịch sang mã Javascript Các mã này cho thời gian thực hiện nhanh hơn nhiều so với một mã tương đương viết trực tiếp bằng Javascript Safer: an toan hon Ngược với Javascript, JSX là kiểu statically-typed, nghĩa là nó được biên dịch trước khi chạy, giống như Java, C++ Vì thế các lỗi sẽ được phát hiện ngay trong quá trình biên dịch
-_ Components: React được xây dựng xung quanh các component, chứ không dung template như các framework khac Trong React, chúng ta xây dựng trang web sử dụng những thành phần (component) nhỏ Chúng ta có thê tái
sử dụng một component ở nhiễu nơi, với các trạng thái hoặc các thuộc tính khác nhau, trong một component lại có thê chứa thành phần khác Mỗi component trong React co mét trạng thái riêng, có thé thay déi, va React sé thực hiện cập nhật component dựa trên những thay đôi của trạng thái Mọi thứ React đều là component Chúng giúp bảo trì mã code khi làm việc với các dự án lớn Một react component đơn giản chỉ cần một method render Có rất nhiều methods khả dụng khác, nhưng render là method chủ đạo
- Props va State:
+ Props: giúp cac component tuong tac với nhau, component nhan input gọi là props, và trả thuộc tính mô tả những øì component con sé render Prop la bat biến
Trang 20+ State: thé hiện trạng thái của ứng dụng, khi state thay đồi thì component đồng thời render lại đề cập nhật UI
2.1.3 Lợi ích mà ReactJS mang lại
-_ Lợi ích đầu tiên mà ReactJS đó chính là việc tạo ra cho chính bản thân nó một đom ảo, đây là nơi mà các component được tồn tại trên đó Việc tạo ra dom như vậy giúp cải thiện hiệu suất làm việc rất nhiều, khi có tính toán cần thay đôi hoặc cần cập nhật những gì lên Dom thi ReactJS déu tính toán trước
và việc còn lại chỉ là thực hiện chúng lên Dom, làm như vậy sẽ giúp cho ReactS tránh được những thao tác cần có trên một Dom mà không cần tốn thêm bất ctr chi phí nào
-_ Lợi ích thứ hai mà ReactJS đem lại đó chính là việc viết các đoạn code JS sẽ trởi nên để đàng hơn vì nó sử dụng một cú pháp đặc biệt đó chính là cú pháp JSX nghĩa là cú pháp này cho phép ta trộn được giữa code HTML và Javascript Ngoài ra ta còn có thê đem đoạn code thêm vào trong hàm render
mà không cần phải thực hiện việc nối chuỗi và đây được đánh giá là một
trong những đặc tính thú vị của ReactJS và việc chuyên đổi các đoạn HTML thành các hàm khởi động đều được thực hiện từ bộ biến đổi JSX
2.2 NodeJS
2.2.1 Định nghĩa NodeJS
NodeJS là một môi trường runtime chạy JavaScript đa nền tảng và có
mã nguồn mở, được sử dụng để chạy các ứng đụng web bên ngoài trình duyệt của client Nền tảng này được phát triển bởi Ryan Dahl vào năm 2009, được xem là một giải pháp hoàn hảo cho các ứng dụng sử dụng nhiều đữ liệu nhờ vào mô hình hướng sự kiện (event-driven) không đồng bộ
nedes
Hinh 2-2 NodeJS
Trang 212.2.3 Ưu và nhược điểm của NodeJS
- Ưu điểm:
+ IO hướng sự kiện không đồng bộ, cho phép xử lý nhiều yêu cầu đồng
thời
+ Sử dụng JavaScript - một ngôn ngữ lập trình dé học
+ Chia sẻ cùng code ở cả phía client và server
+ NPM (Node Package Manager) va module Node dang ngay cang phat trién manh mé
+ Cộng đồng hỗ trợ tích cực
+ Cho phép stream các file có kích thước lớn
- Nhược điểm:
+ Không có khả năng mở rộng, vì vậy không thể tận đụng lợi thế mô hình
đa lõi trong các phần cứng cấp server hiện nay
+ Mỗi callback sẽ đi kèm với rất nhiều callback lồng nhau khác
+ Cân có kiến thức tốt về JavaScript
+ Không phù hợp với các tác vụ đòi hỏi nhiều CPU.
Trang 222.3 MongoDB
2.3.1 Định nghĩa MongoDB
MongoDB là một database hướng tài liệu (documert), một dạng NoSQL database Vi thé, MongoDB sẽ tránh cau tric table-based của relational database dé thich ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON MongoDB sử dụng lưu trữ đữ liệu đưới dạng Document JSON nên mỗi một collection sẽ các các kích cỡ và các document khác nhau Các dữ liệu được lưu trữ trong document kiéu JSON nén truy vấn sẽ rất nhanh
) mongo DB
Hinh 2-3 MongoDB 2.3.2 Khả năng sử dụng
- Quan ly va truyén tai content — Quan ly da dang nhiéu product ctia content chỉ trong một kho lưu trữ đata cho phép thay đôi và phản hồi nhanh chóng
ma không chịu thêm phức tạp thêm từ hệ thống content
-_ Cầu trúc Mobile và Social - MongoDB cung cấp một platform có sẵn, phản
xạ nhanh, và đễ mở rộng cho phép rất nhiều khả năng đột phá, phân tích real-time, va hé tro toan cau
- Quan ly data khach hang — Tan dung kha nang query nhanh chong cho phan tich real-time trén cơ sở dữ liệu người dùng cực lớn với các mô hỉnh data phức tạp bằng các schema linh hoạt và tự động sharding cho mở rộng chiều
Trang 23+ Dữ liệu được caching (ghi đệm) lên RAM., hạn chế truy cập vào ô cứng
nên tốc độ đọc và ghi cao
Trang 24CHUONG 3: PHAN TICH VA THIET KE HE THONG
3.1 Phan tich va thiét ké hé thong
3.1.1 Yéu cau chire nang va phi chire nang
3.1.1.1 Yêu cầu chức năng
Chức năng của hệ thông có thê chia làm các nhóm chức năng chính:
- _ Nhóm chức năng đăng ký / đăng nhập
- Nhóm chức năng xem / tra cứu thông tin bao gồm:
Danh mục, danh sách các quan coffee
Danh mục, danh sách các bài viết review
Tìm kiếm thông tin quán coffee, người dùng
Theo dõi / huy theo dõi người dùng khác
Trò chuyện trực tuyến giữa những người dùng có theo dõi lẫn nhau
Xem / cập nhật thông tin cá nhân
Thông tin các mã giảm giá được cập nhật thường xuyên
Thông tin về điều khoản sử đụng, giới thiệu, liên hệ và phản hồi
- _ Nhóm chức năng quản lý thông tin bao gồm:
+ Thống kê chung vẻ hệ thông
Quản lý danh mục, danh sách các quán coffee
Quản lý danh mục, danh sách các bài viết review
Quản lý khu vực
Quan lý tài khoản, thông tin người dùng
Quan lý mã giảm giá
- - Nhóm chức năng chăm sóc quan hệ khách hàng: Tiếp nhận, xử lý các bài viết bị báo xấu (report), gửi thông báo đến user cá nhân, giải đáp thắc mắc trực tuyên
Trang 253.1.1.2 Yêu cầu phi chức năng
- _ Là những ràng buộc và điều kiện đối với các yêu cầu chức năng của hệ thống như: ràng buộc về thời gian, ràng buộc về hiệu năng, các tiêu chuân được sử dụng
- _ Những yêu cầu này ảnh hưởng đến chất lượng, khả năng sử dụng của
hệ thống và có tác động trực tiếp đến sự hài lòng của người sử dụng, do
đó, quyết định sự thành công của hệ thống Các yêu cầu phi chức năng cho hệ thống bao gồm những chức năng cơ bản, đó là:
+ Hiệu năng hoạt động: Yêu cầu về thời gian; Tài nguyên sử dụng: Công suất tối da;
Tương thích: Cùng tổn tại; Tương tác liên thông:
Tinh khả dụng: là mức độ sử dụng được và làm hải lòng người sử dụng như: Phù hợp với nhu cầu; Dễ dàng học cách sử dụng: Giao diện người sử dụng: Khả năng truy cập, khai thác;
+ Tính tin cậy: Trưởng thành; Sẵn sàng: Khả năng chịu lỗi; Khả năng phục hồi; Thời gian giữa các lần xảy ra sự cô gián đoạn hoạt động của hệ thong:
+ An toàn thông tin: Bảo mật; Toàn vẹn; Xác thực
3.1.2 Xác định các tác nhân của hệ thống
Các tác nhân chính của hệ thống có thê được xác định như sau:
+ Khách hàng vãng lai: có thê xem, tra cứu các thông tin chi tiết được hiển thị trên hệ thống, đóng góp những quán coffee mới Ngoài ra khách hàng có thê đăng ký làm thành viên của hệ thống đề có thể tiễn hành bình luận, và những chức năng cao cấp hơn
+ Thành viên: bao gồm người quản lý, những khách hàng đã tiễn hành đăng ký Sau khi đăng nhập đề trở thành thành viên, ngoài những chức năng chung của khách hàng vãng lai, khách hàng thành viên còn có thêm một số chức năng khác như:
o Viét review vé cac quan coffee hién có trên hệ thống (Chấm diém, danh gia, .)
o Luu cac dia diém yéu thich vé tai khoan user
H
Trang 26© Truy cập vào trang user cá nhân đề quản lý các hoạt động của tài khoản như những bài review đã từng được thực hiện, số lượt yêu thích, review trên hệ thống cũng như thay đôi cập nhật một
số thông tin cá nhân
o C6 thé binh luận, tương tác với cac bai review
o_ Theo dõi / huỷ theo dõi đối với các người đùng khác
o Trò chuyện trực tuyến với những người đã theo đõi
+ Người quản trị: là người trực tiếp điều hành, quản lý mọi hoạt động
của hệ thống
3.1.3 Xác định chức năng cho từng nhóm đối tượng
3.1.3.1 Chức năng dành cho “Khách hàng vãng lai”
Bảng 3- Ì Chức năng dành cho khách hàng vãng lai
4 | Tìm kiếm
Người dùng nhập thông tin vào thanh tìm kiếm đề tìm kiếm quán coffke theo từ khoá gân đúng có liên quan hoặc thông qua bộ lọc
Trang 27
review
nhật liên tục các bài viết mới nhật từ người quản trị website, để mang tới cho người dùng những thông tin hữu ích trong quá trình sử dụng hệ thống
Đóng góp các địa
điểm mới Thông qua form, khách hàng có thê đóng
góp những địa điểm mới cho hệ thống Điều này cần xét đuyệt tại trang admin trước khi hiển thị ra cho trang người dùng
3.1.3.2, Chức năng dành cho “Khách hàng thành viên”
Bảng 3-2 Chức năng dành cho khách hàng thành viên
Sau khi đăng nhập, khách hàng có thê dễ
` dàng viết review thông qua form được thực
Việt review vê các | „ oo,
1 , hiện săn trên hệ thông, các bài review sẽ
quan coffee 4 oe,
được kiêm duyệt trước khi hiên thị ra cho trang khách hàng
Chức năng lưu những địa điểm yêu thích là
¬ một trong những yếu tô cần thiết của một
Lưu các địa diem
2 ¬ website review, tại đây khách hàng có thê yêu thích a „ „ ‹ ‹
kiêm soát những quán coffee mình đã từng thêm vào hoặc đồng thời xoá khỏi danh sách
Là nơi hiên thị mọi hoạt động của tài khoản Trang tài khoản khách hàng bao gồm: thông tin cá nhân, tên
3 , ,
người dùng hiện thị, các bài viết review, sô lượt tương
tác trên hệ thống
Bình luận, tương | Thông qua trang đánh giá, khách hàng có thé
4 | tác với các bài bày tỏ cảm xúc thông qua các lượt thích, đánh giá binh luận với các bài đánh giá
Theo dõi / huỷ Thông qua việc theo dõi người dùng khác,
5 ,
theo dõi người khách hàng có thê theo dõi các hoạt động
Trang 28dùng khác đánh giá của họ trên website hoặc trò chuyện
trực tuyến thông qua chức năng trò chuyện
Trò chuyện trực
tuyến
Khách hàng có thê nhắn tin hoặc nhận tin
nhắn từ những người đã theo dõi Tại đây, có thê biết trạng thái hoạt động của tài khoản theo dõi đồng thời có thé tiến hành thay đôi chủ đề trò chuyện hoặc chức năng chuyền giọng nói thành văn bản cũng như là đính kèm các biêu tượng cảm xúc
3.1.3.3 Chức năng dành cho “Người quản trị”
Bang 3-3 Chức năng dành cho người quan tri
Sau khi đăng nhập băng quyền quản trỊ,
Số admin có thê thêm, xoá, sửa, thay đôi thông Quản lý danh oo, „ „
„ tin của các danh mục, danh sách quán coffee
I | mục, danh sách „ ` „ , „ hiện có trên hệ thông Đông thời một sô cac quan coffee nn „ ; 2
thông tin cân phê duyệt trước khi được hiện thị ra FrontEnd
Sau khi đăng nhập băng quyền quản trỊ,
— admin có thê thêm, xoá, sửa, thay đôi thông Quản lý danh
, tin của các danh mục, danh sách các bài
hiện có trên hệ thông
4 | Xét duyệt các địa | Là nơi kiểm soát, hiển thị các địa điểm
Trang 29diém coffee vao
hệ thống
cofee được người dùng thêm vào hệ thông Cho phép duyệt hoặc từ chối nhiều địa điểm đồng thời Các địa điểm đang ở trạng thái chờ duyệt sẽ không được hiền thị ở trang dành cho người dùng
5 | Quan ly danh gia Cho phép người quản trị hệ thống cập nhật,
sửa, thay đôi trạng thái của các bài đánh giá
6_ | Quản lý tài khoản
Là nơi kiêm soát, quản lý các thông tin khác nhau của tài khoản khách hàng Đồng thời có thê chia sẻ quyền truy cập admin, tạm khoá
tài khoản
Quản lý thông tin
khuyến mãi
Là nơi kiểm soát, quản lý các thông tin
khuyến mãi hiện hành trên hệ thống
3.2 Sơ đồ chức năng Mind Map
3.2.1 Sơ đồ chức năng Mind Map trang quản trị
Trang 30Website dann giá các địa điềm
kinh doanh coffee (K-GO)
Quản lý thông tin
khuyên mãi
Người dùng mới, số bài đánh giá, các địa điểm
Danh mục quán coffee Danh mục bài viết
Xét duyên các địa điểm
Tao! cap nha xoa quan coffee
Danh sách cac pal viét Tao cập nhật/ xoá bài viết
Danh sách các khu vực Tạo/ cập nhật/ xoá khu vực Danh sách các bài đánh giá
Xoa, tam an bai danh gia Danh sách các thông tín khuyến mãi
Tạo/ cập nhật/ xoá khuyên mãi
Tim kiếm các thông tin hiện có trên hệ thống danh muc, quan coffee, bài viết, khuyến mãi,
đánh giá, tài khoản, khu vực
Danh sách tài khoản đang hoạt động
Cấp quyên, thay đối quyền
Khoá tài khoản tạm thời
Xoả tài khoản khỏi hệ thống
Hình 3-4 Sơ đồ chức năng Mind Map trang quản trị
Trang 313.2.2 Sơ đồ chức năng Mind Map trang người dùng
Website đánh giá các địa điểm
kinh doanh coffee (K-GO)
Đăng nhập thông qua tai khoản / google
Đăng ký tài khoản mới Dann mục quần coffee, bài viết Danh sách quan coffee, pai viet Danh sách các bài đánh giá Trang cá nhân, thông tin công khai của người dùng khác Tim kiếm các thông tin niện cỏ trên nệ thống: danh mục, quán cofee, bải viết, khuyên mãi, đánh giá tài khoản, khu vực
Loc quan coffee, bải viết theo danh mục, tử khoá, thuộc tinh
Tạo mới đánh gia cho quan coffee duoc chon
Bình luận, tương tác voi bai danh giá
Thêm người dùng khác vào đanh sách theo dõi
Theo déi các bài đánh giá, hoạt động của người dùng
Xem í câp nhật các thông tin cá nhân
Chỉnh sửa chế đô công khai dữ liêu của tài khoản
Trò chuyên với những người dùng đã theo dõi Trang thái của tài khoản đối phương (trực tuyên hoặc rời mang) Thay đồi chủ dé trò chuyện
Nhập tin nhắn bằng giọng nói
Trang 323.3 Sơ đồ Use Case tông quát
Quan ly danh mụề <<include>>
Quản lý tài khoản
Quản lý quan hệ <<include>>
Trang 333.4 Đặc tả chỉ tiết một số Use Case nỗi bật
3.4.1 Đặc tả Use Case đăng nhập
Bảng 3-4 Đặc tả Use Case Dang nhap
Mo ta Use — Case cho phép người dùng đăng nhập vào hệ
thống đề thực hiện những chức năng của mình Actor Admin, người dùng vãng lai, thành viên
Điều kiện kích hoạt Khi người dùng chọn chức năng đăng nhập từ trang
Luéng sự kiện chính 1 Hệ thống hiến thị màn hình đăng nhập
2 Người dùng nhập tên đăng nhập và mật
A1 —- Mật khẩu không hợp lệ: Khi người dùng
nhập sai tên đăng nhập hoặc mật khẩu
1 Hệ thống hiến thị lại màn hình đăng nhập để
người dùng nhập lại thông tin kèm theo thông báo tên đăng nhập và mật khâu bị sai
2 Quay lại bước 2 trong luồng sự kiện chính
Trang 343.4.2 Dac ta Use Case quan ly danh muc quan coffee
Bang 3-5 Ddc ta Use Case Quan ly danh muc quan coffee
Mô tả Use — Case cho phép xem, thêm, xoá, sửa, kiểm
duyệt thông tin danh mục quán cof&e trên hệ thống Actor Admin
Diéu kién kich hoat Khi người dùng chọn chức năng quản lý quan
coffee từ trang quản trị website dành cho Admin
2 Thêm danh mục quân coffee mới: chọn thêm
mới, hệ thông hiển thị giao diện nhập thông
tin cho danh mục, Admin nhập thông tin danh mục, nếu thành công hệ thống đưa ra thông báo, nếu sai thực hiện dòng rẽ nhánh
AI, lưu thông tin vào danh sách quán coffee
3 Sửa thông tin danh mục quán coffee: hệ thống hiển thị thong tin chi tiết của danh mục
đã chọn, nhập các thông tin cần thay đối, nêu việc thay đối thông tin thành công hệ thông
sẽ đưa ra thông báo, nếu sai thì thực hiện đòng rẽ nhánh AI, lưu thông tin
4 Xóa danh mục quán coffee: hệ thống hiển thị danh sách danh mục, chọn danh mục cần xóa, nếu việc thay đổi thông tin thành công
hệ thống sẽ đưa ra thông báo, nếu sai thì thực hiện dòng rẽ nhánh AI, lưu thông tin
5 Use case kết thúc
20
Trang 35
Luéng sự kiện phụ
A1 — Thông tin không hợp lệ:
I Hệ thống thông báo việc nhập dữ liệu không
hợp lệ
2 Nhập lại thông tin, quay lại dòng sự kiện chính
3.4.3 Đặc tả Use Case quản lý quán coffee
Bang 3-6 Déc ta Use Case Quan ly quan coffee
M6 ta Use — Case cho phép xem, thém, xoá, sửa, kiém
duyệt thông tin cac quan coffee trén hé thong Actor Admin
Diéu kién kich hoat Khi người dùng chọn chức năng quản lý quan
coffee từ trang quản trị website dành cho Admin
1 Người dùng chọn kiểu tác động: thêm, xoá,
sửa, kiểm duyệt thông tin quan coffee
2 Thêm quán cofee mới: chọn thêm mới, hệ thống hiển thị giao diện nhập thông tin cho quan coffee, Admin nhap théng tin quan coffee, nếu thành công hệ thống đưa ra thông báo, nếu sai thực hiện dong ré nhánh AT, lưu thông tin
3 Sửa thông tin quán coffee: hệ thống hiển thị danh sach quan coffee, chon quan can sửa,
nhập các thông tin cân thay đối, nêu việc
21
Trang 36
thay đổi thông tin thành công hệ thống sẽ đưa ra thông báo, nếu sai thì thực hiện dòng
rẽ nhánh A1, lưu thông tin danh sách phim
4 X6a thong tin quan coffee: hệ thống hiển thi danh sách quán, chọn quán cần xóa, nêu việc thay đổi thông tin thành công hệ thống sẽ đưa ra thông báo, nếu sai thì thực hiện dòng
rẽ nhánh A1, lưu thông tin
5 Use case kết thúc
Luong su kién phụ Al — Thong tin không hợp lệ:
3 Hệ thống thông báo việc nhập đữ liệu không
3.4.4 Đặc ta Use Case Xem / truy van thong tin
Bang 3-7 Dac ta Use Case Xem / truy van thông tin
Dac ta chi tiét
Tên Use - Case Xem / truy vấn thông tin
Mo ta Use — Case cho phép người dùng thực hiện các
thao tác tra cứu thông tin về danh mục quán coffee, bài việt, danh sách quán coffee, bài viết, các bài đánh giá, trang cá nhân — thông tin của người dùng,
Tiền điều kiện Thông tin phải tồn tại trong hệ thống
Hậu điều kiện Hệ thống đưa ra các thông tin phù hợp với nhu cầu
22
Trang 37của khách hàng
Luéng sự kiện chính I Tra cứu thông tin danh mục, danh sách quán
coffee, bai viét, các bài đánh Ø1á, người dùng: thông qua các hình thức tìm kiếm, lọc
có điều kiện
2 Tra cứu thông tin liên hệ: Thông qua các
trang liên hệ, giới thiệu, biểu mẫu phản hồi
khách hàng có thê dễ đàng tìm thấy những thông tin cần thiết về cửa hàng/ doanh nghiệp qua đó tăng tính chuyên nghiệp và sự đảm bảo trong niềm tin của khách hàng
3 Kết thúc
Luéng sự kiện phụ
A1 — Thông tin không hợp lệ:
I Dữ liệu về thông tin không tồn tại hoặc bị
Trang 383.5 Mô hình hoá cơ sở dữ liệu
3.5.1 Mô hình hoá cơ sở dữ liệu mức khái niệm (Conceptual Data Models)
Mô hình ERD được xây dựng trên nền tảng những yêu cầu về chức năng của hệ thống đã được đề cap tai muc 3.1 phan tích thiét ké hé thong thong tin
Mô hình được xây dựng như là một khởi nguyên của cơ sở đữ liệu, đồng thời thê hiện các thông tin mô tả, môi quan hệ s1ữa các thực thể
Trang 393.5.2 Mô hình hoá cơ sở dữ liệu mức luận lý (Logical Data Models)
3.5.2.1 Mô hình tham chiếu dữ liệu (DRM)
- _ Mô hình DRM cung cấp I khung mô tả chung, mối quan hệ trực quan của từng đối tượng trên CSDL hệ thông Góp phần xây đựng kiến trúc CSDL dé dang hon
Trang 403.5.2.2 Sơ đồ cơ sở dữ liệu logic
- _ Là một sơ đồ đữ liệu 2 chiều (cột và dòng) dùng đề mô tả chỉ tiết thực thê thông qua ERD đã được phân tích
- _ Mỗi cột tương ứng với l thuộc tính của thực thể, mỗi dòng chứa các giá trị dữ liệu tương ứng
+ _id: ObjectID
+ name: String
+ slug: String
+ status: Boolean + timestamps: true
+ PK: ID
<«lnterface>=
Category_Coffee Shop ton
+ _id: ObjectID + thumnail: String + slug: String
+ status: Boolean + timestamps: true
««Interface>>
BI
+ PK: _id
+ _id: ObjectID
+ categoryBlog: String
+ name: String + poster: String
+ description: String + slug: Strin
+ rating: Array + like: Array + comment: Array
+ libraryIMG: Array + slug: String + timestamps: true
+PK:ID
+ FK: idUser + FK: idPace
+ follower Array + avatar: String + isOwner: Boolean + roles: String
> timestamps: true
+ PK: _id
+ _id: ObjectID + sender: Object + receiver: Object
Hinh 3-9 So do CSDL logic
+ content: String + status: Boolean + timesiamps: true
+ PK: _id
<<intemace>> Notification
26