Dé giải quyết bài toán cho các doanh nghiệp muốn quan lý ban hàng trên cáctrang mạng xã hội, em đã lựa chọn đề tài: “Giải pháp cung cấp dịch vụ quản lý bánhàng trên mạng xã hội” làm đồ á
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN 1
ĐỎ ÁN TÓT NGHIỆP
ĐÈ TÀI:
GIẢI PHÁP CUNG CÁP DỊCH VỤ
QUAN LY BAN HÀNG TREN MẠNG XÃ HỘI
Giảng viên hướng dẫn : ThS Trịnh Thị Vân Anh Sinh viên thực hiện : Nguyễn Thế Anh
Mã sinh viên : BI7DCCN032 Lớp : DI7THTTT4
Khoá : 2017 — 2022
Hệ : Dai học chính quy
| Hà Nội, tháng 12/2021 |
hề —Ÿ——— c-c-—m am 5m
Trang 2HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN 1
ĐỎ ÁN TÓT NGHIỆP
ĐÈ TÀI:
GIẢI PHÁP CUNG CÁP DỊCH VỤ
QUAN LY BAN HÀNG TREN MẠNG XÃ HỘI
Giảng viên hướng dẫn : ThS Trịnh Thị Vân Anh Sinh viên thực hiện : Nguyễn Thế Anh
Mã sinh viên : BI7DCCN032
Lớp : DITHTTT4
Khoá : 2017 — 2022
Hệ : Đại học chính quy
Hà Nội, tháng 12/2021
Trang 3Đồ án tốt nghiệp Nhận xét của giảng viên phản biện
NHẬN XÉT ĐỎ ÁN TÓT NGHIỆP ĐẠI HỌC
CỦA GIẢNG VIÊN PHẢN BIỆN
Tên đồ án: Giải pháp cung cấp dịch vụ quản lý bán hàng trên mạng xã hội
Sinh viên thực hiện: Nguyễn Thế Anh
Lớp: DITHTTT4
Giáo viên hướng dẫn: Ths Trịnh Thị Vân Anh
NỘI DUNG NHAN XÉT:
I Nội dung báo cáo
Hà Nội, ngày tháng năm 20
GIẢNG VIÊN PHẢN BIỆN
Nguyễn Thế Anh - B17DCCN032 - DITHTTT4 3
Trang 4Đồ án tốt nghiệp Nhận xét của giảng viên hướng dẫn
NHẬN XÉT ĐỎ ÁN TÓT NGHIỆP ĐẠI HỌC
CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn: Ths Trịnh Thị Vân Anh Bộ môn: Công nghệ phần mềmTên đồ án: Giải pháp cung cấp dịch vụ quản lý bán hàng trên mạng xã hội
Sinh viên thực hiện: Nguyễn Thế Anh
Lớp: DITHTTT4
NOI DUNG NHAN XÉT:
I Noi dung bao cao
Hà Nội, ngay thang ndm 20
GIANG VIEN HUGNG DAN
Nguyễn Thế Anh — B17DCCN032 - DITHTTT4 4
Trang 5Đô án tôt nghiệp Lời cảm ơn
LƠI CAM ƠN
Với lòng kính trọng và biết ơn sâu sắc, em xin gửi lời cảm ơn chân thành đến cácthầy cô của Học viện Công nghệ Bưu chính Viễn thông, đặc biệt là các thầy, cô khoa
Công nghệ thông tin 1 đã tận tình giảng dạy và trang bị cho em những kiến thức quý
báu trong suốt quá trình học tập tại trường, tạo điều kiện thuận lợi nhất dé em hoàn thành
đô án.
Em xin trân trọng gửi lời cảm ơn đặc biệt đến cô Trịnh Thị Vân Anh đã dànhnhiều thời gian tận tình chỉ bảo, hướng dẫn và đề xuất hướng giải quyết khi em gặp khókhăn, giúp em hoàn thành đồ án đúng tiến độ
Em cũng xin được cảm ơn các anh chị khóa trên đã giúp đỡ em rât nhiêu, cảm ơn
gia đình và bạn bè đã bên cạnh quan tâm, ủng hộ trong suốt quá trình thực hiện đồ án
Dù đã cô găng nhưng do thời gian và kinh nghiệm còn hạn chê nên trong đô án chăc chăn còn nhiêu điêu thiêu sót, em mong nhận được sự góp ý cũng như chỉ bảo tận
Trang 6CHUONG 1 GIỚI THIỆU VA TONG QUAN DE TÀI
1 Phát biểu bài toán
1.4 Xây dựng sơ đồ thực thể
2 Thiết kế hệ thong
2.1 Thiết kế cơ sở dữ liệu2.2 Xây dựng biểu đồ tuần tự
CHUONG 3 CÀI ĐẶT HE THONG
1 Cac bước cài dat
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4
11 13
14 14 14
15 15 15
31 32 32 32 34
48 48
53 53
55
68 68
Trang 7Đồ án tốt nghiệp Mục lục
1.1 Môi trường khởi chạy 68
1.2 Cấu hình Facebook Developer App 681.3 Cấu hình Paypal Developer App 70
2 Chạy thử nghiệm 71
2.1 Thue nghiém qua trinh khach hang dat hang 71
2.2 Một sé giao diện chu cửa hang 74KET LUAN 79
1 Kết quả đạt được 791.1 Hệ thống 79
1.2 Bản thân 79
2 Những hạn chế 80
3 Hướng phát triển 80
TAI LIEU THAM KHAO 81
Nguyễn Thế Anh - B17DCCN032 — DI7HTTT4 7
Trang 8Đồ án tốt nghiệp Danh mục bảng
DANH MỤC BANG
Bang 0.1 Danh mục từ viết tắt - c5 s91 E1 E2E1121121121121111 1111111111111 xe 11Bang 1.1 So sánh tổng quan MongoDB va MySQL cscsscssessessessessessesseseeseeseesessesees 28Bảng 1.2 So sánh truy van giữa MongoDB và MySQL c.scessesssesssessesssesseesessseeseeees 28Bảng 2.1 Bảng mô tả các tác nhân hệ thống -2- ¿2£ ©+22x+2££+£x+2zxrzxzzrxz 32
Bang 2.3 Kịch bản khách hang theo dõi đơn hàng - 5c 5c 3+2 ++esserssrsss 35 Bảng 2.4 Kịch bản chủ cửa hàng đăng nhậtp - - 6 Ship 36 Bang 2.5 Kịch bản chủ cửa hang đăng Kký - - Án ng HH Hiệp 37 Bảng 2.6 Kịch ban chủ cửa hàng thêm cửa hàng - 5c 532 **+*++svsssersesers 38
Bang 2.7 Kịch ban chủ cửa hàng thêm sản phẩm - 2-52 22 2+E+£x+£xezzzce+z 39
Bang 2.8 Kịch ban chủ cửa hàng sửa sản phẩm 2-2 2 5S2Et2E£2E2EeExerxersez 40
Bang 2.9 Kịch bản chủ cửa hàng xóa sản phẩm - 2-52 5c sEE‡E2E2EEEeExeExereeg 40
Bang 2.11 Kịch bản chủ cửa hang xóa don hàng 5c Sc 3 c1 tsessrresrses 42
Bảng 2.12 Kịch ban chủ cửa hàng thêm chiến dịch -2- 5+ 52z+2sz2zx+zzzzzxz 42Bang 2.13 Kịch bản chủ cửa hàng sửa thông tin chiến dich - 2-5: 55522 43Bang 2.14 Kịch bản chủ cửa hàng xóa chiến dich ¿5-2 s+S++E+Ec£e£xerxzxeez 44
Bang 2.15 Kịch bản chủ cửa hàng Liên kết Facebook - - 2-2 z+s+xe£x+zszcs+z 45
Bảng 2.16 Kịch ban chủ cửa hàng Liên kết Paypal 2-52 5x22+22x2zxczxzsrez 46
Bang 2.17 Kịch bản chủ cửa hàng chỉnh sửa từ khóa đặt hàng . ‹- 47
Bảng 2.18 Bang mô tả lớp W€T G221 121112111 1111111 111 110 11011 g1 H1 ng Hy 48 Bảng 2.19 Bang mô tả lớp Shop c2 121112111111 111 1111 1111111111111 E11 E1 key 49
Bảng 2.20 Bang mô tả lớp OwnerShop - - c1 t1 vn HH H111 111 tr re 49 Bảng 2.21 Bảng mô tả lớp Product 5 2 322213321 1132112111E11EE1EE1 xe 49 Bang 2.22 Bảng mô tả lớp Campaign - - 5 2 3111351113511 EErkre 50 Bảng 2.23 Bang mô tả lớp CampaIgnPrOdUC( - 5-22 3S 3+ EEsEEsereerserrsrkrrek 50 Bảng 2.24 Bang mô tả lớp Or€T G22 221112111111 251 15 112 11111111111 11 tr re 51
Bang 2.25 Bảng mô tả đối tượng ShippingDetails 0 0 cccccceceseesesesessesteseeseeeseeeees 52
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 8
Trang 9Đồ án tốt nghiệp Danh mục hình ảnh
DANH MỤC HÌNH ẢNH
Hình 1.1 Facebook Graph API EXPÏOF€T - c2 2c 3221121131311 ekrre 16
Hình 1.2 Developer app của hệ thống ShopSocial c.scccccsccsssessessessessesssesessesseeseeees 17
Hình 1.3 Cơ chế hoạt động của Facebook Webhooks trong ShopSocial 18
Hình 1.4 AWS EC2 instance của hệ thống ShopSocial 2-2 2+5 sezxzczzcs+z 20Hình 1.5 AWS S3 của hệ thống ShopSocial -¿- 2 2 + +xeSE‡EE2E2E£EerEerxerkereee 22
Hirh 1.6 1i 2117 22
Hình 1.7 Kiến trúc của Do Ker - 2-5252 2+EE+EE£EE£EE2EE2E1271221711711211221 212122 23Hình 1.8 Kiến trúc backend của hệ thống ShopSocial - 2 2 z+s+s+£xz£z+cs+z 26Hình 1.9 Dữ liệu hệ thống ShopSocial tại Mongodb Atlas - 2-5-5 5s+csscs+2 29
Hình 1.10 Manyrepo và MOnOT€PDO c1 121111111 111 119 119111111111 11 kg re 30
Hình 1.11 Biểu đồ Nx workspace dep-graph ccsccsccessessessesseessessessessessessssssessesseeaes 31Hình 2.1 Biểu đồ use case -¿- 2-52 2E22E12212712712112112112112117171211 211.111 33
Hình 2.2 Biểu đồ usecase khách hang đặt hàng 2-2-5522 2EcrEerxerxrreee 34
Hình 2.3 Kịch bản use case khách hàng theo dõi đơn hàng - 55+ +5 +++<+ 35
Hình 2.4 Biểu đồ use case Chủ cửa hàng Đăng nhập -2- ¿22 5¿2cx+zzzsr+z36Hình 2.5 Biểu đồ use case Chủ cửa hàng đăng ký - 2 cscSt2EcEcrererxereee 37Hình 2.6 Biểu đồ use case Chủ cửa hàng thêm cửa hàng 5 s52 5+¿ 38Hình 2.7 Kịch ban use case chủ cửa hàng quản lý sản phẩm -2- 5: 525522 39
Hình 2.8 Kịch ban use case chủ cửa hang quản lý đơn hàng - - <+-+2 41
Hình 2.9 Kịch ban use case chủ cửa hang quản lý chiến dich - 2: 5+: 42Hình 2.10 Kịch ban use case chủ cửa hàng Liên kết Facebook - +: 45Hình 2.11 Biểu đồ usecase Chủ cửa hàng Liên kết Paypal 2-2 2 +52 46
Hình 2.12 Kịch ban use case Chủ cửa hàng chỉnh sửa từ khóa đặt hàng 46
Hình 2.13 Biéu đồ lớp phân tíchh - 2-2 2 +SS£EEEEE2EE2EEEEEEEEEEEEEEEE2EEEEEEEEEctrei 48
Hinh 2.14 0.0 - 54
Hình 2.15 Biéu đồ tuần tự chức năng khách hang theo dõi don hang 55Hình 2.16 Biéu đồ tuần tự chức năng khách hàng đặt hàng eee 56Hình 2.17 Biéu đồ tuần tự chức năng chủ cửa hang thêm cửa hàng 57Hình 2.18 Biéu đồ tuần tự chức năng chủ cửa hàng thêm sản phẩm - 58Hình 2.19 Biéu đồ tuần tự chức năng chủ cửa hang sửa sản phẩm - - 59
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 9
Trang 10Đồ án tốt nghiệp Danh mục hình ảnh
Hình 2.20 Biéu đồ tuần tự chức năng chủ cửa hàng xóa sản phẩm - 60
Hình 2.21 Biéu đồ tuần tự chức năng chủ cửa hàng cập nhật trạng thái đơn hang 61
Hình 2.22 Biéu đồ tuần tự chức năng chủ cửa hàng xóa đơn hàng - 62
Hình 2.23 Biéu đồ tuần tự chức năng chủ cửa hàng thêm chiến dịch - 63
Hình 2.24 Biéu đồ tuần tự chức năng chủ cửa hàng sửa thông tin chiến dịch 64
Hình 2.25 Biéu đồ tuần tự chức năng chủ cửa hàng xóa chiến địch 65
Hình 2.26 Biéu đồ tuần tự chức năng chủ cửa hàng liên kết Facebook - 66
Hình 2.27 Biéu đồ tuần tự chức năng chủ cửa hàng chỉnh sửa từ khóa đặt hàng 67
Hình 3.1 Mô hình triển khai hệ thống ShopSocial 2-22 +¿22++2x+2zx+zxzzz+z 68 Hình 3.2 Cấu hình Facebook Login - 2 + ++E£EE+EE+E£EE£EEEEEEEEEEEEEerkerkerkerree 69 Hình 3.3 Cau hình Webhooks Subscription - 2-52 2+ ++Ex+EE££Et£EtzEEzEEerxerxerxee 70 Hình 3.4 Thông tin Client ID dùng cho việc tích hợp Thanh toán Paypal 70
Hình 3.5 Giao diện khách hàng bình luận bài viết với từ khóa mua hàng 71
Hình 3.6 Giao điện khách hàng nhận tin nhắn tir fanpage 2-5 sccs+ss+¿ 71 Hình 3.7 Giao điện khách hàng chọn sản phẩm 2-2-2 5 E222 E££E££Ee£eExzEvez 72 Hình 3.8 Giao diện khách hàng nhập thông tin - 55 22c +2 *+EE+eexseseersrrses 72 Hình 3.9 Giao diện khách hàng chọn phương thức thanh toán - -«: 72
Hình 3.10 Giao diện thanh toán PaypalL - - - 2 3 13111335 E1EEE1EEErerrvre 73 Hình 3.11 Giao diện nhập thông tin đăng nhập Paypal 5 555cc sex 73 Hình 3.12 Giao diện xác nhận thanh toán Paypal - c Sc ccctsstsrreirssrrerrres 73 Hình 3.13 Giao diện đăng nhậtp - . - c2 2221151122112 112 119 1 9 111111 nh nh Hy re 74 Hình 3.14 Giao diện Onboard .- 2111111122223 11 111121533111 111999331111 key, 74 Hình 3.15 Giao điện Liên kết Facebook - ¿+ + St+E‡EvEEEE+EvEEEEEEeEerrxskrrereree 75 Hình 3.16 Giao điện xin quyền truy cập tài khoản Facebook -:2- 5:75 Hình 3.17 Giao điện Danh sách chiến dịch - ¿- 5s +Sx+EvEE+EvEE+EvEEeEeExererxererxez 76 Hình 3.18 Giao diện chi tiết chiến dịch c:¿55st2£xxtrtEktrrrrtrrrrtrrrrrrrrrrriei 76 Hình 3.19 Giao điện Danh sách sản phẩm 2-2 2 £+E£EE+EE+EE2E£EerEerxerxereee 76 Hình 3.20 Giao diện Chi tiết sản phẩm -¿- 2 5£ +S+2E2EE2EE2EEEEEEEEEEEEEEEEkerkerree 77 Hình 3.21 Giao diện Danh sách don hàng - Án HH Hiệp 78 Hinh 3.22 Giao dién Cai 0, 1n .ố 78
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 10
Trang 11Đồ án tốt nghiệp Danh mục từ viết tắt
DANH MỤC TU VIET TAT
Bang 0.1 Danh mục từ viết tắt
STT| Từ viết tắt | Tiếng Anh Tiếng Việt/Giải thích
1 AWS Amazon Web Services Hệ thống các dịch vụ điện toán
đám mây của Amazon
2 EC2 Elastic Compute Cloud Nền tảng điện toán đám mây
cung cấp bởi AWS
3 S3 Simple Storage Service Dịch vụ lưu trữ don giản được
cung cấp bởi AWS
4 IP
5 API
Internet Protocol Dia chi giao thức của Internet
Application Programming Giao diện lập trình ứng dụng Interface
Service Level Agreement Thỏa thuận mức độ dịch vu
Relational Database Service | Dịch vụ cơ sở đữ liệu quan hệ của
Amazon
p fe Uniform Resource Locator Dia chi web
HyperText Transfer Protocol | Giao thức truyền tải siêu văn bản
Secure bao mat
Simple Mail Transfer Giao thức truyền tải thư tin don
Protocol giản
12 REST Representational State Một dai diện cho sự chuyển đôi
Transfer dữ liệu
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 ll
Trang 12Đồ án tốt nghiệp Danh mục từ viết tắt
SQL NoSQL
Structured Query Language | Ngôn ngữ truy van có cau trúc
Phi SQL (Ngôn ngữ truy van phicau tric)
User Interface Giao diện người dùng
Single Page Application Tên gọi chung cho một kiểu lập
trình web, chỉ tải trang web trên
một document duy nhất
JavaScript Object Notation
Tinh nhat quan, tinh kha dung va
dung sai phan vùng
Central Processing Unit Bộ xử ly trung tâm
Trang 13Đồ án tốt nghiệp Lời mở đầu
LỜI MỞ ĐẦU
Mạng xã hội đang thực sự bùng nô, là một làn sóng lớn trên toàn cầu Sự hiện
diện của các mạng xã hội đã thay đổi rất nhiều thứ trong cuộc sống của con người Hiệnnay nó còn được coi là một phần cuộc sống, không thê thiếu của chúng ta Hàng ngày
mỗi chúng ta dành ra rất nhiều thời gian trên các trang mạng xã hội Từ người già đếntrẻ nhỏ, tất cả chúng ta đều đắm chìm trong sự thú vị mà mạng xã hội mang lại
Sự phát triển của mạng xã hội đã góp phan làm thay d6i thói quen của con người.Việc con người dành nhiều thời gian trên các trang mạng xã hội là một mảnh đất màu
mỡ dé các doanh nghiệp phát triển kinh doanh Nhu cầu mua bán của con người vốn đãrất cao, vậy nên dé tận dụng nhu cầu đó, người ta đã bắt đầu bán hàng trên các trangmạng xã hội, tạo ra nhiều nội dung thú vi dé thu hút người mua Theo như thống kê việcmua sắm trên các trang mạng xã hội đã tăng vọt trong những năm gần đây
Dé giải quyết bài toán cho các doanh nghiệp muốn quan lý ban hàng trên cáctrang mạng xã hội, em đã lựa chọn đề tài: “Giải pháp cung cấp dịch vụ quản lý bánhàng trên mạng xã hội” làm đồ án tốt nghiệp Học viện Công nghệ Bưu chính Viễnthông Nội dung sẽ được đề cập trong những chương dưới đây:
Chương 1: Giới thiệu và tổng quan đề tài
Chương 2: Phân tích và thiết kế hệ thống
Chương 3: Cài đặt
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 13
Trang 14Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
CHƯƠNG 1 GIỚI THIEU VA TONG QUAN DE TÀI
1 Phát biểu bai toán
Theo các phân tích của GlobalData’s E-Commerce Analytics, Việt Nam được
đánh giá là một trong những thị trường Thương mại điện tử phát triển nhanh nhất ởĐông Nam Á với tốc độ tăng trưởng trung bình năm khoảng 18% và được dự báo quy
mô thị trường có khả năng lên tới 26 tỷ USD vào năm 2024.
Mang xã hội đang ngày càng trở nên phổ biến được nhiều người Việt Nam sử
dụng Theo Báo cáo Digital 2020 for Vietnam của We are social và Hootsuite, lượng
người dùng mạng xã hội thường xuyên ở Việt Nam tính đến tháng 01/2020 là 65 triệungười, chiếm 67% tổng dân số, cùng với thời gian trung bình một người dùng ở Việt
Nam sử dụng mạng xã hội là 2 giờ 22 phút 89% người sử dụng Internet có tham gia
hoặc đóng góp vào mạng xã hội trong thời gian một thang gần nhất
Với số lượng người dùng đông đảo, khả năng tương tác và chia sẻ thông tin cao
như vậy, mạng xã hội đang đóng vai trò quan trọng với các hoạt động có yếu tố Thương
mại điện tử.
Từ những nội dung trên, việc giải quyết bài toán kênh hỗ trợ Thương mại điện tử
mới trên mạng xã hội trở nên cần thiết đối với những doanh nghiệp có nhu cầu phânphối các sản phẩm, dịch vụ Đề tài “Giải pháp cung cấp dịch vụ quản lý bán hàng trênmạng xã hội” là phương tiện để phục vụ quảng bá và phát triển kinh doanh với đối tượng
hướng đến là những Chủ cửa hàng, doanh nghiệp tham gia vào hệ thống
2 Mục tiêu
- _ Xây dựng một hệ thống giúp chủ cửa hàng, doanh nghiệp đưa ra được những
chiến dich hợp lý với từng loại sản phâm hướng tới từng đối tượng khách hàngriêng biệt, từ đó phân loại được tệp khách hàng tiềm năng
- Chi cửa hàng, doanh nghiệp có thé quản lý tập trung sản pham, đơn hàng, đưa ra
được những số liệu thống kê, tầm nhìn Bên cạnh đó, doanh nghiệp không cầnphải tự xây dựng, duy trì một hệ théng/website hay một ứng dụng với chi phí tốn
kém mà có thê tận dụng trực tiếp mạng xã hội
- Giảm thiểu chi phí phải thuê nhân viên trực page và lên đơn so với trước đây
- _ Khách hàng có thể trực tiếp tương tác với trang mang xã hội dé mua sắm
Nguyễn Thế Anh - B17DCCN032 — DI7HTTT4 14
Trang 15Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
3 Phạm vi đề tài
- _ Đề tài xây dung website cung cap dich vụ được thực hiện trong 3 tháng, từ tháng
10 đến thang 1/2022, trong khuôn khổ thời gian thực hiện đồ án tốt nghiệp Tronggiới hạn của dé tài, đồ án tập trung vào việc cung cấp dich vụ quản lý bán hàng
cho các chủ cửa hàng vừa và nhỏ, kinh doanh cá nhân trên mạng xã hội Facebook.
4 Đề xuất giải pháp
- _ Dựa trên việc tìm hiểu ứng dụng Novaon Social, hệ thống cũng sẽ cung cấp các
chức năng thiết yếu cho chủ cửa hàng, doanh nghiệp cũng như khách hàng sử
dụng.
- _ Hệ thống đáp ứng một số chức năng sau:
Khách hàng:
e Đặt hàng trực tiếp thông qua mạng xã hội Facebook bằng cách bình luận
vào bài đăng thuộc chiến dịch của hệ thống để nhận tin nhắn Đặt muanhững sản phẩm được bán trong chiến dịch đó
e Theo dõi đơn hàng.
e Thanh toán qua Paypal.
5 Các công nghệ và công cụ sử dung
5.1 Facebook for Developers
3.1.1 Giới thiệu
- Facebook for Developers là 1 nền tảng/công cụ được cung cấp bởi Facebook (nay
là Meta) để giúp đỡ những nhà phát triển tích hợp những dịch vụ của họ trên
Facebook.
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 15
Trang 16Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
- Facebook cung cấp Facebook Graph API, là cách chính để những nha phát triển
ứng dụng dựa trên nền tảng Facebook sử dụng đề đọc và ghi dữ liệu Nó dựa trên
HTTP dé những ứng dụng có thé sử dụng để truy van dữ liệu, đăng story, quan
lý quảng cáo, upload ảnh và những tác vụ khác,
- Facebook cung cấp Facebook Graph API Explorer là 1 công cụ giúp nhà phát
triển có thể test, tạo và xác thực các lệnh gọi API cũng như debug
Graph API Explorer
= GETw 2/ v20 | me2felds-idname | sem |
Hình 1.1 Facebook Graph API Explorer
5.1.2 Cong nghé Webhook va Webhook trong Facebook Developer
- Webhook là một tinh năng cho phép website tự động thông bao va gửi dữ liệu
thời gian thực đến các hệ thống khi có một sự kiện nào đó phát sinh (ví dụ nhưkhánh hàng đăng ký, điền form, mua hàng, hay gửi email) Webhook sẽ giúp hệthống chủ động hơn trong việc vận hành cũng như trao đổi thông tin
- Webhook trong Facebook Developer: cho phép nhận thông bao HTTP theo thời
gian thực về những thay đổi đối với các đối tượng trong Facebook Social Graph.5.1.3 Sử dụng Facebook for Developers trong hệ thông ShopSocial
- Dé có thé quan ly fanpage và tương tác với nền tảng Facebook, hệ thống
ShopSocial được phát triển tích hợp với Facebook thông qua 1 ứng dụng dành
cho nhà phát triển
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 16
Trang 17Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
© Meta for Developers % Ole |
Bnessoee = | Appi: 8520487883206 ‘App Type: Business Onep
Required Actions
ff Dashboard
$3 settings v You don't have any required action items to dlepay any of your apps need immediate attention in the future, an em will show her.
By Rotes v plication Rate Limi User Rate Limit
‘Audience Network Fundraisers Instagram Graph API
Monetize your app and g nue wth ads rom P wat the Instagram API to et
book advertiser
Read Docs Setup Read Docs Setup Read Docs Setup
Hinh 1.2 Developer app cua hé thong ShopSocial
- ShopSocial tích hop các sản pham của Facebook: Facebook Login, Webhooks
- Facebook Login: dùng dé lấy thông tin accessToken của users va những
fanpage user đó quan ly.
- Webhooks: giúp hệ thống ShopSocial nhận được đữ liệu từ phía Facebook
mỗi khi có người dùng tương tác với các fanpage mà hệ thống quản lý
- _ Cơ chế hoạt động của Facebook Webhooks trong hệ thống ShopSocial:
- Pau tiên, đưa 1 địa chi Webhooks cho Facebook Khi có khách hàng bình
luận hoặc gửi tin nhắn đến Fanpage, Facebook sẽ gửi 1 HTTP POSTrequest đến webhook của hệ thống dé xử lý
- Sau khi xử lý xong, hệ thống sẽ gửi đến GraphAPI của Facebook, từ đó
Facebook sẽ thực hiện 1 số nhiệm vụ mà hệ thống ShopSocial yêu cầu
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 17
Trang 18Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Lñ Trang này are Thế Anh lập ra dé dev 1 Người dùng bình luận
số _ từ khoá mua hàng của shop.
3 Server xử lý, gửi tin nhắn Chọn mua hàng lên
Facebook Graph API
2 Facebook gửi đến
Webhook thông tin
4 Fanpage tra Idi binh luan va hành động
Hình 1.3 Cơ chế hoạt động của Facebook Webhooks trong ShopSocial
5.2 Amazon Web Services
5.2.1 Amazon EC2
Giới thiệu
- Amazon Elastic Compute Cloud (Amazon EC2) là dịch vụ web cung cấp năng
lực điện toán bảo mật và có kích cỡ linh hoạt trên đám mây Dịch vụ này được
thiết kế dé giúp các nhà phát triển dé sử dụng điện toán dam mây ở quy mô web
- Str dụng Amazon EC2 giúp doanh nghiệp không cần phải đầu tư vào hệ thống
phần cứng Do đó, doanh nghiệp có thể phát triển và triển khai các ứng dụng
nhanh hơn.
- _ Nó cho phép sử dụng môi trường Amazon dé tính toán và kiểm soát hoàn toàn
tài nguyên máy tính của nhà phát triển Khi nhu cầu điện toán của hệ thống thayđối, nhà phát triển có thé nhanh chóng mở rộng công suất vì người dùng có thé
khởi động và tạo lập các máy chủ mới trong vài phút thông qua Amazon EC2.
Nó cũng bảo vệ dữ liệu, chống lại các sự cố ngoài ý muốn và cung cấp cho cácnhà phát triển các công cụ dé phát triển các ứng dụng có khả năng phục hồi những
sự CỐ
Thanh phan EC2
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 18
Trang 19Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Trong AWS EC2, người dùng cần phải biết về các thành phần của EC2, hệ điều
hành được hỗ trợ, biện pháp bảo mật, v.v
Hỗ trợ hệ điều hành: Amazon EC2 hỗ trợ nhiều hệ điều hành: Linux, Red Hat
Enterprise, UNIX, Windows Server,
Bảo mật: người dùng có toàn quyền kiểm soát kha năng hién thị tài khoản AWScủa họ Trong AWS EC2, các hệ thống bảo mật cho phép tạo các nhóm và đặt
các Instance đang chạy vào nó theo yêu cầu Người dùng có thé chỉ định cácnhóm mà các nhóm khác giao tiếp cũng như các nhóm có mạng con IP trênInternet có thể nói chuyện
Định giá: AWS cung cấp nhiều tùy chọn giá khác nhau, tùy thuộc vào loại tàinguyên, loại ứng dụng và cơ sở đữ liệu Nó cho phép người dùng cấu hình tài
nguyên của họ và tính toán các khoản phí tương ứng.
Khả năng chịu lỗi (Fault tolerance): Amazon EC2 cho phép người dùng truy
cập tài nguyên của nó đề thiết kế các ứng dụng chịu lỗi EC2 cũng có các vùngđịa lý và vùng cô lập được gọi là vùng có sẵn có khả năng chịu lỗi và có tính ôn
định Nó không chia sẻ vị trí chính xác của trung tâm dữ liệu vùng vì lý do bảo
mật.
Di chuyển: dịch vụ này cho phép người dùng di chuyên các ứng dụng hiện có
vào EC2.
Tinh năng của EC2
Dưới đây là danh sách một số tính năng nỗi bat của EC2:
Đáng tin cậy - Amazon EC2 cung cấp một môi trường có độ tin cậy cao, thaythế nhanh các Instance Cam kết chất lượng dịch vụ SLA (Service Level
Agreement) có sẵn 99,9% cho mỗi khu vực Amazon EC2.
Được thiết kế cho Amazon Web Services - Amazon EC2 hoạt động tốt với các
dịch vụ của Amazon như Amazon S3, Amazon RDS, Amazon DynamoDB và SQS của
Amazon Nó cung cấp một giải pháp hoàn chỉnh cho máy tính, xử lý truy vấn và lưu trữ
trên một loạt các ứng dụng.
Bảo mật - Amazon EC2 hoạt động trong Amazon đám mây riêng ảo (Virtual
Private Cloud) để cung cấp một mạng lưới an toàn và mạnh mẽ cho các tài
nguyên.
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 19
Trang 20Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
- _ Công cụ linh hoạt - Amazon EC2 cung cấp các công cụ cho các nhà phát triển
và quản trị viên hệ thong dé xây dựng các ứng dụng và cô lập nó khỏi các tìnhhuống thất bại chung
- _ Không tốn kém - Nhà phát triển chỉ phải trả tiền cho những tài nguyên sử dung
Nó có nhiều gói mua như On-Demand Instances, Reserved Instances, SpotInstances, v.v dé lựa chọn theo nhu cầu
Lý do lựa chọn EC2 trong hệ thống ShopSocial:
- Chi phí thấp, EC2 có tùy chọn bậc miễn phí 12 tháng với 750 giờ mỗi tháng
Instance state = running |X| [ Clearfilters ]
EC2 Global View ——————
Events Name Y InstancelD Instancestate v Instancetype v Status check Alarm status Availability Zone v Public
- Amazon S3 là từ viết tắt của Amazon Simple Storage Service (Dich vụ lưu trữ
đơn giản của Amazon), nó giúp lưu trữ các file trong một cau trúc thư mục và có
thé truy cập vào các file này trong môi trường web
- Amazon S3 cung cấp các API cho phép tải lên, download và quản lý quyền
(permission) đối với các file, có thể quản lý các file thông qua website quản trị
Trang 21Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Bucket: Là một container mà các objects (files) lưu trữ trong đó, bucket cho phép
lưu trữ không giới hạn số lượng obJects
Object: Là các tệp lưu trữ dữ liệu trong Bucket Amazon S3, có thé lưu trữ mọiloại dữ liệu với bất kì định dạng nào Dung lượng tối đa của mỗi bucket là 5TB
Key: Là mã định danh duy nhất tương ứng với object được lưu trữ trong mỗi
Bucket Một key có thé lên tới 1024 byte ký tự Unicode UTF-8, bao gồm daugạch chéo, dấu gạch chéo ngược, dấu chấm và dấu gạch ngang
Object URL: Vi Amazon S3 là dịch vụ lưu trữ qua mạng internet, nên mỗi object
sẽ có một địa chỉ URL duy nhất ứng với tên bucket, object và key
Ly do lựa chọn S3 trong hệ thông ShopSocial
Được sử dụng với mục đích làm nơi lưu trữ các hình ảnh của hệ thống.
Chi phí thấp, S3 có tùy chon bậc miễn phí 12 tháng với 5GB Standard, 20.000yêu cầu GET; 2.000 yêu cầu PUT, COPY, POST hoặc LIST va 100 GB đữ liệutruyền ra mỗi thang
Hoạt động tốt với EC2
Hỗ trợ mạnh mẽ, tích hợp dé dàng với backend của hệ thống (NodeJS)
Tính ổn định cao, duy trì tính sẵn sàng ở mức 99,99%,
Đơn giản, dễ dùng.
Tính mở rộng cao do thiết kế của S3 cho phép sự điều chỉnh dé dang trong dịch
vụ khi lượng truy cập vào ứng dung web tăng đột biến với lưu lượng không 16
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 21
Trang 22Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Amazon S5 x Amazon S5 > social-dev-ntheanh201
lăng social-dev-ntheanh201
Access Points
Object Lambda Access Points
Multl-Region Access Points Objects | Properties | Permissions | Metrics Management
Batch Operations
Access analyzer for S5
Objects (8)
Objects are the fundamental entities stored in Amazon S5 You can use Amazon S3 inventoi
Block Public Access settings for 4 lá
this account G 6) Copy 55 URI G6) Copy URL [4 Download (
Trang 23Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
- Nginx là một web server mạnh mẽ và sử dụng kiến trúc đơn luồng, hướng sự
kiện Nginx cũng là một máy chủ proxy ngược mã nguồn mở (open sourcereverse proxy server) sử dụng phô biến giao thức HTTP, HTTPS, SMTP,
- Nginx thường được chọn dé cân bang tải (load balancer), HTTP caching và máy
chủ web (web server) Ngày càng được ưa chuộng và có mặt trên khắp các máy
chu Linux, Nginx hiện nay được sử dụng bởi 1 - 4% tổng số lượng tên miền toànthế giới, điển hình là Facebook, Microsoft, Google, Apple,
5.3.2 Lý do lựa chọn Nginx trong hệ thống ShopSocial:
- _ Được sử dụng làm web server dé triển khai hệ thong
- Reverse proxy cho phia Backend
5.4 Docker
5.4.1 Giới thiệu
- Docker là 1 nền tang để phát triển, chia sẻ và chạy các ứng dụng dưới dạng
container có thê đóng gói phần mềm dễ dàng, deploy nhanh và không cần cài đặtcau hình rườm ra
- _ Với docker, có thể khởi tạo, deploy, copy và di chuyển các container qua lại từ
môi trường này tới môi trường khác, điều này giúp đỡ cho quá trình triển khai
production cũng như đây lên cloud
5.4.2 Kiến trúc của Docker
- Docker sử dụng kiên trúc client-server
Trang 24Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
- _ Được xây dựng trên 3 thành phan chính: Client, Docker daemon và Registry
* Client: có thé trên cùng 1 system với docker daemon hoặc khác, là cách người
dùng tương tác với docker (docker run, )
* Docker daemon: lắng nghe các Docker API requests và quan lý các Docker
objects
* Registry: dùng dé lưu trữ các docker image Docker Hub là 1 public registry,
ngoài ra có thé khởi tao private registry cho riêng minh
5.4.3 Ly do lựa chon Docker trong hệ thống ShopSocial:
- Nhe, chạy được nhiều khối lượng công việc hơn trên cùng 1 nền tảng phần cứng
- Docker hoá Backend, Frontend của hệ thong với sự nhanh chóng, nhất quán trong
việc triển khai ứng dụng Ở hệ thống ShopSocial, việc triển khai Docker giúp hệthống nhất quán giữa 2 môi trường development (local) và production bat chấp
sự khác nhau giữa môi trường local là Mac OS/Ubuntu và môi trường production
là Ubuntu
5.5 NodeJS
5.5.1 Giới thiệu
Node.js là một mã nguồn mở được xây dựng dựa trên JavaScript runtime chạy
theo hướng sự kiện bat đồng bộ, được thiết kế dé xây dựng các ứng dụng mạng
có thê mở rộng
Node.js có thé được dùng dé xây dựng các loại ứng dụng khác nhau như các ứng
dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gian thực, máy
chủ REST API Tuy nhiên, Node.js thường được dùng chủ yếu dé xây dựng các
chương trình mạng như máy chủ web, tương tự như PHP, Java hoặc ASP.NET.
5.5.2 Đặc điểm của NodeJS
NodeJS không can đợi API tra dữ liệu về, do đó mọi APIs nằm trong thư việnNodeJS đều không được đồng bộ
Đây là một Platform chứ không phải là một Framework Do đó, NodeJS cho phép
xây dựng các website một cách độc lập và nhanh chóng hơn.
Node1S có thé chạy trên đa nền tảng gồm: Window, MacOS, Linux
NodeJS được xem là một máy chủ đơn luồng và không thé hỗ trợ đa luồng
NodeJS không được xem là một ngôn ngữ lập trình, nên những người mới phải năm chắc kiên thức lập trình căn bản như: các giao thức, Javascript, mới có thê
Nguyễn Thế Anh - B17DCCN032 — DI7HTTT4 24
Trang 25Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
sử dung NodeJS Tuy nhiên, cộng đồng NodeJS thường rat lớn, sẵn sang support
cho lập trình viên mọi lúc mọi nơi.
- Phan core của NodeJS thường được biết bằng ngôn ngữ C++ nên nó hiệu năng
và tốc độ xử lý tương đối cao Nhờ vậy, hầu hết các ứng dụng NodeJS đều có khả
năng đáp ứng được thời gian thực chạy trên đa nền tảng, đa thiết bi,
5.5.3 Những ứng dụng của NodeJS trong lập trình web
- NodeJS có thé tạo, mở, đọc, ghi, xóa và đóng các tệp ngay khi đang truy cập trên
máy chủ.
- _ Xây dựng nội dung cho các trang web động.
- _ Thực hiện thu thập đữ liệu theo yêu cầu cụ thê
- _ Thực hiện truy van, sửa, xóa, thêm các dữ liệu trong các hệ quan tri cơ sở như:
Microsoft SQL Server, MySQL, MongoDB, PostgreSQL.
5.5.4 Lý do lựa chon NodeJS trong hệ thống ShopSocial
- Trong hệ thống ShopSocial, sử dụng ExpressJS là một Node.js framework
Expressjs hỗ trợ các method HTTP va middleware tạo ra API vô cùng mạnh mẽ
Trang 26Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Main
>» Interface | >» Interface |
|
i y ¥ vy ¥
SeviceA | Service B Service C
Repository A Repository B Repository C
Hình 1.8 Kiến trúc backend cua hệ thống ShopSocial
e Tang Main, Controller sẽ giao tiếp với tang Service
e Các tang Service chi giao giao tiếp với nhau qua Interface, áp dung
Dependency Inversion Principle (những thành phan trong 1 chương trình chi
nên phụ thuộc vào những cái trừu tượng).
e_ Mỗi Service chỉ phụ trách giao tiếp với chính Repository của nó
5.6 ReactJS
5.6.1 Giới thiệu
- ReactJs là một thư viện viết bang Javascript, dung dé xây dung giao diện người
dùng (UI) React được sử dụng rộng rãi va có hệ sinh thai da dạng phong phú.
- ReactJs sử dung Virtual DOM giúp cho hiệu suất tốt hơn với DOM: khi mà
Virtual DOM thay đổi, điều đặc biệt ở đây là chúng ta không cần thao tác trựctiếp trên DOM mà van có thé thấy được view và thấy được những thay đôi đó
- ReactJs là một SPA (Single Page Application), toàn bộ resource của web bao
gồm các file CSS, Javascript, layout hay cấu trúc webpage sẽ được load lần đầu
tiên khi bắt đầu duyệt website Ở những lần sau, khi chuyên trang khác, chỉ những
dữ liệu cần thiết mới cần tải xuống, việc này mang đến trải nghiệm cho ngườidùng web tốt hơn, giảm thời gian phải load lại toàn bộ trang web cồng kénh, tiết
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 26
Trang 27Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
kiệm băng thông cũng như thời gian chờ đợi Việc này hoàn toàn trải ngược với
trang web truyền thống khi toàn bộ trang web phải load lại mỗi khi chuyền trang.5.6.2 Lý do lựa chọn ReactJS trong hệ thong ShopSocial
Dễ sử dụng, cho hiệu suất tốt với một số phương pháp phát triển truyền thống
như Jquery,
Hỗ trợ Reusable Component: React cho phép sử dụng lại components đã được
phát triển thành các ứng dụng khác có cùng chức năng Tính năng tái sử dụngcomponent là một lợi thế khác biệt cho các lập trình viên
Kết nối dé dàng với Backend Nodejs của hệ thống
Hỗ trợ mạnh mẽ khi tích hợp với Facebook, Paypal.
5.7 MongoDB
5.7.1 Giới thiệu
MongoDB là một database hướng tài liệu (document), một dạng NoSQL
database Vì thế, MongoDB sẽ tránh cau trúc table-based của relational database
dé thích ứ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ữ dữ liệu dướ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 van sẽ rất nhanh
5.7.2 Đặc điểm của MongoDB
Mỗi cơ sở dữ liệu chứa các collections lần lượt chứa các documents Mỗi
document có thê khác nhau với một số trường khác nhau Kích thước và nội dungcủa mỗi document có thé khác nhau
Cấu trúc document phù hợp hơn với cách các nhà phát triển xây dựng các lớp và
đối tượng của họ băng ngôn ngữ lập trình tương ứng Document bao gồm các cặp
key - value là đơn vị dữ liệu cơ bản trong MongoDB.
Các hàng (tải liệu) không cần phải có lược đồ được xác định trước Thay vào đó,các trường có thể được tạo nhanh chóng
Khả năng mở rộng: các công ty trên toàn thế giới chạy những cluster với khoảng
hàng triệu tải liệu trong cơ sở dữ liệu
Có hiệu suât cao và tính san sang cao
5.7.3 NoSQL (MongoDB) và SOL (MySQL)
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 27
Trang 28Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Bang 1.1 So sánh tổng quan MongoDB và MySOL
Kiêu
MySQL SQL
Theo chiều doc Có thểquản lý tăng tải bằng cách
tăng CPU, RAM, SSD,
Theo chiều ngang Có thể
dễ dàng thêm một vài máy
chủ trong cơ sở hạ tầng cơ
sở dit liệu NoSQL dé xử
lý lưu lượng lớn.
Bang 1.2 So sánh truy van giữa MongoDB và MySOL
20)
INSERT INTO products(id, name,
amount) VALUES (‘001’, ‘Iphone 12’,
db.products.insert({ id: ‘001’, name:
‘Iphone 12, amount: 20})
WHERE amount> 30
UPDATE products SET name= ‘C’ đb.products.update( { amount: { $øt: 30}
5.7.4 Lý do lựa chon MongoDB trong hệ thông ShopSocial
- Hệ thống ShopSocial sử dung MongoDB Atlas (cloud database của MongoDB)
Trang 29Đô án tôt nghiệp Giới thiệu và tông quan đê tải
- Mongodb Atlas là một giải pháp phan mém Database as a Service Provider
được cung cap bởi MongoDB.
- ShopSocial hiện tai đang sử dụng gói Shared miền phí.
- Backend của ShopSocial sử dung Mongoose, là một ODM (Object Document
Mapper) Mongoose có những ưu diém:
- Cung cap các abstraction dựa trên MongoDB.
- Cho phép định nghĩa các object (đôi tượng) với một schema được định
nghĩa rõ ràng, được ánh xạ tới một MongoDB document.
6 aa SocialDevelopment vị@ Access Manager +
BB Social x @ Atlas = Realm Z3 Charts
® DEPLOYMENT SOCIALDEVELOPMENT > SOCIAL > DATABASES
Network Access social Collection Name
Advanced campaign_product campaign_product
- Nx Workspace là một bộ công cụ được thiết kế dé kiến trúc, xây dựng và quản
lý monorepos ở mọi quy mô Nó có hỗ trợ cho nhiều frontend framework như
29
Trang 30Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Angular và React cũng như các backend framework bao gồm Nest, Next và
Express.
Nx Workspace cho phép quản lý duy nhất 1 git repository cho nhiều project, làmột hệ thống thông minh, nhanh chóng và dé dang mở rộng đi kèm với nhiều
tích hợp mạnh mẽ.
5.8.2 Cac tinh nang, lợi ích của Nx
Có sẵn các tools đi kèm khi khởi tao project Ví dụ khi khởi tao 1 frontend project
sử dụng Nx, sẽ có các tools hỗ trợ tích hợp kém theo như: Jest, Cypress, ESLint,
Cung cấp Plugins va Nx CLI toàn diện, quan lý và cập nhật các packages dé dang
hơn.
Nx sử dụng Computation Caching và thực thi tác vụ dựa trên đồ thị phân tán
5.8.3 Lý do lựa chọn Nx Workspace trong hệ thống ShopSocial
Cho phép quản ly tại 1 git repository duy nhất
Chia sẻ code và packages giữa Frontend và Backend do đều được viết bằng ngôn
ngữ TypeScript.
Với việc quản lý chung sử dụng Nx, không có những đoạn mã dư thừa được sử
dụng lại ở 2 project cũng như các packages dùng chung được nhất quan 1 phiênbản cụ thể
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 30
Trang 31Đồ án tốt nghiệp Giới thiệu và tổng quan đề tài
Hình 1.11 Biểu đồ Nx workspace dep-graph
Hình trên thé hiện cách Nx biểu diễn sự phụ thuộc của các project trong hệthống ShopSocial, Backend (api) và Frontend (social) có thể dùng chung code
trong thư viện data nằm ngoài 2 project trên
6 Kết luận
Chương | đã trình bày tổng quan, mục tiêu, các công nghệ được ứng dung dé xây
dựng và phát triển của đề tài “Giải pháp cung cấp dịch vụ quan lý bán hangtrên mạng xã hội” Nội dung Chương 2 sẽ trình bày chỉ tiết về phân tích, thiết
kế hệ thống theo đề xuất giải pháp của đề tài
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 31
Trang 32Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
CHƯƠNG 2 PHAN TÍCH VÀ THIẾT KE HỆ THONG
Bảng 2.1 Bảng mô tả các tác nhân hệ thống
STT Tác nhân Mô tả
1 Khach hang Người sử dung Mạng xã hội Facebook dé đặt hang
và theo dõi đơn hàng
1.1.2 Biêu đồ use case
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 32
Trang 33Đồ án tốt nghiệp Phân tích và thiết kế hệ thong
Khách hàn.
<<Extend>>
Đặt hàng extension points
Xem chi tiết sản phẩm
Ếập nhật trang thái don hàng ' " <<Extend>> a)
Gửa thông tin chiến dich
<<Extend>>
Quản lý chiến dịc]
extension points
Thêm chiến dịch Sửa thông tin chiến dịch.
Xoá chiến dịch.
ee <<Extend>|>
Powered By Visual Paradigm Come nity ation @
Nguyễn Thế Anh - B17DCCN032 - DI7HTTT4
Hình 2.1 Biểu đồ use case
33
Trang 34Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
Tén usecase Dat hang
Tac nhan chinh Khach hang
Diéu kién - Khách hang có tài khoản Facebook
- Khách hàng đã bình luận bài đăng
thuộc chiến dịch và nhận được tin
nhắn của fanpage
Đảm bảo thành công Khách hàng đặt hàng thành công
Chuỗi sự kiện chính
1 Khách hàng nhắn vào nút Chọn san pham trong màn hình tin nhắn với fanpage
2 Hệ thống hiển thị giao diện đặt hàng với những sản phẩm thuộc chiến dich từ
bài viết trên fanpage của cửa hàng
3 Khách hàng chọn sản phẩm và chọn Đặt mua
Nguyễn Thế Anh — B17DCCN032 — DI7HTTT4 34
Trang 35Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
4 Khách hàng nhập thông tin giao hàng: Họ tên, Số điện thoại, Dia chỉ, Ghi chú
cho đơn hàng và chọn Xác nhận.
5 Khách hàng chọn Phương thức thanh toán.
5.1 Khách hàng chọn phương thức Thanh toán khi nhận hàng.
5.2 Khách hàng chọn phương thức Thanh toán qua Paypal:
5.2.1 Hệ thống hiển thị màn hình thanh toán Paypal
5.2.2 Khách hàng chọn kiểu thanh toán: qua ví Paypal hoặc Debit/Credit Card
1 Khách hàng chọn thanh toán qua ví Paypal:
1.1 Hệ thống hiển thi giao diện đăng nhập tài khoản Paypal
1.2 Khách hàng đăng nhập tài khoản Paypal.
1.3 Hệ thống hién thị nguồn tiền từ các ví trong tài khoản Paypal của khách.1.4 Khách hàng chọn nguồn tiền và thanh toán
2 Khách hang chọn thanh toán qua Debit/Credit Card:
2.1 Hệ thống hiển thị form nhập thông tin thẻ thanh toán
2.2 Khách hàng nhập thông tin và chọn Thanh toán ngay.
5.2.3 Hệ thống hiên thị màn hình Thanh toán thành công
6 Khách hang chon Hoàn thành đơn dé đặt hàng
Ngoại lệ
4.1 Khách hàng nhập không đủ thông tin
4.1.1 Hệ thống báo lỗi phải nhập đủ các trường thông tin
e Kịch bản khách hàng theo dõi đơn hàng
Ro aa
Khach hang Powered By Visual Paradigm Community Editior ©
Hình 2.3 Kịch bản use case khách hàng theo dõi đơn hàng
Bảng 2.3 Kịch bản khách hàng theo dõi đơn hàng
Tác nhân chính Khách hàng
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 35
Trang 36Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
Điều kiện Khách hàng đã đặt hàng
Đảm bảo thành công Khách hàng theo dõi được những đơn
hàng đã đặt.
Chuỗi sự kiện chính
1 Khách hàng chọn nút Theo dõi đơn hang ở tin nhắn với fanpage
2 Hệ thống hiển thị những đơn hang mà khách hàng đã đặt
1.2.2 Kịch bản các chức năng của chủ cửa hàng
e Kịch bản chu cửa hàng đăng nhập
Chủ cửa hàng
Hình 2.4 Biểu do use case Chủ cửa hàng Đăng nhập
Bảng 2.4 Kịch bản chủ cửa hàng đăng nhập
Tén usecase Dang nhap
Tac nhan chinh Chủ cửa hang
Điều kiện - Chủ cửa hàng có tài khoản
- Chủ cửa hàng chưa đăng nhập
Đảm bảo tối thiểu Chủ cửa hàng được phép đăng nhập lại
Đảm bảo thành công Chủ cửa hàng đăng nhập tài khoản thành
công
Chuỗi sự kiện chính
1 Hệ thống hién thị form đăng nhập với các trường: email, mật khẩu
2 Chủ cửa hàng nhập thông tin vào các trường và bam nút Đăng nhập
3 Hệ thống kiểm tra và hiển thị màn hình Onboard sau khi đăng nhập
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 36
Trang 37Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
Ngoại lệ
2.1 Khách hàng nhập không đủ thông tin
2.1.1 Hệ thống yêu cầu phải nhập đủ các trường thông tin
3.1 Khách hàng nhập sai thông tin
2.2.1 Hệ thống báo email hoặc mật khẩu sai
e Kịch bản chu cua hàng đăng ký
Điều kiện Chủ cửa hàng chưa đăng nhập
Đảm bảo tối thiểu Chủ cửa hàng được phép đăng ký lại
Đảm bảo thành công Chủ cửa hàng đăng ký tài khoản thành
công
Chuỗi sự kiện chính
1 Ở màn hình đăng nhập, chủ cửa hàng chon Đăng ký ngay
2 Hệ thống hiển thị form đăng ký với các trường: Email, mật khẩu, nhập lại mật
khâu
3 Chủ cửa hàng nhập thông tin vào các trường và bam nút Đăng ký
4 Hệ thống kiểm tra và lưu thông tin vào cơ sở dữ liệu và thông báo đăng ký
thành công Màn hình chuyển sang Đăng nhập
Ngoại lệ
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 37
Trang 38Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
3.1 Khách hàng nhập không đủ thông tin
3.1.1 Hệ thống yêu cầu phải nhập đủ các trường thông tin4.1 Khách hàng nhập email đã tồn tại
4.1.1 Hệ thống báo lỗi email đã tồn tại
e Kịch ban chu cua hàng thêm cửa hàng
—
Chủ cửa hàng *£red By Visual Paradigm Community Edition @
Hình 2.6 Biểu do use case Chủ cửa hàng thêm cửa hàng
Bảng 2.6 Kịch bản chủ cửa hàng thêm cửa hàng
Tác nhân chính Chủ cửa hàng
Điều kiện Chủ cửa hàng đăng nhập thành công
Đảm bảo thành công Chủ cửa hàng tạo cửa hàng thành công
Chuỗi sự kiện chính
1 Chủ cửa hàng chọn nút Tạo cửa hàng ở màn hình Onboard
2 Hệ thống hién thị giao diện thêm mới cửa hàng với trường Tên cửa hàng
3 Chủ cửa hàng nhập thông tin và bam Xác nhận
4 Hệ thống tạo cửa hàng mới
Ngoại lệ
3.1 Chủ cửa hàng bỏ trống trường tên cửa hàng3.1.1 Hệ thống yêu cầu chủ cửa hàng nhập tên cửa hàng
Nguyễn Thế Anh — B17DCCN032 — D17HTTT4 38
Trang 39Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
Điều kiện Chủ cửa hàng đăng nhập thành công
Đảm bảo thành công Chủ cửa hàng thêm sản phâm thành công
Chuỗi sự kiện chính
1 Tai giao diện Danh sách sản phẩm, chủ cửa hàng chọn Tạo sản phẩm
phẩm
3 Chủ cửa hàng nhập thông tin và bam Lưu sản phẩm
4 Hệ thống lưu sản phâm và thông báo thành công
2 Hệ thông hiên thị giao diện thêm mới sản phâm với các trường: Tên sản phâm,
Mã sản phẩm, Mô tả, Số lượng trong kho, Gia san phẩm, Giá sale, Ảnh sản
Ngoại lệ
3.1 Chủ cửa hàng không nhập đủ thông tin
3.1.1 Hệ thống báo lỗi các trường không được dé trống và yêu cầu nhập lại
Trang 40Đồ án tốt nghiệp Phân tích và thiết kế hệ thống
- — Kịch bản chủ cửa hàng sửa sản phẩm
Bảng 2.8 Kịch bản chủ cửa hàng sửa sản phẩm
Tên usecase Sửa sản phâm
Tác nhân chính Chủ cửa hàng
Điều kiện Chủ cửa hàng đăng nhập thành công
Đảm bảo thành công Chủ cửa hang sửa sản phẩm thành công
Chuỗi sự kiện chính
1 Tao giao diện Danh sách sản phẩm, chủ cửa hang chọn sản phẩm can sửa
2 Hệ thống hiển thị giao điện sửa sản phẩm với các trường: Tên sản phẩm, Mã
sản pham, Mô tả, Số lượng trong kho, Giá sản phẩm, Giá sale, Ảnh sản phẩm
3 Chủ cửa hang sửa thông tin và bam Cập nhật sản phẩm
4 Hệ thống cập nhật sản phẩm và thông báo thành công
Ngoại lệ
3.1 Chủ cửa hàng không nhập đủ thông tin, bỏ trống một số trường
3.1.1 Hệ thống báo lỗi không được đề trống và yêu cầu nhập lại
- Kịch bản chủ cửa hàng xóa sản phâm